summaryrefslogtreecommitdiff
path: root/lib/CodeGen/PHIElimination.cpp
AgeCommit message (Expand)AuthorFilesLines
2012-07-20Split loop exiting edges more aggressively.Jakob Stoklund Olesen1-13/+56
2012-07-04Allow multiple terminators to read virtual registers.Jakob Stoklund Olesen1-33/+29
2012-06-25Teach PHIElimination to handle <undef> operands.Jakob Stoklund Olesen1-19/+34
2012-02-10RegAlloc superpass: includes phi elimination, coalescing, and scheduling.Andrew Trick1-3/+7
2012-01-20Delete an unused member variable.Jakob Stoklund Olesen1-1/+0
2011-12-06First chunk of MachineInstr bundle support.Evan Cheng1-1/+1
2011-07-29Add an isSSA() flag to MachineRegisterInfo.Jakob Stoklund Olesen1-0/+3
2011-04-23Remove unused STL header includes.Jay Foad1-1/+0
2011-03-10Add an option to disable critical edge splitting in PHIElimination.Cameron Zwarich1-4/+12
2011-02-17Adjust indenting of arguments.Cameron Zwarich1-3/+3
2011-02-17Return Changed from SplitPHIEdges rather than always returning true.Cameron Zwarich1-1/+1
2011-02-14Add a statistic to PHIElimination tracking the number of critical edges split.Cameron Zwarich1-2/+7
2011-01-14Try for the third time to teach getFirstTerminator() about debug values.Jakob Stoklund Olesen1-2/+8
2011-01-14Revert r123419. It still breaks llvm-gcc-i386-linux-selfhost.Jakob Stoklund Olesen1-8/+2
2011-01-14Try again to teach getFirstTerminator() about debug values.Jakob Stoklund Olesen1-2/+8
2011-01-13Speculatively revert r123384 to make llvm-gcc-i386-linux-selfhost buildbot h...Devang Patel1-2/+0
2011-01-13Teach MachineBasicBlock::getFirstTerminator to ignore debug values.Jakob Stoklund Olesen1-0/+2
2011-01-09Replace TargetRegisterInfo::printReg with a PrintReg class that also works wi...Jakob Stoklund Olesen1-1/+1
2010-12-05Remove the PHIElimination.h header, as it is no longer needed.Cameron Zwarich1-8/+55
2010-12-05Move the FindCopyInsertPoint method of PHIElimination to a new standaloneCameron Zwarich1-45/+2
2010-12-04Remove PHIElimination's private copy of SkipPHIsAndLabels.Cameron Zwarich1-2/+2
2010-10-07Now with fewer extraneous semicolons!Owen Anderson1-1/+1
2010-08-23Now that PassInfo and Pass::ID have been separated, move the rest of the pass...Owen Anderson1-2/+2
2010-08-18Preserve subregs on PHI source operands. Patch by Krister Wombell!Jakob Stoklund Olesen1-1/+4
2010-08-17PHI elimination shouldn't require machineloopinfo since it's used at -O0. Mov...Evan Cheng1-7/+9
2010-08-17Move the decision logic whether it's a good idea to split a critical edge to ...Evan Cheng1-2/+9
2010-08-17PHI elimination should not break back edge. It can cause some significant cod...Evan Cheng1-3/+5
2010-08-06Reapply r110396, with fixes to appease the Linux buildbot gods.Owen Anderson1-1/+1
2010-08-06Revert r110396 to fix buildbots.Owen Anderson1-1/+1
2010-08-05Don't use PassInfo* as a type identifier for passes. Instead, use the addres...Owen Anderson1-1/+1
2010-07-10Emit COPY instructions instead of using copyRegToReg in InstrEmitter,Jakob Stoklund Olesen1-5/+6
2010-06-22Move PHIElimination's SplitCriticalEdge for MachineBasicBlocks outDan Gohman1-52/+1
2010-06-17Add a DebugLoc parameter to TargetInstrInfo::InsertBranch(). ThisStuart Hastings1-1/+2
2010-05-06Add a DebugLoc argument to TargetInstrInfo::copyRegToReg, so that itDan Gohman1-2/+4
2010-05-05Move REG_SEQUENCE removal to 2addr pass.Evan Cheng1-61/+0
2010-05-04Teach PHI elimination to remove REG_SEQUENCE instructions and update referenc...Evan Cheng1-0/+60
2010-05-04Rename variables for consistency.Evan Cheng1-10/+11
2010-03-25Avoid being influenced by dbg_value instructions.Evan Cheng1-1/+1
2010-03-03Remove PHINodeTraits and use MachineInstrExpressionTrait instead.Evan Cheng1-31/+0
2010-02-23Keep track of phi join registers explicitly in LiveVariables.Jakob Stoklund Olesen1-0/+1
2010-02-23Dead code eliminationJakob Stoklund Olesen1-5/+0
2010-02-17Dead code elimination.Jakob Stoklund Olesen1-4/+0
2010-02-09move target-independent opcodes out of TargetInstrInfoChris Lattner1-10/+10
2010-01-05Change errs() to dbgs().David Greene1-3/+3
2009-12-17Turn off critical edge splitting for landing pads. The introduction of aBill Wendling1-3/+4
2009-12-16Reuse lowered phi nodes.Jakob Stoklund Olesen1-13/+86
2009-12-03improve portability to avoid conflicting with std::next in c++'0x.Chris Lattner1-3/+3
2009-12-01Move PHIElimination::isLiveOut method to LiveVariables.Jakob Stoklund Olesen1-48/+2
2009-11-21Be more clever about calculating live variables through new basic blocks.Jakob Stoklund Olesen1-18/+2
2009-11-19Place new basic blocks immediately after their predecessor when splittingJakob Stoklund Olesen1-7/+7