summaryrefslogtreecommitdiffstats
path: root/polly/lib/CodeGen/CodegenCleanup.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'polly/lib/CodeGen/CodegenCleanup.cpp')
-rw-r--r--polly/lib/CodeGen/CodegenCleanup.cpp26
1 files changed, 18 insertions, 8 deletions
diff --git a/polly/lib/CodeGen/CodegenCleanup.cpp b/polly/lib/CodeGen/CodegenCleanup.cpp
index fd3dea25adb..f5a5744d519 100644
--- a/polly/lib/CodeGen/CodegenCleanup.cpp
+++ b/polly/lib/CodeGen/CodegenCleanup.cpp
@@ -62,36 +62,46 @@ public:
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();
}
OpenPOWER on IntegriCloud