[PATCH] D34728: [ThinkLTO] Invoke build(Thin)?LTOPreLinkDefaultPipeline.

Chandler Carruth via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Jun 27 18:42:02 PDT 2017


chandlerc added inline comments.


================
Comment at: llvm/test/Other/new-pm-thinlto-defaults.ll:157
 ; CHECK-PRELINK-O-NEXT: Running pass: GlobalOptPass
-; CHECK-PRELINK-O-NEXT: Running pass: NameAnonGlobalPass
 ; CHECK-POSTLINK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}>
----------------
tejohnson wrote:
> Can this be changed to check for the pass being added in its new location, since it should still be invoked somewhere for ThinLTO? If this change means it is no longer added under options to set up the thinlto pipeline via opt, I'd prefer that we go back to adding this to the pipeline in buildThinLTOPreLinkDefaultPipeline in the non-O0 case.
It seems somewhat unfortunate to have a *semantic* requirement on a particular placement of this pass inside of the pipeline... Especially when the semantics pretty much only stem from C++. For example, an a language without anonymous globals, you might not want this pass when doing ThinLTO.

Note that you can exactly model the thing Clang is doing with opt even after this:

  opt -passes='thinlto-pre-link<O3>,name-anon-globals'


https://reviews.llvm.org/D34728





More information about the cfe-commits mailing list