summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/RegAllocLocal.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix newly-introduced 4.3 warningsAnton Korobeynikov2008-02-201-1/+2
| | | | llvm-svn: 47375
* Determine whether a spill kills the register it's spilling before insertion ↵Evan Cheng2008-02-111-8/+3
| | | | | | rather than trying to undo the kill marker afterwards. llvm-svn: 46953
* Rename MRegisterInfo to TargetRegisterInfo.Dan Gohman2008-02-101-35/+35
| | | | llvm-svn: 46930
* Remove remnant of load folding in local register allocator. Patch by Holger ↵Evan Cheng2008-02-071-7/+1
| | | | | | Schurig. llvm-svn: 46861
* Fix a number of local register allocator issues: PR1609.Evan Cheng2008-02-061-14/+16
| | | | llvm-svn: 46821
* RegAllocaLocal still *requires* LiveVariables since it runs PHIElimination, ↵Evan Cheng2008-02-061-1/+3
| | | | | | followed by TwoAddress which requires LiveVariables. We cannot run LiveVariables on non-SSA code. llvm-svn: 46813
* Reg alloc doesn't really need LiveVariables.Owen Anderson2008-01-271-9/+2
| | | | llvm-svn: 46420
* When a live virtual register is being clobbered by an implicit def, it is ↵Evan Cheng2008-01-171-2/+20
| | | | | | | | | | | spilled and the spill is its kill. However, if the local allocator has determined the register has not been modified (possible when its value was reloaded), it would not issue a restore. In that case, mark the last use of the virtual register as kill. llvm-svn: 46111
* Replace std::vector<bool> with BitVector.Evan Cheng2008-01-171-4/+8
| | | | llvm-svn: 46104
* rename TargetInstrDescriptor -> TargetInstrDesc.Chris Lattner2008-01-071-1/+1
| | | | | | | Make MachineInstr::getDesc return a reference instead of a pointer, since it can never be null. llvm-svn: 45695
* Update CodeGen for MRegisterInfo --> TargetInstrInfo changes.Owen Anderson2008-01-071-1/+3
| | | | llvm-svn: 45673
* Move some more instruction creation methods from RegisterInfo into InstrInfo.Owen Anderson2008-01-011-2/+6
| | | | llvm-svn: 45484
* Rename SSARegMap -> MachineRegisterInfo in keeping with the idea Chris Lattner2007-12-311-41/+41
| | | | | | | | | | | | | | that "machine" classes are used to represent the current state of the code being compiled. Given this expanded name, we can start moving other stuff into it. For now, move the UsedPhysRegs and LiveIn/LoveOuts vectors from MachineFunction into it. Update all the clients to match. This also reduces some needless #includes, such as MachineModuleInfo from MachineFunction. llvm-svn: 45467
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Add a argument to storeRegToStackSlot and storeRegToAddr to specify whetherEvan Cheng2007-12-051-1/+1
| | | | | | the stored register is killed. llvm-svn: 44600
* Remove redundant foldMemoryOperand variants and other code clean up.Evan Cheng2007-12-021-1/+3
| | | | llvm-svn: 44517
* Add missing paratheses.Evan Cheng2007-10-221-1/+1
| | | | llvm-svn: 43227
* Correctly handle implcit def / use operands.Evan Cheng2007-06-261-52/+64
| | | | llvm-svn: 37740
* Change names from RA to something unique to get rid of naming conflicts withBill Wendling2007-05-081-21/+23
| | | | | | certain linkers... llvm-svn: 36944
* Drop 'const'Devang Patel2007-05-031-2/+2
| | | | llvm-svn: 36662
* Use 'static const char' instead of 'static const int'.Devang Patel2007-05-021-2/+2
| | | | | | | Due to darwin gcc bug, one version of darwin linker coalesces static const int, which defauts PassID based pass identification. llvm-svn: 36652
* Do not use typeinfo to identify pass in pass manager.Devang Patel2007-05-011-0/+5
| | | | llvm-svn: 36632
* Match MachineFunction::UsedPhysRegs changes.Evan Cheng2007-04-251-13/+8
| | | | llvm-svn: 36452
* Use BitVector instead of vector<bool> which can be extremely slow.Evan Cheng2007-02-151-1/+1
| | | | llvm-svn: 34302
* rename DenseMap to IndexedMap.Chris Lattner2007-02-011-2/+2
| | | | llvm-svn: 33749
* Eliminate static ctors from StatisticsChris Lattner2006-12-191-5/+4
| | | | llvm-svn: 32698
* Removing even more <iostream> includes.Bill Wendling2006-12-071-1/+1
| | | | llvm-svn: 32320
* Detemplatize the Statistic class. The only type it is instantiated withChris Lattner2006-12-061-3/+3
| | | | | | is 'unsigned'. llvm-svn: 32279
* More removal of std::cerr and DEBUG, replacing with DOUT instead.Bill Wendling2006-11-171-27/+26
| | | | llvm-svn: 31806
* Match live variable changes.Evan Cheng2006-11-151-10/+56
| | | | llvm-svn: 31762
* Add implicit def / use operands to MachineInstr.Evan Cheng2006-11-101-2/+2
| | | | llvm-svn: 31633
* Fix UnitTests/2005-05-12-Int64ToFP.c with llc-beta. In particular, do notChris Lattner2006-09-191-7/+10
| | | | | | allow it to go into an infinite loop, filling up the disk! llvm-svn: 30494
* Non-allocatable physregs can be killed and dead, but don't treat them asChris Lattner2006-09-081-0/+6
| | | | | | safe for later allocation. This fixes McCat/18-imp with llc-beta. llvm-svn: 30204
* This fixes Benchmarks/Prolangs-C/unix-smailChris Lattner2006-09-081-0/+2
| | | | llvm-svn: 30198
* Fix a bunch of llc-beta failures on x86 yesterday. Don't allow selectionChris Lattner2006-09-081-17/+42
| | | | | | | of unallocatable registers, just because an alias is allocatable. We were picking registers like SIL just because ESI was being used. llvm-svn: 30197
* Only call isUse/isDef on register operandsEvan Cheng2006-09-051-3/+3
| | | | llvm-svn: 30122
* Fix Regression/CodeGen/Generic/2006-09-02-LocalAllocCrash.ll on X86.Chris Lattner2006-09-031-6/+11
| | | | | | | Just because an alias of a register is available, it doesn't mean that we can arbitrarily evict the register. llvm-svn: 30064
* When deleting a machine instruction, make sure to remove it from theChris Lattner2006-09-031-1/+4
| | | | | | livevariables information. This fixes several regalloc=local failures on x86 llvm-svn: 30062
* s|llvm/Support/Visibility.h|llvm/Support/Compiler.h|Chris Lattner2006-08-271-1/+1
| | | | llvm-svn: 29911
* Final polish on machine pass registries.Jim Laskey2006-08-021-1/+1
| | | | llvm-svn: 29471
* Introducing plugable register allocators and instruction schedulers.Jim Laskey2006-08-011-0/+7
| | | | llvm-svn: 29434
* Eliminate data relocations by using NULL instead of global empty list.Jim Laskey2006-07-211-15/+19
| | | | llvm-svn: 29250
* 80 colsAndrew Lenharth2006-07-201-2/+2
| | | | llvm-svn: 29221
* Reduce number of exported symbolsAndrew Lenharth2006-07-201-4/+4
| | | | llvm-svn: 29220
* Use hidden visibility to make symbols in an anonymous namespace getChris Lattner2006-06-281-1/+2
| | | | | | dropped. This shrinks libllvmgcc.dylib another 67K llvm-svn: 28975
* Teach the local allocator to know that live-in values (e.g. arguments) areChris Lattner2006-06-151-0/+20
| | | | | | | live at function entry. This prevents it from using arg registers for other purposes before the arguments are used. llvm-svn: 28809
* Move some methods out of MachineInstr into MachineOperandChris Lattner2006-05-041-3/+3
| | | | llvm-svn: 28102
* Add explicit #includes of <iostream>Chris Lattner2006-01-221-0/+1
| | | | llvm-svn: 25515
* Nuke noop copies.Chris Lattner2005-11-091-4/+11
| | | | llvm-svn: 24258
* Disable some overly-aggressive checking code. This speeds up the localChris Lattner2005-11-091-1/+2
| | | | | | allocator from 23s to 11s on kc++ in debug mode. llvm-svn: 24255
OpenPOWER on IntegriCloud