summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Allow any cl::opt to use the method getPosition() to retrieve the option'sReid Spencer2004-08-131-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 declarationNate Begeman2004-08-131-2/+0
| | | | llvm-svn: 15722
* Fix siod by switching BoolTy to byte rather than int until CFE changes forNate Begeman2004-08-132-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 Begeman2004-08-131-1/+1
| | | | llvm-svn: 15720
* Fix llc crasher compiling siod by giving BuildMI the correct number of argumentsNate Begeman2004-08-131-1/+1
| | | | llvm-svn: 15719
* If we are extracting a block that has multiple successors that are the sameChris Lattner2004-08-131-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 whereChris Lattner2004-08-131-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 Lattner2004-08-131-0/+53
| | | | llvm-svn: 15714
* Add value mapper support for select constant exprs. This should fix a bugChris Lattner2004-08-131-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 Begeman2004-08-131-158/+22
| | | | | | operate on them. llvm-svn: 15711
* Add some more 64 bit instructions we need for the PowerPC-64 ISel to the ↵Nate Begeman2004-08-132-2/+57
| | | | | | tablegen files llvm-svn: 15710
* Split saveCallerSavedRegisters into two methods for clarity, and add comments.Chris Lattner2004-08-121-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 methodsChris Lattner2004-08-123-64/+7
| | | | llvm-svn: 15698
* Fix warningChris Lattner2004-08-121-1/+1
| | | | llvm-svn: 15697
* Instead of a virtual method call, lets try a direct constant referenceChris Lattner2004-08-123-7/+8
| | | | llvm-svn: 15696
* Virtual method calls are overratedChris Lattner2004-08-121-3/+3
| | | | llvm-svn: 15695
* Virtual method calls are overrated.Chris Lattner2004-08-122-8/+6
| | | | llvm-svn: 15694
* Forward substitute some constants into their usersChris Lattner2004-08-121-5/+2
| | | | llvm-svn: 15693
* The only target that uses this code (v9) always has argsOnStackHaveFixedSizeChris Lattner2004-08-121-16/+1
| | | | | | set to true (obviously) llvm-svn: 15692
* Remove dead methodsChris Lattner2004-08-122-34/+0
| | | | llvm-svn: 15691
* When we want a constant, just use it, instead of calling through layers ofChris Lattner2004-08-123-10/+10
| | | | | | virtual methods and register name mapping functions llvm-svn: 15690
* Disable PPC64 backend by default because LLC cannot choose automatically betweenMisha Brukman2004-08-121-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 allocaChris Lattner2004-08-121-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 Brukman2004-08-121-2/+2
| | | | | | * BuildMI() can build 0-param instructions (e.g., NOP) llvm-svn: 15681
* * Print out full names for non-GPR or -FPR registersMisha Brukman2004-08-121-3/+5
| | | | | | * BuildMI() really *does* handle 0 params! llvm-svn: 15680
* Fix code extraction of unwind blocks. This fixed bugs that bugpoint canChris Lattner2004-08-121-9/+12
| | | | | | run into. This should go into 1.3 llvm-svn: 15679
* * Pointers are 8 bytes, hence cLong type on 64-bit PPCMisha Brukman2004-08-121-6/+8
| | | | | | * Fix loading of GlobalValues llvm-svn: 15678
* Eliminate special-casing 14-bit immediate load/store opcodesMisha Brukman2004-08-121-16/+5
| | | | llvm-svn: 15677
* Hrm, this pass didn't compile. This bugfix should go into 1.3!Chris Lattner2004-08-121-0/+1
| | | | llvm-svn: 15676
* Correctly print out ASCII literal strings on AIXMisha Brukman2004-08-121-22/+48
| | | | llvm-svn: 15674
* Mark R2 as available for allocation on Darwin/PPC32, but not AIX/PPC64Misha Brukman2004-08-121-3/+6
| | | | llvm-svn: 15673
* * Move AIX into the llvm namespace to be accessed from RegisterInfoMisha Brukman2004-08-112-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 PowerPCRegisterInfoMisha Brukman2004-08-112-3/+6
| | | | llvm-svn: 15671
* * Set the is64bit boolean flag in PowerPCRegisterInfoMisha Brukman2004-08-113-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 printerMisha Brukman2004-08-113-1/+3887
| | | | llvm-svn: 15669
* Fix names of 64-bit CMP*D* opcodes, add LWA and STD* opcodesMisha Brukman2004-08-111-4/+10
| | | | llvm-svn: 15668
* Add support for 64-bit CMPDI, CMPLDI, and CMPLD opcodesMisha Brukman2004-08-112-3/+6
| | | | llvm-svn: 15667
* Add doubleword load/store (64-bit only).Misha Brukman2004-08-112-5/+29
| | | | llvm-svn: 15665
* Hyphenate ##-bit and remove first-person from comments.Misha Brukman2004-08-111-4/+4
| | | | llvm-svn: 15663
* Clean up 32/64bit and Darwin/AIX split. Next steps: 64 bit ISel, AIX asm ↵Nate Begeman2004-08-1112-307/+140
| | | | | | printer. llvm-svn: 15662
* Fix a case where constantexprs could leak into the PPC isel.Chris Lattner2004-08-111-1/+4
| | | | llvm-svn: 15661
* Remove a bunch of ad-hoc target-specific flags that were only used by theChris Lattner2004-08-113-57/+16
| | | | | | old asmprinter. llvm-svn: 15660
* Remove a dead methodChris Lattner2004-08-111-32/+0
| | | | llvm-svn: 15659
* Finally, the entire instruction asmprinter is now generated from tblgen, woo!Chris Lattner2004-08-111-296/+8
| | | | llvm-svn: 15658
* Add asmprintergen support for the last X86 instruction that needs it: ↵Chris Lattner2004-08-112-1/+12
| | | | | | pcrelative calls. llvm-svn: 15657
* This file is long deadChris Lattner2004-08-111-241/+0
| | | | llvm-svn: 15656
* Scrunch memoperands, add a few more for floating point memopsChris Lattner2004-08-111-68/+61
| | | | | | Eliminate the FPI*m classes, converting them to use FPI instead. llvm-svn: 15655
* Move hacks upChris Lattner2004-08-111-32/+30
| | | | llvm-svn: 15654
* Make FPI take asm string and operand listChris Lattner2004-08-111-39/+33
| | | | llvm-svn: 15653
* Nuke the Im*i* patterns, by asmprintergenifying all users.Chris Lattner2004-08-111-70/+73
| | | | llvm-svn: 15652
OpenPOWER on IntegriCloud