Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Add support for frame pointers, and large offsets from stack and frame ↵ | Nate Begeman | 2004-08-14 | 2 | -28/+72 | |
| | | | | | | pointers. Adopt elimination of MachineFunction& arg from eliminateFrameIndex. llvm-svn: 15745 | |||||
* | Add indexed forms of load doubleword and load word algebraic for 64 bit targets | Nate Begeman | 2004-08-14 | 1 | -0/+2 | |
| | | | | llvm-svn: 15743 | |||||
* | Fix handling of FP constants with single precision, and loading of internal ↵ | Nate Begeman | 2004-08-14 | 1 | -27/+27 | |
| | | | | | | linkage function addresses llvm-svn: 15742 | |||||
* | Add initial support for using the generated asm writer. Also, fix FP ↵ | Nate Begeman | 2004-08-14 | 1 | -61/+73 | |
| | | | | | | constant printing to always print 8 byte intializers. Move printing of LinkOnce stubs. llvm-svn: 15741 | |||||
* | Add generation of asm writer from tablegen files to Makefile | Nate Begeman | 2004-08-14 | 1 | -1/+6 | |
| | | | | llvm-svn: 15740 | |||||
* | Eliminate MachineFunction& argument from eliminateFrameIndex in x86 Target. ↵ | Nate Begeman | 2004-08-14 | 2 | -4/+3 | |
| | | | | | | Get MachineFunction from MachineInstruction's parent's parent llvm-svn: 15739 | |||||
* | Eliminate MachineFunction& argument from eliminateFrameIndex in SparcV9 target | Nate Begeman | 2004-08-14 | 2 | -4/+3 | |
| | | | | llvm-svn: 15738 | |||||
* | Eliminate MachineFunction& argument from eliminateFrameIndex in Skeleton target | Nate Begeman | 2004-08-14 | 2 | -4/+3 | |
| | | | | llvm-svn: 15737 | |||||
* | Elminiate MachineFunction& argument from eliminateFrameIndex | Nate Begeman | 2004-08-14 | 1 | -1/+1 | |
| | | | | llvm-svn: 15736 | |||||
* | Implement test/Regression/Transforms/GlobalConstifier/phi-select.llx | Chris Lattner | 2004-08-14 | 1 | -6/+16 | |
| | | | | | | This allows more globals to be marked constant, particularly global arrays. llvm-svn: 15735 | |||||
* | Allow any cl::opt to use the method getPosition() to retrieve the option's | Reid Spencer | 2004-08-13 | 1 | -19/+32 | |
| | | | | | | | | | | | | | 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. llvm-svn: 15725 | |||||
* | Remove an unneeded header and forward declaration | Nate Begeman | 2004-08-13 | 1 | -2/+0 | |
| | | | | llvm-svn: 15722 | |||||
* | Fix siod by switching BoolTy to byte rather than int until CFE changes for | Nate Begeman | 2004-08-13 | 2 | -27/+28 | |
| | | | | | | | Darwin. Also, change asm printer to output proper stubs for external functions whose address is passed as an argument to aid in bugpointing. llvm-svn: 15721 | |||||
* | Fix 177.mesa compilation, don't use floating point regs for base addresses! | Nate Begeman | 2004-08-13 | 1 | -1/+1 | |
| | | | | llvm-svn: 15720 | |||||
* | Fix llc crasher compiling siod by giving BuildMI the correct number of arguments | Nate Begeman | 2004-08-13 | 1 | -1/+1 | |
| | | | | llvm-svn: 15719 | |||||
* | If we are extracting a block that has multiple successors that are the same | Chris Lattner | 2004-08-13 | 1 | -2/+11 | |
| | | | | | | | | | block (common in a switch), make sure to remove extra edges in successor blocks. This fixes CodeExtractor/2004-08-12-BlockExtractPHI.ll and should be pulled into LLVM 1.3 (though the regression test need not be, as that would require pulling in the LoopExtract.cpp changes). llvm-svn: 15717 | |||||
* | When we code extract some stuff, leave the codeRepl block in the place where | Chris Lattner | 2004-08-13 | 1 | -1/+1 | |
| | | | | | | the extracted code was, instead of putting it at the end of the function llvm-svn: 15716 | |||||
* | "extract" the block extractor pass from bugpoint (haha) | Chris Lattner | 2004-08-13 | 1 | -0/+53 | |
| | | | | llvm-svn: 15714 | |||||
* | Add value mapper support for select constant exprs. This should fix a bug | Chris Lattner | 2004-08-13 | 1 | -0/+5 | |
| | | | | | | Nate ran into when bugpointing siod. This fix should go into LLVM 1.3 llvm-svn: 15712 | |||||
* | Longs are in one register on PowerPC 64; use appropriate instructions to ↵ | Nate Begeman | 2004-08-13 | 1 | -158/+22 | |
| | | | | | | operate on them. llvm-svn: 15711 | |||||
* | Add some more 64 bit instructions we need for the PowerPC-64 ISel to the ↵ | Nate Begeman | 2004-08-13 | 2 | -2/+57 | |
| | | | | | | tablegen files llvm-svn: 15710 | |||||
* | Split saveCallerSavedRegisters into two methods for clarity, and add comments. | Chris Lattner | 2004-08-12 | 1 | -9/+52 | |
| | | | | | | | | Add support for targets that must spill certain physregs at certain locations. Patch contributed by Nate Begeman, slightly hacked by me. llvm-svn: 15701 | |||||
* | Remove dead methods | Chris Lattner | 2004-08-12 | 3 | -64/+7 | |
| | | | | llvm-svn: 15698 | |||||
* | Fix warning | Chris Lattner | 2004-08-12 | 1 | -1/+1 | |
| | | | | llvm-svn: 15697 | |||||
* | Instead of a virtual method call, lets try a direct constant reference | Chris Lattner | 2004-08-12 | 3 | -7/+8 | |
| | | | | llvm-svn: 15696 | |||||
* | Virtual method calls are overrated | Chris Lattner | 2004-08-12 | 1 | -3/+3 | |
| | | | | llvm-svn: 15695 | |||||
* | Virtual method calls are overrated. | Chris Lattner | 2004-08-12 | 2 | -8/+6 | |
| | | | | llvm-svn: 15694 | |||||
* | Forward substitute some constants into their users | Chris Lattner | 2004-08-12 | 1 | -5/+2 | |
| | | | | llvm-svn: 15693 | |||||
* | The only target that uses this code (v9) always has argsOnStackHaveFixedSize | Chris Lattner | 2004-08-12 | 1 | -16/+1 | |
| | | | | | | set to true (obviously) llvm-svn: 15692 | |||||
* | Remove dead methods | Chris Lattner | 2004-08-12 | 2 | -34/+0 | |
| | | | | llvm-svn: 15691 | |||||
* | When we want a constant, just use it, instead of calling through layers of | Chris Lattner | 2004-08-12 | 3 | -10/+10 | |
| | | | | | | virtual methods and register name mapping functions llvm-svn: 15690 | |||||
* | Disable PPC64 backend by default because LLC cannot choose automatically between | Misha Brukman | 2004-08-12 | 1 | -2/+2 | |
| | | | | | | | SparcV9 and PowerPC64 without target triples, since they are both 64-bit big-endian targets. llvm-svn: 15688 | |||||
* | This patch makes the inliner refuse to inline functions that have alloca | Chris Lattner | 2004-08-12 | 1 | -25/+57 | |
| | | | | | | | | | | instructions in the body of the function (not the entry block). This fixes test/Programs/SingleSource/Regression/C/2004-08-12-InlinerAndAllocas.c and test/Programs/External/SPEC/CINT2000/176.gcc on zion. This should obviously be pulled into 1.3. llvm-svn: 15684 | |||||
* | * Correct 64-bit version: blr 1 (not 0) | Misha Brukman | 2004-08-12 | 1 | -2/+2 | |
| | | | | | | * BuildMI() can build 0-param instructions (e.g., NOP) llvm-svn: 15681 | |||||
* | * Print out full names for non-GPR or -FPR registers | Misha Brukman | 2004-08-12 | 1 | -3/+5 | |
| | | | | | | * BuildMI() really *does* handle 0 params! llvm-svn: 15680 | |||||
* | Fix code extraction of unwind blocks. This fixed bugs that bugpoint can | Chris Lattner | 2004-08-12 | 1 | -9/+12 | |
| | | | | | | run into. This should go into 1.3 llvm-svn: 15679 | |||||
* | * Pointers are 8 bytes, hence cLong type on 64-bit PPC | Misha Brukman | 2004-08-12 | 1 | -6/+8 | |
| | | | | | | * Fix loading of GlobalValues llvm-svn: 15678 | |||||
* | Eliminate special-casing 14-bit immediate load/store opcodes | Misha Brukman | 2004-08-12 | 1 | -16/+5 | |
| | | | | llvm-svn: 15677 | |||||
* | Hrm, this pass didn't compile. This bugfix should go into 1.3! | Chris Lattner | 2004-08-12 | 1 | -0/+1 | |
| | | | | llvm-svn: 15676 | |||||
* | Correctly print out ASCII literal strings on AIX | Misha Brukman | 2004-08-12 | 1 | -22/+48 | |
| | | | | llvm-svn: 15674 | |||||
* | Mark R2 as available for allocation on Darwin/PPC32, but not AIX/PPC64 | Misha Brukman | 2004-08-12 | 1 | -3/+6 | |
| | | | | llvm-svn: 15673 | |||||
* | * Move AIX into the llvm namespace to be accessed from RegisterInfo | Misha Brukman | 2004-08-11 | 2 | -11/+15 | |
| | | | | | | | * Mark InstrInfo with 32 vs. 64 bit flag * Enable the 64-bit isel and asm printer llvm-svn: 15672 | |||||
* | Set the is64bit flag and propagate it to PowerPCRegisterInfo | Misha Brukman | 2004-08-11 | 2 | -3/+6 | |
| | | | | llvm-svn: 15671 | |||||
* | * Set the is64bit boolean flag in PowerPCRegisterInfo | Misha Brukman | 2004-08-11 | 3 | -18/+30 | |
| | | | | | | | | * Doubles are 8 bytes in 64-bit PowerPC, and use the general register class * Use double-word loads and stores for restoring from/saving to stack * Do not allocate R2 if compiling for AIX llvm-svn: 15670 | |||||
* | 64-bit instruction selector and AIX-specific 64-bit asm printer | Misha Brukman | 2004-08-11 | 3 | -1/+3887 | |
| | | | | llvm-svn: 15669 | |||||
* | Fix names of 64-bit CMP*D* opcodes, add LWA and STD* opcodes | Misha Brukman | 2004-08-11 | 1 | -4/+10 | |
| | | | | llvm-svn: 15668 | |||||
* | Add support for 64-bit CMPDI, CMPLDI, and CMPLD opcodes | Misha Brukman | 2004-08-11 | 2 | -3/+6 | |
| | | | | llvm-svn: 15667 | |||||
* | Add doubleword load/store (64-bit only). | Misha Brukman | 2004-08-11 | 2 | -5/+29 | |
| | | | | llvm-svn: 15665 | |||||
* | Hyphenate ##-bit and remove first-person from comments. | Misha Brukman | 2004-08-11 | 1 | -4/+4 | |
| | | | | llvm-svn: 15663 | |||||
* | Clean up 32/64bit and Darwin/AIX split. Next steps: 64 bit ISel, AIX asm ↵ | Nate Begeman | 2004-08-11 | 12 | -307/+140 | |
| | | | | | | printer. llvm-svn: 15662 |