aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/RegisterScavenging.cpp
AgeCommit message (Expand)AuthorFilesLines
2011-05-02Handle <def,undef> in the second loop as well.Jakob Stoklund Olesen1-1/+3
2011-05-02Only ignore <undef> use operands, keep the <def,undef> ops.Jakob Stoklund Olesen1-1/+4
2011-04-05Add an assertion instead of crashing when the scavenger goes past the endBob Wilson1-1/+2
2011-03-05Teach the register scavenger to take subregs into account when finding a free...Jim Grosbach1-5/+10
2010-09-02The scavenger should just use getAllocatableSet() rather than reinventing itJim Grosbach1-13/+3
2010-09-02Add a bit of debug output for register scavengingJim Grosbach1-2/+12
2010-08-26Simplify eliminateFrameIndex() interface back down now that PEI doesn't needJim Grosbach1-2/+2
2010-07-08Clean up scavengeRegister() a bit to prefer available regs, which allowsJim Grosbach1-3/+6
2010-07-08When processing frame index virtual registers, consider all available registersJim Grosbach1-1/+11
2010-06-16Make post-ra scheduling, anti-dep breaking, and register scavenger (conservat...Evan Cheng1-2/+6
2010-06-04Skip dbg_value instructions when scanning instructions in register scavenging.Jim Grosbach1-0/+4
2010-05-06Add argument TargetRegisterInfo to loadRegFromStackSlot and storeRegToStackSlot.Evan Cheng1-2/+2
2010-04-15Fix PR6847. RegScavenger should ignore DebugValues.Jakob Stoklund Olesen1-0/+3
2010-04-13Eliminate MachineBasicBlock::const_livein_iterator and makeDan Gohman1-1/+1
2009-12-03improve portability to avoid conflicting with std::next in c++'0x.Chris Lattner1-1/+1
2009-11-12RegScavenger::enterBasicBlock should always reset register state.Evan Cheng1-5/+2
2009-10-26- Revert some changes from 85044, 85045, and 85047 that broke x86_64 tests andEvan Cheng1-1/+18
2009-10-25When the scavenger is looking for a good candidate location to restore from aJim Grosbach1-5/+27
2009-10-21The spill restore needs to be resolved to the SP/FP just like the spillJim Grosbach1-0/+2
2009-10-19Adjust the scavenge register spilling to allow the target to choose anJim Grosbach1-3/+2
2009-10-07Add register-reuse to frame-index register scavenging. When a target usesJim Grosbach1-1/+1
2009-10-06grammarJim Grosbach1-1/+1
2009-10-05In Thumb1, the register scavenger is not always able to use an emergencyJim Grosbach1-9/+15
2009-09-30replace TRI->isVirtualRegister() with TargetRegisterInfo::isVirtualRegister()Jim Grosbach1-2/+3
2009-09-29Additional check for regno==0Jim Grosbach1-1/+1
2009-09-29Moving register scavenging to a post pass results in virtual registers inJim Grosbach1-2/+3
2009-09-24Fix PR5024 with a big hammer: disable the double-def assertion in the scavenger.Evan Cheng1-39/+4
2009-08-18Simplify RegScavenger::FindUnusedReg.Jakob Stoklund Olesen1-30/+6
2009-08-16Replace RegScavenger::DistanceMap with a simpler local algorithm.Jakob Stoklund Olesen1-68/+47
2009-08-16Clean up the public interface of RegScavenger.Jakob Stoklund Olesen1-19/+0
2009-08-15Refine EarlyClobber assert in register scavenger.Jakob Stoklund Olesen1-1/+1
2009-08-13Track pristine registers as if they were live-in in the register scavenger.Jakob Stoklund Olesen1-14/+12
2009-08-11Rebuild RegScavenger::DistanceMap each time it is needed.Jakob Stoklund Olesen1-23/+46
2009-08-08Remove RegisterScavenger::isSuperRegUsed(). This completely reverses the mist...Jakob Stoklund Olesen1-32/+2
2009-08-08Simplify RegScavenger::forward a bit more.Jakob Stoklund Olesen1-65/+53
2009-08-07Back out some of recent register scavenger change by John Mosby. It broke a n...Evan Cheng1-27/+14
2009-08-06Get rid of RegScavenger::backwards() before the bitrot spreads.Jakob Stoklund Olesen1-64/+0
2009-08-06Reg Scavenging generalization (Thumb support):John Mosby1-27/+52
2009-08-04Clean up the handling of two-address operands in RegScavenger.Jakob Stoklund Olesen1-12/+3
2009-08-04Don't give implicit machine operands special treatment in the register scaven...Jakob Stoklund Olesen1-5/+2
2009-08-04Fix PR4528. This scavenger assertion is too strict. The two-address value isEvan Cheng1-1/+2
2009-08-02Fix issue in regscavenger when scavenging a callee-saved register that has no...Jakob Stoklund Olesen1-1/+8
2009-08-02Scavenger asserts.Jakob Stoklund Olesen1-2/+11
2009-07-22Ignore undef uses.Evan Cheng1-0/+3
2009-07-15Fix bug in RegScavenger::scavengeRegister().Jakob Stoklund Olesen1-1/+1
2009-07-12Fix assert(0) conversion, as suggested by Chris.Torok Edwin1-3/+2
2009-07-11Convert more assert(0)+abort() -> LLVM_UNREACHABLE,Torok Edwin1-2/+2
2009-07-01Remove special handling of implicit_def. Fix a couple more bugs in liveinterv...Evan Cheng1-22/+9
2009-07-01Handle IMPLICIT_DEF with isUndef operand marker, part 2. This patch moves the...Evan Cheng1-1/+7
2009-06-30Temporarily restore the scavenger implicit_def checking code. MachineOperand ...Evan Cheng1-5/+23