aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/RegAllocFast.cpp
Commit message (Expand)AuthorAgeFilesLines
* Update DBG_VALUE to refer appropriate stack slot in case of a spill.Devang Patel2010-07-091-2/+19
* Detect and handle COPY in many places.Jakob Stoklund Olesen2010-07-031-3/+10
* Fix the handling of partial redefines in the fast register allocator.Jakob Stoklund Olesen2010-06-291-17/+39
* Add more special treatment for inline asm in RegAllocFast.Jakob Stoklund Olesen2010-06-281-21/+107
* Avoid processing early clobbers twice in RegAllocFast.Jakob Stoklund Olesen2010-06-151-3/+8
* Keep track of the call instructions whose clobber lists were skipped during fastJakob Stoklund Olesen2010-06-041-0/+17
* Add support for partial redefs to the fast register allocator.Jakob Stoklund Olesen2010-05-191-20/+18
* Properly handle multiple definitions of a virtual register in the sameJakob Stoklund Olesen2010-05-181-21/+41
* Pull the UsedInInstr.test() calls into calcSpillCost() and remember aliases.Jakob Stoklund Olesen2010-05-171-5/+5
* Remove debug option. Add comment on spill order determinism.Jakob Stoklund Olesen2010-05-171-7/+4
* Avoid allocating the same physreg to multiple virtregs in one instruction.Jakob Stoklund Olesen2010-05-171-0/+1
* Minor optimizations. DenseMap::begin() is surprisingly slow on an empty map.Jakob Stoklund Olesen2010-05-171-8/+7
* Extract spill cost calculation to a new method, and use definePhysReg() to clearJakob Stoklund Olesen2010-05-171-86/+64
* Only use clairvoyance when defining a register, and then only if it has one use.Jakob Stoklund Olesen2010-05-171-16/+11
* Eliminate a hash table probe when killing virtual registers.Jakob Stoklund Olesen2010-05-171-15/+20
* Execute virtreg kills immediately instead of after processing all uses.Jakob Stoklund Olesen2010-05-171-19/+16
* Sprinkle superregister <imp-def> and <imp-kill> operands when dealing with su...Jakob Stoklund Olesen2010-05-171-10/+28
* Now that we don't keep live registers across calls, there is not reason to goJakob Stoklund Olesen2010-05-171-7/+12
* Boldly attempt consistent capitalization. Functional changes unintended.Jakob Stoklund Olesen2010-05-171-42/+42
* Spill and kill all virtual registers across a call.Jakob Stoklund Olesen2010-05-171-56/+28
* Reduce hashtable probes by using DenseMap::insert() for lookup.Jakob Stoklund Olesen2010-05-171-48/+46
* Make MBB a class member instead of passing it around everywhere.Jakob Stoklund Olesen2010-05-171-62/+62
* Fix an GCC warning that seems to have actually caught a bug (!!!) inChandler Carruth2010-05-151-2/+2
* Calculate liveness on the fly for local registers.Jakob Stoklund Olesen2010-05-151-0/+31
* Don't bother spilling before a returnJakob Stoklund Olesen2010-05-141-4/+13
* Track allocatable instead of reserved regs, and never take an unallocatable h...Jakob Stoklund Olesen2010-05-141-8/+10
* Avoid scanning the long tail of physreg operands on callsJakob Stoklund Olesen2010-05-141-4/+9
* Count coalesced copiesJakob Stoklund Olesen2010-05-141-0/+2
* Allow virtreg redefines when verifying for RegAllocFastJakob Stoklund Olesen2010-05-141-1/+1
* When verifying two-address instructions, check the following:Jakob Stoklund Olesen2010-05-141-0/+5
* Simplify the handling of physreg defs and uses in RegAllocFast.Jakob Stoklund Olesen2010-05-141-109/+72
* Enable opportunistic coalescingJakob Stoklund Olesen2010-05-141-7/+18
* Trust kill flags from isel and later passes.Jakob Stoklund Olesen2010-05-141-4/+0
* Fix an embarrassing runtime regression for RegAllocFast.Jakob Stoklund Olesen2010-05-141-9/+31
* Clean up RegAllocFast debug outputJakob Stoklund Olesen2010-05-131-15/+14
* Take allocation hints from copy instructions to/from physregs.Jakob Stoklund Olesen2010-05-131-18/+68
* More asserts around physreg usesJakob Stoklund Olesen2010-05-131-1/+11
* Make sure to add kill flags to the last use of a virtreg when it is redefined.Jakob Stoklund Olesen2010-05-121-12/+22
* Avoid scoping issues, fix buildbotsJakob Stoklund Olesen2010-05-121-20/+21
* Make Clang happy.Daniel Dunbar2010-05-111-3/+3
* Store the Dirty bit in the LiveReg structure instead of a bit vector.Jakob Stoklund Olesen2010-05-111-34/+28
* Keep track of the last place a live virtreg was used.Jakob Stoklund Olesen2010-05-111-72/+118
* Simplify the tracking of used physregs to a bulk bitor followed by a transitiveJakob Stoklund Olesen2010-05-111-4/+9
* Mostly rewrite RegAllocFast.Jakob Stoklund Olesen2010-05-111-700/+469
* It's not safe eliminate copies where src and dst have different sub-register ...Evan Cheng2010-05-111-1/+2
* Add argument TargetRegisterInfo to loadRegFromStackSlot and storeRegToStackSlot.Evan Cheng2010-05-061-2/+2
* Run LiveVariables instead of computing liveness locally in -regalloc=fast.Jakob Stoklund Olesen2010-04-211-177/+2
* Add fast register allocator, enabled with -regalloc=fast.Jakob Stoklund Olesen2010-04-211-0/+1107