[PATCH] D19773: Tweak the ThinLTO pass pipeline

Teresa Johnson via llvm-commits llvm-commits at lists.llvm.org
Thu May 5 18:39:08 PDT 2016


tejohnson added a comment.

I compared performance of all the C/C++ benchmarks in SPEC cpu2006 on an Ivybridge X86 with gold+ThinLTO, with 3 runs each. It looks performance neutral (some run-to-run variations that look like noise, nothing significant).


================
Comment at: lib/Transforms/IPO/PassManagerBuilder.cpp:428
@@ -432,1 +427,3 @@
 
+  if (PerformThinLTO)
+    // Optimize globals now when performing ThinLTO, this enables more
----------------
Is there any significance to the move of the globalopt invocation here from its original location below LoopVersioningLICM?

================
Comment at: lib/Transforms/IPO/PassManagerBuilder.cpp:448
@@ -447,3 @@
-    MPM.add(createGlobalOptimizerPass());
-    // Remove dead fns and globals after globalopt.
-    MPM.add(createGlobalDCEPass());
----------------
Why are the globalDCE before and after globalopt no longer needed (for the reasons stated in the comments)?


http://reviews.llvm.org/D19773





More information about the llvm-commits mailing list