summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
Commit message (Collapse)AuthorAgeFilesLines
* CBW doesn't modify ALChris Lattner2002-12-201-1/+1
| | | | llvm-svn: 5108
* fix warningChris Lattner2002-12-202-0/+2
| | | | llvm-svn: 5107
* Don't force setCC instructions into ALChris Lattner2002-12-181-4/+1
| | | | llvm-svn: 5104
* Add comments, switch uses/defs to match InstrInfo.def fileChris Lattner2002-12-181-2/+10
| | | | llvm-svn: 5102
* Add reg clobber list for direct callsChris Lattner2002-12-181-2/+4
| | | | | | Represent empty use/def list as a null pointer llvm-svn: 5101
* Update to use new interface for register infoChris Lattner2002-12-173-39/+24
| | | | llvm-svn: 5098
* New fileChris Lattner2002-12-171-0/+32
| | | | llvm-svn: 5097
* Round number of bytes allocated on the stack up to a multiple of 4 so that theChris Lattner2002-12-171-2/+5
| | | | | | stack remains aligned llvm-svn: 5095
* Local register allocator is now stable enough for use, it passes all testsChris Lattner2002-12-171-5/+5
| | | | llvm-svn: 5094
* Register allocator is responsible for spilling callee saved regsChris Lattner2002-12-171-19/+3
| | | | llvm-svn: 5092
* Build add instructions of the correct form!Chris Lattner2002-12-161-1/+1
| | | | llvm-svn: 5090
* Two fixes:Chris Lattner2002-12-161-21/+23
| | | | | | | | * Only load incoming arguments into virtual registers once at the beginning of the function * Assign different virtual registers to each reference to constants/globals llvm-svn: 5088
* Fix prolog/epilog in the presence of allocaChris Lattner2002-12-161-11/+11
| | | | llvm-svn: 5087
* Make sure stack manipulation refers to ESP the right number of timesChris Lattner2002-12-161-1/+2
| | | | llvm-svn: 5086
* Add some special cases to make common getelementptr cases easier to read/fasterChris Lattner2002-12-161-41/+73
| | | | llvm-svn: 5084
* Finish implementation of alias list implChris Lattner2002-12-162-1/+9
| | | | llvm-svn: 5083
* Add mechanism to select register allocator to useChris Lattner2002-12-161-2/+11
| | | | llvm-svn: 5079
* Try #2 to get alias set stuff to workChris Lattner2002-12-164-40/+73
| | | | llvm-svn: 5077
* Add commentsChris Lattner2002-12-161-1/+3
| | | | llvm-svn: 5076
* Add info about register aliases, add prototype for createLocalRegisterAllocatorChris Lattner2002-12-161-1/+2
| | | | llvm-svn: 5075
* Add info about register file aliasingChris Lattner2002-12-162-12/+5
| | | | llvm-svn: 5074
* Add information about register file aliasingChris Lattner2002-12-161-30/+34
| | | | llvm-svn: 5073
* Add call clobber infoChris Lattner2002-12-161-3/+3
| | | | llvm-svn: 5072
* Rename createSimpleX86RegisterAllocator to createSimpleRegisterAllocatorChris Lattner2002-12-162-5/+5
| | | | llvm-svn: 5071
* brgBrian Gaeke2002-12-161-11/+12
| | | | | | | | | Fix some bugs in use of MBB vs. BB and iterators that are invalidated before we use them. Reference targetClass by enum name, not by number. llvm-svn: 5069
* Correct the setting of Def flags on registers that are modified!Chris Lattner2002-12-151-11/+9
| | | | llvm-svn: 5065
* Give passes nice names!Chris Lattner2002-12-154-0/+16
| | | | llvm-svn: 5059
* Simplify interfaces used by regalloc to insert codeChris Lattner2002-12-152-44/+32
| | | | llvm-svn: 5052
* Changes to make new TargetRegisterClass interface.Chris Lattner2002-12-151-61/+32
| | | | llvm-svn: 5050
* * Simplify TargetRegisterClass implementationsChris Lattner2002-12-152-26/+9
| | | | | | * Change regclass iterators to use an extra level of pointers llvm-svn: 5047
* Add support to cast from a bool typeChris Lattner2002-12-151-6/+12
| | | | | | | Add support for boolean constants add getClassB method llvm-svn: 5034
* Use MachineOperand::isFoo methods instead of our own global functionsChris Lattner2002-12-153-50/+22
| | | | llvm-svn: 5033
* Implement indirect function callsChris Lattner2002-12-132-2/+12
| | | | llvm-svn: 5024
* Make function code generation printing debug-only.Misha Brukman2002-12-131-4/+3
| | | | llvm-svn: 5023
* Fix bork in doMultiplyChris Lattner2002-12-131-3/+4
| | | | llvm-svn: 5021
* Add sanity checksChris Lattner2002-12-131-0/+2
| | | | llvm-svn: 5020
* Cleaned up the code: factored out switch/case into a separate function, putMisha Brukman2002-12-131-43/+22
| | | | | | | constants in an array for quick lookup. Stole the idea from elsewhere in Jello. llvm-svn: 5017
* Insert phi code at top of blockChris Lattner2002-12-131-2/+5
| | | | llvm-svn: 5015
* lib/Target/X86/InstSelectSimple.cpp:Brian Gaeke2002-12-131-1/+1
| | | | | | | | The MachineBasicBlock variable name patrol hereby fines Chris Lattner one bag of nachos, for shadowing global names while his license to do so was under suspension. llvm-svn: 5014
* Implement cast bool to XChris Lattner2002-12-131-3/+4
| | | | llvm-svn: 5012
* Rename all BMI MachineBasicBlock operands to MBB.Brian Gaeke2002-12-131-21/+22
| | | | | | | Try to mess around with emitGEPOperation's elementSizeReg to make it work, again. llvm-svn: 5011
* Finish up iterator stuphChris Lattner2002-12-131-32/+49
| | | | llvm-svn: 5009
* Treat longs as ints => pretend they're all 32-bit values and squeeze them intoMisha Brukman2002-12-131-0/+6
| | | | | | 32-bit registers. llvm-svn: 5008
* Code gen phi's correctlyChris Lattner2002-12-131-39/+109
| | | | llvm-svn: 5004
* Print X86 PHI nodes in a sane mannerChris Lattner2002-12-131-0/+16
| | | | llvm-svn: 5003
* Added moveReg2Reg() and moveImm2Reg() to accomodate moving data around due toMisha Brukman2002-12-132-0/+46
| | | | | | PHI nodes. llvm-svn: 5001
* lib/Target/X86/InstSelectSimple.cpp: Start counting arguments with 2,Brian Gaeke2002-12-132-14/+19
| | | | | | | | | | | | | | | | because arguments start two stack slots off of EBP. Break out of the for loop once the argument is found. Increment the counter at the end of the loop instead of the beginning. Use addRegOffset and compute the scale * index part at compile time instead of using the fancy load instruction. Just because an instruction set has wacky addressing modes doesn't mean we ought to use them (at least, if you believe Dave Patterson). lib/Target/X86/X86InstrBuilder.h: Add some comments. test/Regression/Jello/test-loadstore.ll: Let main return int 0. llvm-svn: 4999
* InstSelectSimple.cpp: Give promote32 a comment. Add initialBrian Gaeke2002-12-134-10/+33
| | | | | | | | | | | implementation of getReg() for arguments. MachineCodeEmitter.cpp: Fix using EBP with index, scale and no displacement (whew!) due to Chris. Printer.cpp: Fix printing out index and scale in memory references. llvm-svn: 4998
* Implement getelementptr constant exprsChris Lattner2002-12-132-33/+45
| | | | | | | Implement ConstantPointerRefs Treat long/ulongs as if they were integers. A hack, but an effective one llvm-svn: 4995
* brgBrian Gaeke2002-12-132-1/+33
| | | | | | | | | | | | | InstSelectSimple.cpp: Add stub implementation of visitFreeInst. Add comments that mention how we are failing to implement malloc/free. Add initial implementation of visitAllocaInst. X86TargetMachine.cpp: Include llvm/Transforms/Scalar.h. Add LowerAllocations pass before instruction selection. jello/Makefile: Add scalaropts.a. llvm-svn: 4994
OpenPOWER on IntegriCloud