summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Use buildmi not MI ctor directlyChris Lattner2003-01-151-3/+2
| | | | llvm-svn: 5293
* Rename llvm/Analysis/LiveVar/FunctionLiveVarInfo.h -> ↵Chris Lattner2003-01-143-4/+4
| | | | | | llvm/CodeGen/FunctionLiveVarInfo.h llvm-svn: 5284
* Move llvm/Analysis/LiveVar/ValueSet.h to CodeGen/ValueSet.hChris Lattner2003-01-142-2/+2
| | | | llvm-svn: 5282
* Rename MachineInstrInfo -> TargetInstrInfoChris Lattner2003-01-1411-34/+34
| | | | llvm-svn: 5272
* New filesChris Lattner2003-01-132-0/+390
| | | | llvm-svn: 5262
* * Use the PHI Elimination passChris Lattner2003-01-131-80/+6
| | | | llvm-svn: 5220
* * Convert to use LiveVariable analysisChris Lattner2003-01-131-261/+251
| | | | | | | | | | | * Convert to use PHIElimination pass * Don't spill values which have just been reloaded (big win reducing spills) * Add experimental support for eliminating spills before TwoAddress instructions. It currently is broken so it is #ifdef'd out. * Use new "is terminator" flag on instructions instead of looking for branches and returns explicitly. llvm-svn: 5219
* Convert to MachineFunctionPassChris Lattner2003-01-131-7/+6
| | | | llvm-svn: 5218
* Add support for 3 new forms of MachineOperandChris Lattner2003-01-131-18/+39
| | | | llvm-svn: 5217
* Add support for constant poolChris Lattner2003-01-131-1/+29
| | | | | | Add helper methods for MachineFrameInfo llvm-svn: 5216
* Add support for global address by string and constant pool valuesChris Lattner2003-01-131-1/+10
| | | | llvm-svn: 5215
* More renamings of Target/Machine*Info to Target/Target*InfoChris Lattner2002-12-299-18/+18
| | | | llvm-svn: 5204
* Rename MachineOptInfo to TargetoptInfoChris Lattner2002-12-291-1/+1
| | | | | | Rename MachineCacheInfo to TargetCacheInfo llvm-svn: 5203
* Rename FunctionFrameInfo to MachineFrameInfoChris Lattner2002-12-284-10/+10
| | | | llvm-svn: 5200
* Rename MachineFrameInfo to TargetFrameInfo.hChris Lattner2002-12-283-3/+3
| | | | llvm-svn: 5199
* Initial checkin of Prolog/Epilog code inserter, which is an important partChris Lattner2002-12-281-0/+247
| | | | | | of the abstract frame representation llvm-svn: 5198
* * Convert to be a MachineFunctionPass instanceChris Lattner2002-12-281-174/+67
| | | | | | | | | | | | | | | | | | * Use new FunctionFrameInfo object to manage stack slots instead of doing it directly * Adjust to new MRegisterInfo API * Don't take a TM as a ctor argument * Don't keep track of which callee saved registers are modified * Don't emit prolog/epilog code or spill/restore code for callee saved regs * Use new allocation_order_begin/end iterators to simplify dramatically the logic for picking registers to allocate * Machine PHI nodes can no longer contain constant arguments * Use a bitvector to keep track of registers used instead of a set * Fix problem where explicitly referenced registers would be added to regsused set and never removed llvm-svn: 5196
* * Convert to be a MachineFunctionPass instanceChris Lattner2002-12-281-196/+64
| | | | | | | | | | | | | | * Use new FunctionFrameInfo object to manage stack slots instead of doing it directly * Adjust to new MRegisterInfo API * Don't take a TM as a ctor argument * Don't keep track of which callee saved registers are modified * Don't emit prolog/epilog code or spill/restore code for callee saved regs * Use new allocation_order_begin/end iterators to simplify dramatically the logic for picking registers to allocate * Machine PHI nodes can no longer contain constant arguments llvm-svn: 5195
* * Add printing support for FrameIndex operandsChris Lattner2002-12-281-24/+29
| | | | llvm-svn: 5194
* * A bunch of functionality and data was removed from MachineFunction and putChris Lattner2002-12-281-48/+84
| | | | | | | into a new MachineFunctionInfo class * Implement new FunctionFrameInfo class llvm-svn: 5193
* Frame info moved out of MachineFunction into a seperate objectChris Lattner2002-12-281-6/+7
| | | | llvm-svn: 5192
* Adjust to simpler spill interfaceChris Lattner2002-12-251-35/+64
| | | | | | Only spill and reload caller saved registers that are actually modified. llvm-svn: 5145
* Adjustments to work with the simpler spill interfaceChris Lattner2002-12-251-22/+24
| | | | llvm-svn: 5144
* Remove dependency on SSARegMap.h by MachineFunction.hChris Lattner2002-12-251-8/+19
| | | | llvm-svn: 5143
* Substantial fixes to live range handling, fixing several problems, gettingChris Lattner2002-12-241-27/+35
| | | | | | strtol to not miscompile, and fixing bug: 2002-12-23-LocalRAProblem.llx llvm-svn: 5132
* Fix compilation on GCC 2.96Chris Lattner2002-12-231-1/+1
| | | | llvm-svn: 5113
* * Fix several register aliasing bugsChris Lattner2002-12-181-39/+148
| | | | | | | * Add a new option to eliminate spilling of registers that are only used within a basic block. llvm-svn: 5106
* Implicit defs/uses list may be empty.Chris Lattner2002-12-181-6/+6
| | | | llvm-svn: 5103
* Use new reginfo interfaceChris Lattner2002-12-172-34/+66
| | | | llvm-svn: 5099
* Add prolog/epilog spills/reloads to countersChris Lattner2002-12-171-4/+7
| | | | | | Move X86 specific alignment gunk to X86 files llvm-svn: 5096
* Fix many bugs, regallocator now saves callee-save registers instead of targetChris Lattner2002-12-171-52/+163
| | | | llvm-svn: 5093
* * Fix a gross X86 hack that was intended to avoid allocating SP and BPChris Lattner2002-12-161-5/+38
| | | | | | * Implement register alias set support llvm-svn: 5082
* 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
OpenPOWER on IntegriCloud