Split pseudo-instruction expansion into a separate pass, to make it

easier to debug, and to avoid complications when the CFG changes
in the middle of the instruction selection process.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119382 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dan Gohman
2010-11-16 21:02:37 +00:00
parent 342e39f9e5
commit 668ac2fdae
5 changed files with 92 additions and 13 deletions
+3
View File
@@ -345,6 +345,9 @@ bool LLVMTargetMachine::addCommonCodeGenPasses(PassManagerBase &PM,
// Print the instruction selected machine code...
printAndVerify(PM, "After Instruction Selection");
// Expand pseudo-instructions emitted by isel.
PM.add(createExpandPseudosPass());
// Optimize PHIs before DCE: removing dead PHI cycles may make more
// instructions dead.
if (OptLevel != CodeGenOpt::None)