[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