aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/TwoAddressInstructionPass.cpp
Commit message (Expand)AuthorAgeFilesLines
* Add bundle aware API for querying instruction properties and switch the codeEvan Cheng2011-12-071-18/+13
* Simplify code. No functionality change.Benjamin Kramer2011-12-031-2/+1
* Disable expensive two-address optimizations at -O0. rdar://10453055Evan Cheng2011-11-161-0/+8
* Disable the assertion again. Looks like fastisel is still generating bad kill...Evan Cheng2011-11-161-1/+2
* Revert r144568 now that r144730 has fixed the fast-isel kill marker bug.Evan Cheng2011-11-161-2/+1
* If the 2addr instruction has other kills, don't move it below any other uses ...Evan Cheng2011-11-161-2/+7
* RescheduleKillAboveMI() must backtrack to before the rescheduled DBG_VALUE in...Evan Cheng2011-11-161-1/+1
* Process all uses first before defs to accurately capture register liveness. r...Evan Cheng2011-11-161-7/+13
* Set SeenStore to true to prevent loads from being moved; also eliminates a no...Evan Cheng2011-11-151-2/+2
* Avoid dereferencing off the beginning of lists.Evan Cheng2011-11-141-7/+4
* At -O0, multiple uses of a virtual registers in the same BB are being markedEvan Cheng2011-11-141-1/+2
* Teach two-address pass to re-schedule two-address instructions (or the killEvan Cheng2011-11-141-19/+356
* PR10998: It is not legal to sink an instruction past the terminator of a bloc...Eli Friedman2011-09-231-1/+9
* Add an isSSA() flag to MachineRegisterInfo.Jakob Stoklund Olesen2011-07-291-0/+3
* - Rename TargetInstrDesc, TargetOperandInfo to MCInstrDesc and MCOperandInfo andEvan Cheng2011-06-281-16/+17
* More refactoring. Move getRegClass from TargetOperandInfo to TargetInstrInfo.Evan Cheng2011-06-271-1/+1
* Simplify code. No change in functionality.Benjamin Kramer2011-06-181-6/+1
* Fix an issue where the two-address conversion pass incorrectly rewrites untiedCameron Zwarich2011-06-071-9/+16
* Catch more cases where 2-address pass should 3-addressify instructions. rdar:...Evan Cheng2011-03-021-49/+70
* After 3-addressifying a two-address instruction, update the register maps; ad...Evan Cheng2011-02-101-4/+9
* Simplify a bunch of isVirtualRegister() and isPhysicalRegister() logic.Jakob Stoklund Olesen2011-01-101-1/+1
* Shrink a BitVector that didn't mean to store bits for all physical registers.Jakob Stoklund Olesen2011-01-091-6/+4
* Do not model all INLINEASM instructions as having unmodelled side effects.Evan Cheng2011-01-071-1/+1
* StrongPHIElimination will never run before TwoAddressInstructionPass.Cameron Zwarich2010-12-191-1/+0
* Remove some checks for StrongPHIElim. These checks make it impossible to use anCameron Zwarich2010-12-191-4/+2
* Fix crash compiling a QQQQ REG_SEQUENCE for a Neon vld3_lane operation.Bob Wilson2010-12-171-2/+5
* Fix a minor bug in two-address pass. It was missing a commute opportunity.Evan Cheng2010-12-141-1/+2
* Remove some variables that are never really usedDuncan Sands2010-10-211-1/+0
* Get rid of static constructors for pass registration. Instead, every pass ex...Owen Anderson2010-10-191-1/+3
* Begin adding static dependence information to passes, which will allow us toOwen Anderson2010-10-121-1/+4
* Now with fewer extraneous semicolons!Owen Anderson2010-10-071-1/+1
* Now that PassInfo and Pass::ID have been separated, move the rest of the pass...Owen Anderson2010-08-231-2/+2
* A REG_SEQUENCE instruction may use the same register twice.Jakob Stoklund Olesen2010-08-091-1/+11
* Reapply r110396, with fixes to appease the Linux buildbot gods.Owen Anderson2010-08-061-2/+2
* Revert r110396 to fix buildbots.Owen Anderson2010-08-061-2/+2
* Don't use PassInfo* as a type identifier for passes. Instead, use the addres...Owen Anderson2010-08-051-2/+2
* Remove many calls to TII::isMoveInstr. Targets should be producing COPY anyway.Jakob Stoklund Olesen2010-07-161-19/+11
* Replace copyRegToReg with COPY everywhere in lib/CodeGen except for FastISel.Jakob Stoklund Olesen2010-07-101-20/+12
* Only collect subreg extracting copies for later coalescing.Jakob Stoklund Olesen2010-07-101-1/+1
* Emit COPY instructions instead of using copyRegToReg in InstrEmitter,Jakob Stoklund Olesen2010-07-101-4/+2
* Convert EXTRACT_SUBREG to COPY when emitting machine instrs.Jakob Stoklund Olesen2010-07-081-15/+11
* Remove references to INSERT_SUBREG after de-SSA.Jakob Stoklund Olesen2010-07-081-19/+5
* Revert "Remove references to INSERT_SUBREG after de-SSA" r107725.Jakob Stoklund Olesen2010-07-071-5/+19
* Remove references to INSERT_SUBREG after de-SSAJakob Stoklund Olesen2010-07-061-19/+5
* Convert INSERT_SUBREG to COPY in TwoAddressInstructionPass.Jakob Stoklund Olesen2010-07-061-0/+13
* Detect and handle COPY in many places.Jakob Stoklund Olesen2010-07-031-1/+1
* - Two-address pass should not assume unfolding is always successful.Evan Cheng2010-07-021-8/+6
* When unfolding a load, avoid assuming which instruction thatDan Gohman2010-06-221-4/+18
* Fix the new load-unfolding code to update LiveVariable's dead flags,Dan Gohman2010-06-221-2/+8
* Teach two-address lowering how to unfold a load to open up commutingDan Gohman2010-06-211-0/+84