[PATCH] D21405: [PGO] IRPGO pre-cleanup pass changes

David Li via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 15 16:03:16 PDT 2016


davidxl added inline comments.

================
Comment at: lib/Transforms/IPO/PassManagerBuilder.cpp:238
@@ +237,3 @@
+        computePreInlineThresholdFromOptLevels(OptLevel, SizeLevel)));
+    MPM.add(createEarlyCSEPass());      // Catch trivial redundancies
+    MPM.add(createJumpThreadingPass()); // Thread jumps.
----------------
A more effective cleanup should probably include SROA + EarlyCSE

================
Comment at: lib/Transforms/IPO/PassManagerBuilder.cpp:239
@@ +238,3 @@
+    MPM.add(createEarlyCSEPass());      // Catch trivial redundancies
+    MPM.add(createJumpThreadingPass()); // Thread jumps.
+    MPM.add(createCorrelatedValuePropagationPass()); // Propagate conditionals
----------------
I doubt JumpThreading pass will make any difference here. Can you experiment removing it?

================
Comment at: lib/Transforms/IPO/PassManagerBuilder.cpp:240
@@ +239,3 @@
+    MPM.add(createJumpThreadingPass()); // Thread jumps.
+    MPM.add(createCorrelatedValuePropagationPass()); // Propagate conditionals
+    MPM.add(createCFGSimplificationPass());          // Merge & remove BBs
----------------
Experimenting removing this pass too?

================
Comment at: lib/Transforms/IPO/PassManagerBuilder.cpp:242
@@ +241,3 @@
+    MPM.add(createCFGSimplificationPass());          // Merge & remove BBs
+    MPM.add(createInstructionCombiningPass());       // Combine silly seq's
+    MPM.add(createGVNPass(DisableGVNLoadPRE));       // Remove redundancies
----------------
CFG simplification and inst combine look ok

================
Comment at: lib/Transforms/IPO/PassManagerBuilder.cpp:243
@@ +242,3 @@
+    MPM.add(createInstructionCombiningPass());       // Combine silly seq's
+    MPM.add(createGVNPass(DisableGVNLoadPRE));       // Remove redundancies
+    addExtensionsToPM(EP_Peephole, MPM);
----------------
Remove GVN pass?


http://reviews.llvm.org/D21405





More information about the llvm-commits mailing list