[PATCH] D28996: [PM] Flesh out the new pm LTO pipeline
Davide Italiano via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Jan 22 17:56:09 PST 2017
davide added inline comments.
Comment at: lib/Passes/PassBuilder.cpp:553
+ // Force any function attributes we want the rest of the pipeline to observe.
> Alias analyses are added one layer above IIRC?
If you mean, in the caller of `buildLTODefaultPipeline`, then answer is yes (see my other patch for `lib/LTO`.
Comment at: lib/Passes/PassBuilder.cpp:575
+ // Small CGSCC pipeline to run PostOrderFunctionAttr pass.
+ CGSCCPassManager PostOrderCGPipeline(DebugLogging);
> This seems dead?
Yes, nice catch. I originally created this one as I thought we were running multiple CGSCC passes, but it turns out we just run `PostOrderFunctionAttrs` so that can be folded into the only argument of `createModuleToPostOrderCGSCCPassAdaptor()`.
Comment at: lib/Passes/PassBuilder.cpp:619
+ // Optimize globals again after we ran the inliner.
> It seems that there is "PruneEH" in the legacy PM here?
We used to. But it wasn't ported to the new PM and Chandler is not entirely convinced it's worth running this anymore (see the comment in the perModulePipeline).
Happy to duplicate the comment here, or add a FIXME.
Side note: I have no strong opinion whether we should run the pass or not.
More information about the llvm-commits