Move post-RA scheduling before branch folding for now, because branch
authorDan Gohman <gohman@apple.com>
Thu, 18 Dec 2008 01:36:42 +0000 (01:36 +0000)
committerDan Gohman <gohman@apple.com>
Thu, 18 Dec 2008 01:36:42 +0000 (01:36 +0000)
folding's tail merging doesn't currently preserve liveness information
which post-RA scheduling requires.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61183 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/LLVMTargetMachine.cpp

index e6873923bccb9aaf5d621e67438c053c5cf14a9e..c9ff15d4947f021aac7cc205d237fa293af11bc4 100644 (file)
@@ -222,13 +222,6 @@ bool LLVMTargetMachine::addCommonCodeGenPasses(PassManagerBase &PM, bool Fast) {
   // Insert prolog/epilog code.  Eliminate abstract frame index references...
   PM.add(createPrologEpilogCodeInserter());
 
   // Insert prolog/epilog code.  Eliminate abstract frame index references...
   PM.add(createPrologEpilogCodeInserter());
 
-  if (PrintMachineCode)
-    PM.add(createMachineFunctionPrinterPass(cerr));
-
-  // Branch folding must be run after regalloc and prolog/epilog insertion.
-  if (!Fast)
-    PM.add(createBranchFoldingPass(getEnableTailMergeDefault()));
-
   if (PrintMachineCode)
     PM.add(createMachineFunctionPrinterPass(cerr));
 
   if (PrintMachineCode)
     PM.add(createMachineFunctionPrinterPass(cerr));
 
@@ -240,6 +233,13 @@ bool LLVMTargetMachine::addCommonCodeGenPasses(PassManagerBase &PM, bool Fast) {
       PM.add(createMachineFunctionPrinterPass(cerr));
   }
 
       PM.add(createMachineFunctionPrinterPass(cerr));
   }
 
+  // Branch folding must be run after regalloc and prolog/epilog insertion.
+  if (!Fast)
+    PM.add(createBranchFoldingPass(getEnableTailMergeDefault()));
+
+  if (PrintMachineCode)
+    PM.add(createMachineFunctionPrinterPass(cerr));
+
   PM.add(createGCMachineCodeAnalysisPass());
 
   if (PrintMachineCode)
   PM.add(createGCMachineCodeAnalysisPass());
 
   if (PrintMachineCode)