Commit Graph

13809 Commits

Author SHA1 Message Date
Chris Lattner
6ff3f83ef0 Insertion methods now return void instead of #instrs inserted. Also, use
more powerful forms of BuildMI to concisify the code


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15782 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 22:15:56 +00:00
Chris Lattner
529377d25a Code insertion methods now return void instead of #instrs inserted
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15781 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 22:15:30 +00:00
Chris Lattner
01d0efba39 Code insertion methods now return void instead of an int.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15780 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 22:15:11 +00:00
Chris Lattner
078fee3f2e The insertion method returns void now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15779 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 22:14:31 +00:00
Chris Lattner
da34645b2b Implement a long overdue FIXME, by changing these methods to return void.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15778 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 22:14:19 +00:00
Chris Lattner
3cc03be51a Nuke ifdef'd out code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15777 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 22:03:57 +00:00
Chris Lattner
913cbd65dc Remove helper method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15776 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 22:02:36 +00:00
Chris Lattner
26eb14ba51 Stop using CreateStackObject(RegClass*)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15775 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 22:02:22 +00:00
Chris Lattner
57f1b67c34 These methods no longer take a TargetRegisterClass* operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15774 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 21:56:44 +00:00
Chris Lattner
ed6655920f Eliminate the RegisterClass argument, since it can easily be derived from
the regno


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15773 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 21:55:29 +00:00
Alkis Evlogimenos
8c9b4de574 Make this compile on gc 3.4.1 (static_cast to non-const type was not
allowed).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15766 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 09:18:55 +00:00
Reid Spencer
bf43772038 More Functionality:
- cleaned up lexical scanner
- added support for "lang.optN" configuration items
- added temporary file support (ala lib/System)
- corrected logic for deciding which phases to run
- consolidated the Action and ActionPattern classes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15765 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 08:19:46 +00:00
Reid Spencer
936f5c72e2 Initial configuration files (to be installed) for ll (LLVM Assembly) and
st (Stacker) source files. These versions for testing/review only.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15764 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 08:16:12 +00:00
Reid Spencer
439ed9036d Initial implementations of the ErrorCode and Path concepts for Linux.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15763 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 08:14:33 +00:00
Reid Spencer
d5cda87995 First version of a class to represent the notion of an operating system
path to a file or directory and some rudimentary operations on them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15762 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 08:13:01 +00:00
Reid Spencer
da5f2abcb7 First version of a class to represent operating system and lib/System
error codes in a platform independent way.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15761 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 08:12:14 +00:00
Nate Begeman
f7bb8c0caa Add future optimization opportunity
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15760 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 06:43:10 +00:00
Nate Begeman
43d64eae53 Fix float to int codepath by always allocating 8 bytes for the target of a double store; optimize cmplwi generation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15759 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 06:42:28 +00:00
Chris Lattner
08eceec98d Zimm16 is now dead. Its entry is not removed from the enum, to avoid having
to renumber everything.  Similar elimination should be applied to other
operand enum values that are only used to format printing in the .s file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15755 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 05:48:47 +00:00
Chris Lattner
0ea3171fbf Convert all of the DForm_6* operations, which makes all of the Zimm16 users
dead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15754 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 05:46:14 +00:00
Chris Lattner
fa14683381 Add i1imm
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15753 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 05:37:00 +00:00
Chris Lattner
d15575d39f Reenable the CCRC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15752 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 05:31:15 +00:00
Chris Lattner
97b2a2e389 Convert the DForm_4 over to the asmprintergen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15751 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 05:20:16 +00:00
Nate Begeman
ad9c242605 Remove dead code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15750 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 00:31:02 +00:00
Chris Lattner
7bb424fafc Print mflr using the asmwriter generator
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15749 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-14 23:27:29 +00:00
Chris Lattner
b8ce4c4118 Update to no longer take MF as an argument
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15748 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-14 22:57:22 +00:00
Chris Lattner
175580c0f3 Make the AsmWriter a first-class tblgen object. Allow targets to specify
name of the generated asmwriter class, and the name of the format string.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15747 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-14 22:50:53 +00:00
Nate Begeman
ca068e861b Replace PowerPCPEI.cpp with target independant PrologEpilogInserter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15746 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-14 22:16:36 +00:00
Nate Begeman
ffde1de597 Add support for frame pointers, and large offsets from stack and frame pointers. Adopt elimination of MachineFunction& arg from eliminateFrameIndex.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15745 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-14 22:13:58 +00:00
Misha Brukman
e749053cdf Use the `tools-only' target to avoid getting warnings about not having a CFE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15744 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-14 22:13:33 +00:00
Nate Begeman
b0b8b93e58 Add indexed forms of load doubleword and load word algebraic for 64 bit targets
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15743 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-14 22:12:20 +00:00
Nate Begeman
6d1e2dfd86 Fix handling of FP constants with single precision, and loading of internal linkage function addresses
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15742 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-14 22:11:38 +00:00
Nate Begeman
e59bf59ba5 Add initial support for using the generated asm writer. Also, fix FP constant printing to always print 8 byte intializers. Move printing of LinkOnce stubs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15741 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-14 22:09:10 +00:00
Nate Begeman
14d89d6810 Add generation of asm writer from tablegen files to Makefile
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15740 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-14 22:06:38 +00:00
Nate Begeman
f8be5e94aa Eliminate MachineFunction& argument from eliminateFrameIndex in x86 Target. Get MachineFunction from MachineInstruction's parent's parent
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15739 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-14 22:05:10 +00:00
Nate Begeman
1fa715a399 Eliminate MachineFunction& argument from eliminateFrameIndex in SparcV9 target
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15738 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-14 22:03:29 +00:00
Nate Begeman
905537852b Eliminate MachineFunction& argument from eliminateFrameIndex in Skeleton target
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15737 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-14 22:01:38 +00:00
Nate Begeman
5de0f7aa14 Elminiate MachineFunction& argument from eliminateFrameIndex
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15736 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-14 22:00:10 +00:00
Chris Lattner
77a2a9d9da Implement test/Regression/Transforms/GlobalConstifier/phi-select.llx
This allows more globals to be marked constant, particularly global arrays.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15735 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-14 20:57:17 +00:00
Chris Lattner
9a8e008751 New testcase that the constifier should handle
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15734 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-14 20:47:56 +00:00
Chris Lattner
0c3bba3d9c New basic testcase for the constifier
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15733 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-14 20:44:09 +00:00
Reid Spencer
68fb37ad67 Converted to use flex for tokenizing input so we can use an easier to
understand recursive descent parser, we can easily handle more syntax
variety, and we can more easily change the configuration items accepted.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15732 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-14 09:37:15 +00:00
Reid Spencer
a3f185577c Fix header commentary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15729 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-13 20:25:54 +00:00
Reid Spencer
5c56dc1f62 Additional functionality. This version handles option parsing and parameter
subsitution correctly for at least .ll and .st files. There's still a long
way to go (i.e. this isn't worth of review yet).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15728 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-13 20:22:43 +00:00
Reid Spencer
2594c9abbf First version of a utility internal to llvmc that handles the parsing and
construction of configuration data for compiler front ends.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15727 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-13 20:21:22 +00:00
Reid Spencer
2c8ab588d5 Added description of usage of the getPosition() option on cl::opt and
cl::list.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15726 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-13 20:19:14 +00:00
Reid Spencer
1e13fd23d3 Allow any cl::opt to use the method getPosition() to retrieve the option's
absolute position on the command line. Similarly allow any cl::list to
use the method getPosition(n) to retrieve the absolute position of the nth
option in the list. This provides support for two things: (a) options like
-l that are actually positional and their order of occurrence matters when
they are intermixed with positional arguments like "a.o"; and (b) options
like -x LANG which affect only the positional arguments that come after
the option. In both cases, knowing the absolute position of a given option
helps.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15725 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-13 19:47:30 +00:00
Nate Begeman
1c284ac5ec Remove an unneeded header and forward declaration
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15722 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-13 09:33:17 +00:00
Nate Begeman
b73a711ed7 Fix siod by switching BoolTy to byte rather than int until CFE changes for
Darwin.  Also, change asm printer to output proper stubs for external
functions whose address is passed as an argument to aid in bugpointing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15721 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-13 09:32:01 +00:00
Nate Begeman
293d88ca8b Fix 177.mesa compilation, don't use floating point regs for base addresses!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15720 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-13 04:45:14 +00:00