[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