[PATCH] D72404: [ThinLTO/FullLTO] Support Os and Oz

Yuanfang Chen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 14 14:36:20 PST 2020


ychen added a comment.

In D72404#1820628 <https://reviews.llvm.org/D72404#1820628>, @tycho wrote:

> In D72404#1820461 <https://reviews.llvm.org/D72404#1820461>, @merge_guards_bot wrote:
>
> > {icon times-circle color=red} Unit tests: fail. 61858 tests passed, 1 failed and 781 were skipped.
> >
> >   failed: Clang.CodeGen/thinlto-debug-pm.c
>
>
> I think that failure can be fixed with something like this:
>
>   diff --git a/clang/test/CodeGen/thinlto-debug-pm.c b/clang/test/CodeGen/thinlto-debug-pm.c
>    index 5f449d493af..9d6d69afd13 100644
>    --- a/clang/test/CodeGen/thinlto-debug-pm.c
>    +++ b/clang/test/CodeGen/thinlto-debug-pm.c
>    @@ -13,17 +13,17 @@
>     // O0123sz-NEWPM: Running analysis: PassInstrumentationAnalysis
>     // O0123sz-NEWPM: Starting llvm::Module pass manager run.
>     // O0123sz-NEWPM: Running pass: WholeProgramDevirtPass
>    -// O0123sz-NEWPM: Running analysis: InnerAnalysisManagerProxy<llvm::AnalysisManager<llvm::Function>, llvm::Module>
>    +// O0123sz-NEWPM: Running analysis: InnerAnalysisManagerProxy<llvm::FunctionAnalysisManager, llvm::Module>
>     // O0123sz-NEWPM: Running pass: LowerTypeTestsPass
>     // O0123sz-NEWPM: Invalidating all non-preserved analyses for:
>    -// O0123sz-NEWPM: Invalidating analysis: InnerAnalysisManagerProxy<llvm::AnalysisManager<llvm::Function>, llvm::Module>
>    +// O0123sz-NEWPM: Invalidating analysis: InnerAnalysisManagerProxy<llvm::FunctionAnalysisManager, llvm::Module>
>     // O123sz-NEWPM: Running pass: ForceFunctionAttrsPass
>     // O123sz-NEWPM: Running pass: PassManager<llvm::Module>
>     // O123sz-NEWPM: Starting llvm::Module pass manager run.
>     // O123sz-NEWPM: Running pass: PGOIndirectCallPromotion
>     // O123sz-NEWPM: Running analysis: ProfileSummaryAnalysis
>     // O123sz-NEWPM: Running pass: InferFunctionAttrsPass
>    -// O123sz-NEWPM: Running analysis: InnerAnalysisManagerProxy<llvm::AnalysisManager<llvm::Function>, llvm::Module>
>    +// O123sz-NEWPM: Running analysis: InnerAnalysisManagerProxy<llvm::FunctionAnalysisManager, llvm::Module>
>     // O123sz-NEWPM: Running pass: ModuleToFunctionPassAdaptor<llvm::PassManager<llvm::Function> >
>     // O123sz-NEWPM: Running analysis: PassInstrumentationAnalysis on foo
>     // O123sz-NEWPM: Starting llvm::Function pass manager run.
>    @@ -41,9 +41,9 @@
>     // O123sz-NEWPM: Running pass: CalledValuePropagationPass
>     // O123sz-NEWPM: Running pass: GlobalOptPass
>     // O123sz-NEWPM: Invalidating all non-preserved analyses for:
>    -// O123sz-NEWPM: Invalidating analysis: InnerAnalysisManagerProxy<llvm::AnalysisManager<llvm::Function>, llvm::Module>
>    +// O123sz-NEWPM: Invalidating analysis: InnerAnalysisManagerProxy<llvm::FunctionAnalysisManager, llvm::Module>
>     // O123sz-NEWPM: Running pass: ModuleToFunctionPassAdaptor<llvm::PromotePass>
>    -// O123sz-NEWPM: Running analysis: InnerAnalysisManagerProxy<llvm::AnalysisManager<llvm::Function>, llvm::Module>
>    +// O123sz-NEWPM: Running analysis: InnerAnalysisManagerProxy<llvm::FunctionAnalysisManager, llvm::Module>
>     // O123sz-NEWPM: Running analysis: DominatorTreeAnalysis on foo
>     // O123sz-NEWPM: Running analysis: PassInstrumentationAnalysis on foo
>     // O123sz-NEWPM: Running analysis: AssumptionAnalysis on foo
>    @@ -57,7 +57,7 @@
>     // O123sz-NEWPM: Running analysis: BasicAA on foo
>     // O123sz-NEWPM: Running analysis: ScopedNoAliasAA on foo
>     // O123sz-NEWPM: Running analysis: TypeBasedAA on foo
>    -// O123sz-NEWPM: Running analysis: OuterAnalysisManagerProxy<llvm::AnalysisManager<llvm::Module>, llvm::Function> on foo
>    +// O123sz-NEWPM: Running analysis: OuterAnalysisManagerProxy<llvm::ModuleAnalysisManager, llvm::Function> on foo
>     // O123sz-NEWPM: Running pass: SimplifyCFGPass on foo
>     // O123sz-NEWPM: Running analysis: TargetIRAnalysis on foo
>     // O123sz-NEWPM: Finished llvm::Function pass manager run.
>    @@ -70,7 +70,7 @@
>     // O123sz-NEWPM: Running analysis: LazyCallGraphAnalysis
>     // O123sz-NEWPM: Running analysis: FunctionAnalysisManagerCGSCCProxy on (foo)
>     // O123sz-NEWPM: Running analysis: PassInstrumentationAnalysis on (foo)
>    -// O123sz-NEWPM: Running analysis: OuterAnalysisManagerProxy<llvm::AnalysisManager<llvm::Module>, llvm::LazyCallGraph::SCC, llvm::LazyCallG>
>    +// O123sz-NEWPM: Running analysis: OuterAnalysisManagerProxy<llvm::ModuleAnalysisManager, llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&> o>
>     // O123sz-NEWPM: Starting CGSCC pass manager run.
>     // O123sz-NEWPM: Running pass: InlinerPass on (foo)
>     // O123sz-NEWPM: Running pass: PostOrderFunctionAttrsPass on (foo)
>   


Thank you. It turns out that GCC&Clang disagree on `__PRETTY_FUNCTION__` for type alias (using). will fix those.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D72404/new/

https://reviews.llvm.org/D72404





More information about the llvm-commits mailing list