summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* Keep the stack frame aligned.Chris Lattner2002-12-161-0/+4
| | | | llvm-svn: 5081
* Initial checkin of "local" register allocator. Bugs are still present.Chris Lattner2002-12-161-0/+490
| | | | llvm-svn: 5078
* Rename createSimpleX86RegisterAllocator to createSimpleRegisterAllocator.Chris Lattner2002-12-161-28/+2
| | | | | | Remvoe some dead code llvm-svn: 5070
* Some simpliciations to the spill/reload interfaceChris Lattner2002-12-151-25/+21
| | | | llvm-svn: 5067
* Simplify PHI node elimination significantly by doing it as a prepass toChris Lattner2002-12-151-30/+13
| | | | | | register allocation llvm-svn: 5066
* Variety of small or trivial simplifications to the code, completely eliminatedChris Lattner2002-12-151-92/+68
| | | | | | the dependence on PhysRegClassMap llvm-svn: 5064
* Remove unused savePhysRegToStack methodChris Lattner2002-12-151-28/+4
| | | | llvm-svn: 5061
* Localize a map, remove anotherChris Lattner2002-12-151-9/+3
| | | | llvm-svn: 5060
* Give simple reg allocator a nice Pass NameChris Lattner2002-12-151-1/+5
| | | | llvm-svn: 5058
* Add a big assert making sure 2 address instructions are formed rightChris Lattner2002-12-151-0/+6
| | | | llvm-svn: 5057
* Fix a problem that occurs when PHI nodes have multiple entries for the same ↵Chris Lattner2002-12-151-30/+47
| | | | | | predecessor llvm-svn: 5055
* Grab bag of minor cleanups. Export some statistics about the number ofChris Lattner2002-12-151-46/+56
| | | | | | spills and reloads emitted llvm-svn: 5054
* Implement printing of MBB argumentsChris Lattner2002-12-152-19/+29
| | | | llvm-svn: 5053
* Simplify interfaces used by regalloc to insert codeChris Lattner2002-12-151-9/+6
| | | | llvm-svn: 5052
* * Simplify code a bit by breaking the PHI node handling stuff out into a ↵Chris Lattner2002-12-151-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 variablesChris Lattner2002-12-151-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 theChris Lattner2002-12-151-6/+28
| | | | | | target register description classes. llvm-svn: 5045
* Prune #includesChris Lattner2002-12-151-8/+2
| | | | llvm-svn: 5044
* Remove extraneous #includes, perform FIXMEChris Lattner2002-12-151-10/+6
| | | | llvm-svn: 5043
* Fix borkness with not using MachineBasicBlocks in PHI nodesChris Lattner2002-12-151-12/+1
| | | | llvm-svn: 5035
* Fixed a bug where moves due to phis were being neglected.Misha Brukman2002-12-131-23/+19
| | | | llvm-svn: 5019
* Need to insert all moves due to PHI nodes before *ALL* jumps in a predecessorMisha Brukman2002-12-131-15/+10
| | | | | | basic block, as there could be multiple. llvm-svn: 5016
* This should be more correct: invalidates physical registers that are used inMisha Brukman2002-12-131-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 whichMisha Brukman2002-12-131-2/+5
| | | | | | disappeared during the last checkin. llvm-svn: 5007
* This should handle register allocating PHI nodes.Misha Brukman2002-12-131-23/+97
| | | | llvm-svn: 5002
* Start allocating stack space at [ebp-4] to not overwrite the return address.Misha Brukman2002-12-131-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 andMisha Brukman2002-12-121-7/+24
| | | | | | register-allocated them appropriately. llvm-svn: 4976
* Added code generation for function prologues and epilogues.Misha Brukman2002-12-041-17/+32
| | | | llvm-svn: 4930
* Fun arithmetic with iterators aimed at fixing a bug: inserting instructionsMisha Brukman2002-12-041-2/+4
| | | | | | | after the *current* instruction while keeping the iterator in the same 'logical' place. llvm-svn: 4923
* Print out direct global referencesChris Lattner2002-12-041-1/+4
| | | | llvm-svn: 4906
* This should fix the bug seen with some registers not being allocatedMisha Brukman2002-12-031-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 MCEChris Lattner2002-12-031-0/+41
| | | | llvm-svn: 4893
* * Abstracted out stack space allocation into its own functionMisha Brukman2002-12-021-34/+36
| | | | | | * Added saving of register values to the stack llvm-svn: 4858
* A simple (spilling) register allocator.Misha Brukman2002-11-221-0/+219
| | | | llvm-svn: 4828
* Initialize the SSARegMap.Misha Brukman2002-11-201-0/+1
| | | | llvm-svn: 4782
* Print is const!Chris Lattner2002-11-171-1/+1
| | | | llvm-svn: 4737
* Remove only uses of markDef/markDefAndUse methodsChris Lattner2002-11-171-6/+9
| | | | llvm-svn: 4719
* Fix warningChris Lattner2002-11-091-2/+2
| | | | llvm-svn: 4649
* Move function to cpp file from headerChris Lattner2002-11-022-5/+7
| | | | llvm-svn: 4510
* New iostream definitionsChris Lattner2002-11-011-0/+1
| | | | llvm-svn: 4482
* Restore support for indirect function calls (which briefly wasn't workingVikram S. Adve2002-10-311-4/+10
| | | | | | after I removed annotations on MachineInstr for the CallDescriptor). llvm-svn: 4469
* Remove fixmeChris Lattner2002-10-301-1/+1
| | | | llvm-svn: 4447
* Add special code to make printing SSA form machine instructions nicerChris Lattner2002-10-301-4/+15
| | | | llvm-svn: 4446
* Use MRegisterInfo, if available, to print symbolic register namesChris Lattner2002-10-301-7/+14
| | | | llvm-svn: 4438
* Implement structured machine code printingChris Lattner2002-10-302-33/+148
| | | | llvm-svn: 4435
* Make argsize calculation stuff optional, so that Targets without FrameInfoChris Lattner2002-10-291-4/+6
| | | | | | objects yet don't die llvm-svn: 4427
* Implement autoinserting ctorChris Lattner2002-10-291-0/+20
| | | | llvm-svn: 4426
* Rename annotation idChris Lattner2002-10-291-5/+5
| | | | llvm-svn: 4425
* Merge with sparc backendChris Lattner2002-10-291-31/+0
| | | | llvm-svn: 4403
* X86 merge is complete, eliminate unused codeChris Lattner2002-10-291-76/+0
| | | | llvm-svn: 4400
OpenPOWER on IntegriCloud