Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Keep the stack frame aligned. | Chris Lattner | 2002-12-16 | 1 | -0/+4 | |
| | | | | llvm-svn: 5081 | |||||
* | Initial checkin of "local" register allocator. Bugs are still present. | Chris Lattner | 2002-12-16 | 1 | -0/+490 | |
| | | | | llvm-svn: 5078 | |||||
* | Rename createSimpleX86RegisterAllocator to createSimpleRegisterAllocator. | Chris Lattner | 2002-12-16 | 1 | -28/+2 | |
| | | | | | | Remvoe some dead code llvm-svn: 5070 | |||||
* | Some simpliciations to the spill/reload interface | Chris Lattner | 2002-12-15 | 1 | -25/+21 | |
| | | | | llvm-svn: 5067 | |||||
* | Simplify PHI node elimination significantly by doing it as a prepass to | Chris Lattner | 2002-12-15 | 1 | -30/+13 | |
| | | | | | | register allocation llvm-svn: 5066 | |||||
* | Variety of small or trivial simplifications to the code, completely eliminated | Chris Lattner | 2002-12-15 | 1 | -92/+68 | |
| | | | | | | the dependence on PhysRegClassMap llvm-svn: 5064 | |||||
* | Remove unused savePhysRegToStack method | Chris Lattner | 2002-12-15 | 1 | -28/+4 | |
| | | | | llvm-svn: 5061 | |||||
* | Localize a map, remove another | Chris Lattner | 2002-12-15 | 1 | -9/+3 | |
| | | | | llvm-svn: 5060 | |||||
* | Give simple reg allocator a nice Pass Name | Chris Lattner | 2002-12-15 | 1 | -1/+5 | |
| | | | | llvm-svn: 5058 | |||||
* | Add a big assert making sure 2 address instructions are formed right | Chris Lattner | 2002-12-15 | 1 | -0/+6 | |
| | | | | llvm-svn: 5057 | |||||
* | Fix a problem that occurs when PHI nodes have multiple entries for the same ↵ | Chris Lattner | 2002-12-15 | 1 | -30/+47 | |
| | | | | | | predecessor llvm-svn: 5055 | |||||
* | Grab bag of minor cleanups. Export some statistics about the number of | Chris Lattner | 2002-12-15 | 1 | -46/+56 | |
| | | | | | | spills and reloads emitted llvm-svn: 5054 | |||||
* | Implement printing of MBB arguments | Chris Lattner | 2002-12-15 | 2 | -19/+29 | |
| | | | | llvm-svn: 5053 | |||||
* | Simplify interfaces used by regalloc to insert code | Chris Lattner | 2002-12-15 | 1 | -9/+6 | |
| | | | | llvm-svn: 5052 | |||||
* | * Simplify code a bit by breaking the PHI node handling stuff out into a ↵ | Chris Lattner | 2002-12-15 | 1 | -152/+161 | |
| | | | | | | | | | | seperate function from normal regalloc code * Make the regalloc for a block a function instead of part of runOnMachineBB, which makes it easier to see what's going on in runOnMBB. llvm-svn: 5051 | |||||
* | * Remove some unneccesary instance variables | Chris Lattner | 2002-12-15 | 1 | -19/+16 | |
| | | | | | | * Make allocateStackSpaceFor only allocate the right amount of space llvm-svn: 5048 | |||||
* | pull inverse reg class mapping into a class that is sharable and out of the | Chris Lattner | 2002-12-15 | 1 | -6/+28 | |
| | | | | | | target register description classes. llvm-svn: 5045 | |||||
* | Prune #includes | Chris Lattner | 2002-12-15 | 1 | -8/+2 | |
| | | | | llvm-svn: 5044 | |||||
* | Remove extraneous #includes, perform FIXME | Chris Lattner | 2002-12-15 | 1 | -10/+6 | |
| | | | | llvm-svn: 5043 | |||||
* | Fix borkness with not using MachineBasicBlocks in PHI nodes | Chris Lattner | 2002-12-15 | 1 | -12/+1 | |
| | | | | llvm-svn: 5035 | |||||
* | Fixed a bug where moves due to phis were being neglected. | Misha Brukman | 2002-12-13 | 1 | -23/+19 | |
| | | | | llvm-svn: 5019 | |||||
* | Need to insert all moves due to PHI nodes before *ALL* jumps in a predecessor | Misha Brukman | 2002-12-13 | 1 | -15/+10 | |
| | | | | | | basic block, as there could be multiple. llvm-svn: 5016 | |||||
* | This should be more correct: invalidates physical registers that are used in | Misha Brukman | 2002-12-13 | 1 | -4/+41 | |
| | | | | | | an instruction to avoid using them to allocate to other virtual registers. llvm-svn: 5013 | |||||
* | Fixed bug with running out of registers. Also, reinstated namespace which | Misha Brukman | 2002-12-13 | 1 | -2/+5 | |
| | | | | | | disappeared during the last checkin. llvm-svn: 5007 | |||||
* | This should handle register allocating PHI nodes. | Misha Brukman | 2002-12-13 | 1 | -23/+97 | |
| | | | | llvm-svn: 5002 | |||||
* | Start allocating stack space at [ebp-4] to not overwrite the return address. | Misha Brukman | 2002-12-13 | 1 | -2/+9 | |
| | | | | | | Also make all loads & stores 4-byte aligned for performance. ;) llvm-svn: 4982 | |||||
* | Take advantage of our knowledge of 2-address X86 instructions and | Misha Brukman | 2002-12-12 | 1 | -7/+24 | |
| | | | | | | register-allocated them appropriately. llvm-svn: 4976 | |||||
* | Added code generation for function prologues and epilogues. | Misha Brukman | 2002-12-04 | 1 | -17/+32 | |
| | | | | llvm-svn: 4930 | |||||
* | Fun arithmetic with iterators aimed at fixing a bug: inserting instructions | Misha Brukman | 2002-12-04 | 1 | -2/+4 | |
| | | | | | | | after the *current* instruction while keeping the iterator in the same 'logical' place. llvm-svn: 4923 | |||||
* | Print out direct global references | Chris Lattner | 2002-12-04 | 1 | -1/+4 | |
| | | | | llvm-svn: 4906 | |||||
* | This should fix the bug seen with some registers not being allocated | Misha Brukman | 2002-12-03 | 1 | -6/+45 | |
| | | | | | | | | | | | correctly: skipping instructions by incorrectly incrementing the pointer. Also adds support for building a reg-to-regclass map, and splits the function for saving register to stack into two, one suitable for virtual registers (which also assigns it a physical register) and one for simply storing back physical registers. llvm-svn: 4898 | |||||
* | Checkin debug implementation of MCE | Chris Lattner | 2002-12-03 | 1 | -0/+41 | |
| | | | | llvm-svn: 4893 | |||||
* | * Abstracted out stack space allocation into its own function | Misha Brukman | 2002-12-02 | 1 | -34/+36 | |
| | | | | | | * Added saving of register values to the stack llvm-svn: 4858 | |||||
* | A simple (spilling) register allocator. | Misha Brukman | 2002-11-22 | 1 | -0/+219 | |
| | | | | llvm-svn: 4828 | |||||
* | Initialize the SSARegMap. | Misha Brukman | 2002-11-20 | 1 | -0/+1 | |
| | | | | llvm-svn: 4782 | |||||
* | Print is const! | Chris Lattner | 2002-11-17 | 1 | -1/+1 | |
| | | | | llvm-svn: 4737 | |||||
* | Remove only uses of markDef/markDefAndUse methods | Chris Lattner | 2002-11-17 | 1 | -6/+9 | |
| | | | | llvm-svn: 4719 | |||||
* | Fix warning | Chris Lattner | 2002-11-09 | 1 | -2/+2 | |
| | | | | llvm-svn: 4649 | |||||
* | Move function to cpp file from header | Chris Lattner | 2002-11-02 | 2 | -5/+7 | |
| | | | | llvm-svn: 4510 | |||||
* | New iostream definitions | Chris Lattner | 2002-11-01 | 1 | -0/+1 | |
| | | | | llvm-svn: 4482 | |||||
* | Restore support for indirect function calls (which briefly wasn't working | Vikram S. Adve | 2002-10-31 | 1 | -4/+10 | |
| | | | | | | after I removed annotations on MachineInstr for the CallDescriptor). llvm-svn: 4469 | |||||
* | Remove fixme | Chris Lattner | 2002-10-30 | 1 | -1/+1 | |
| | | | | llvm-svn: 4447 | |||||
* | Add special code to make printing SSA form machine instructions nicer | Chris Lattner | 2002-10-30 | 1 | -4/+15 | |
| | | | | llvm-svn: 4446 | |||||
* | Use MRegisterInfo, if available, to print symbolic register names | Chris Lattner | 2002-10-30 | 1 | -7/+14 | |
| | | | | llvm-svn: 4438 | |||||
* | Implement structured machine code printing | Chris Lattner | 2002-10-30 | 2 | -33/+148 | |
| | | | | llvm-svn: 4435 | |||||
* | Make argsize calculation stuff optional, so that Targets without FrameInfo | Chris Lattner | 2002-10-29 | 1 | -4/+6 | |
| | | | | | | objects yet don't die llvm-svn: 4427 | |||||
* | Implement autoinserting ctor | Chris Lattner | 2002-10-29 | 1 | -0/+20 | |
| | | | | llvm-svn: 4426 | |||||
* | Rename annotation id | Chris Lattner | 2002-10-29 | 1 | -5/+5 | |
| | | | | llvm-svn: 4425 | |||||
* | Merge with sparc backend | Chris Lattner | 2002-10-29 | 1 | -31/+0 | |
| | | | | llvm-svn: 4403 | |||||
* | X86 merge is complete, eliminate unused code | Chris Lattner | 2002-10-29 | 1 | -76/+0 | |
| | | | | llvm-svn: 4400 |