[PATCH] D28042: [PM] Introduce a reasonable port of the main per-module pass pipeline from the old pass manager in the new one.

Chandler Carruth via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 21 21:36:29 PST 2016


chandlerc added inline comments.


================
Comment at: lib/Passes/PassBuilder.cpp:374
+  ModulePassManager MPM(DebugLogging);
+
+  // Force any function attributes we want the rest of the pipeline te observe.
----------------
mehdi_amini wrote:
> Technically the default -O{1,2,3} pipeline starts with `populateFunctionPassManager` (which runs ` -simplifycfg -domtree -sroa -early-cse -lower-expect`)
I have that here in EarlyFPM. I just lifted the Force and Infer up because they are designed to be "as early as possible" but were module passes and so challenging before.


================
Comment at: lib/Passes/PassBuilder.cpp:773
       assert(Matches[1] == "lto" && "Not one of the matched options!");
-      addLTODefaultPipeline(MPM, L, DebugLogging);
+      MPM.addPass(buildLTODefaultPipeline(L, DebugLogging));
     }
----------------
mehdi_amini wrote:
> Shame on you for not supporting ThinLTO! :p
> OK, shame on me for not submitting a patch earlier...
Happy for you to work on this, or happy to port that part of the existing PMB when I get to it. I mostly wanted to get enough to test stuff "in the wild".


https://reviews.llvm.org/D28042





More information about the llvm-commits mailing list