aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/TwoAddressInstructionPass.cpp
AgeCommit message (Expand)Author
2010-07-07Revert "Remove references to INSERT_SUBREG after de-SSA" r107725.Jakob Stoklund Olesen
2010-07-06Remove references to INSERT_SUBREG after de-SSAJakob Stoklund Olesen
2010-07-06Convert INSERT_SUBREG to COPY in TwoAddressInstructionPass.Jakob Stoklund Olesen
2010-07-03Detect and handle COPY in many places.Jakob Stoklund Olesen
2010-07-02- Two-address pass should not assume unfolding is always successful.Evan Cheng
2010-06-22When unfolding a load, avoid assuming which instruction thatDan Gohman
2010-06-22Fix the new load-unfolding code to update LiveVariable's dead flags,Dan Gohman
2010-06-21Teach two-address lowering how to unfold a load to open up commutingDan Gohman
2010-06-18Only run CoalesceExtSubRegs when we can expect LiveIntervalAnalysis to clean upJakob Stoklund Olesen
2010-06-15Add some missing checks for the case where the extract_subregs areBob Wilson
2010-06-15Generalize the pre-coalescing of extract_subregs feeding reg_sequences,Bob Wilson
2010-06-09Allow target to place 2-address pass inserted copies in better spots. Thumb2 ...Evan Cheng
2010-06-07Fix a mistake in my previous change r105437: don't access operand 2 and assumeBob Wilson
2010-06-03Add some missing checks in TwoAddressInstructionPass::CoalesceExtSubRegs.Bob Wilson
2010-06-02Slightly change the meaning of the reMaterialize target hook when the originalJakob Stoklund Olesen
2010-06-02Rename canCombinedSubRegIndex method to something more grammatically correctBob Wilson
2010-06-02Fix an obvious mistake: don't change the operands until all of them have beenBob Wilson
2010-05-29Handle composed subreg indices when processing REQ_SEQUENCE instructions.Jakob Stoklund Olesen
2010-05-21- Change MachineInstr::findRegisterDefOperandIdx so it can also look for defsEvan Cheng
2010-05-19TwoAddressInstructionPass doesn't really know how to merge live intervals whenJakob Stoklund Olesen
2010-05-17Fix PR7175. Insert copies of a REG_SEQUENCE source if it is used by other REG...Evan Cheng
2010-05-17Fix PR7156. If the sources of a REG_SEQUENCE are all IMPLICIT_DEF's. Replace ...Evan Cheng
2010-05-17Careful with reg_sequence coalescing to not to overwrite sub-register indices.Evan Cheng
2010-05-14Teach two-address pass to do some coalescing while eliminating REG_SEQUENCEEvan Cheng
2010-05-13If REG_SEQUENCE source is livein, copy it first. Also, update livevariables i...Evan Cheng
2010-05-12Code clean up.Evan Cheng
2010-05-11Ensure REG_SEQUENCE source operands are unique.Evan Cheng
2010-05-10Clear RegSequences vector after eliminating REG_SEQUENCE instructions.Evan Cheng
2010-05-06Add a DebugLoc argument to TargetInstrInfo::copyRegToReg, so that itDan Gohman
2010-05-05Move REG_SEQUENCE removal to 2addr pass.Evan Cheng
2010-03-23Ignore dbg_value's.Evan Cheng
2010-03-03Add MachineRegisterInfo::hasOneUse and hasOneNonDBGUse.Evan Cheng
2010-03-02Swap parameters of isSafeToMove and isSafeToReMat for consistency.Evan Cheng
2010-02-11Don't allow DBG_VALUE to affect codegen.Dale Johannesen
2010-02-10Skip debug info in a couple of places.Dale Johannesen
2010-02-09move target-independent opcodes out of TargetInstrInfoChris Lattner
2010-02-09Skip DEBUG_VALUE in some places where it was affecting codegen.Dale Johannesen
2010-01-05Change errs() to dbgs().David Greene
2009-12-03improve portability to avoid conflicting with std::next in c++'0x.Chris Lattner
2009-11-18Fix PR5300.Jakob Stoklund Olesen
2009-11-14- Change TargetInstrInfo::reMaterialize to pass in TargetRegisterInfo.Evan Cheng
2009-10-25Remove includes of Support/Compiler.h that are no longer needed after theNick Lewycky
2009-10-25Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces.Nick Lewycky
2009-10-09Factor out LiveIntervalAnalysis' code to determine whether an instructionDan Gohman
2009-09-03Overhaul the TwoAddressInstructionPass to simplify the logic, especiallyBob Wilson
2009-09-02Rearrange code to eliminate redundancy and avoid gotos.Bob Wilson
2009-09-01Avoid calling removeVirtualRegisterKilled which iterates over the operandsBob Wilson
2009-09-01Refactor some code into separate functions. No functional changes.Bob Wilson
2009-09-01Move use of LV inside condition that guards for null LV.Bob Wilson
2009-09-01Fix pr4843: When an instruction has multiple destination registers that areBob Wilson