[PATCH] D37571: [Polly][CodegenCleanup] Update cleanup passes according (old) PassManagerBuilder.

Michael Kruse via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 7 08:12:24 PDT 2017


Meinersbur updated this revision to Diff 114181.
Meinersbur added a comment.

Add ExpensiveCombines argument.


https://reviews.llvm.org/D37571

Files:
  lib/CodeGen/CodegenCleanup.cpp


Index: lib/CodeGen/CodegenCleanup.cpp
===================================================================
--- lib/CodeGen/CodegenCleanup.cpp
+++ lib/CodeGen/CodegenCleanup.cpp
@@ -62,36 +62,46 @@
     FPM->add(createCFGSimplificationPass());
     FPM->add(createSROAPass());
     FPM->add(createEarlyCSEPass());
-    FPM->add(createInstructionCombiningPass());
+
+    FPM->add(createPromoteMemoryToRegisterPass());
+    FPM->add(createInstructionCombiningPass(true));
+    FPM->add(createCFGSimplificationPass());
+    FPM->add(createSROAPass());
+    FPM->add(createEarlyCSEPass(true));
+    FPM->add(createSpeculativeExecutionIfHasBranchDivergencePass());
     FPM->add(createJumpThreadingPass());
     FPM->add(createCorrelatedValuePropagationPass());
     FPM->add(createCFGSimplificationPass());
-    FPM->add(createInstructionCombiningPass());
+    FPM->add(createInstructionCombiningPass(true));
+    FPM->add(createLibCallsShrinkWrapPass());
+    FPM->add(createTailCallEliminationPass());
     FPM->add(createCFGSimplificationPass());
     FPM->add(createReassociatePass());
-    FPM->add(createLoopRotatePass());
+    FPM->add(createLoopRotatePass(-1));
     FPM->add(createGVNPass());
     FPM->add(createLICMPass());
     FPM->add(createLoopUnswitchPass());
     FPM->add(createCFGSimplificationPass());
-    FPM->add(createInstructionCombiningPass());
+    FPM->add(createInstructionCombiningPass(true));
     FPM->add(createIndVarSimplifyPass());
     FPM->add(createLoopIdiomPass());
     FPM->add(createLoopDeletionPass());
     FPM->add(createCFGSimplificationPass());
-    FPM->add(createSimpleLoopUnrollPass());
+    FPM->add(createSimpleLoopUnrollPass(3));
     FPM->add(createMergedLoadStoreMotionPass());
+    FPM->add(createGVNPass());
     FPM->add(createMemCpyOptPass());
+    FPM->add(createSCCPPass());
     FPM->add(createBitTrackingDCEPass());
-    FPM->add(createInstructionCombiningPass());
+    FPM->add(createInstructionCombiningPass(true));
     FPM->add(createJumpThreadingPass());
     FPM->add(createCorrelatedValuePropagationPass());
     FPM->add(createDeadStoreEliminationPass());
     FPM->add(createLICMPass());
-    FPM->add(createLoopRerollPass());
     FPM->add(createAggressiveDCEPass());
     FPM->add(createCFGSimplificationPass());
-    FPM->add(createInstructionCombiningPass());
+    FPM->add(createInstructionCombiningPass(true));
+    FPM->add(createFloat2IntPass());
 
     return FPM->doInitialization();
   }


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D37571.114181.patch
Type: text/x-patch
Size: 2465 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170907/f53658ca/attachment.bin>


More information about the llvm-commits mailing list