186 changes: 93 additions & 93 deletions llvm/lib/Transforms/IPO/FunctionAttrs.cpp

Large diffs are not rendered by default.

8 changes: 1 addition & 7 deletions llvm/lib/Transforms/IPO/Inliner.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -951,10 +951,6 @@ PreservedAnalyses InlinerPass::run(LazyCallGraph::SCC &InitialC,
UR.InlinedInternalEdges.insert({&N, OldC});
}
InlinedCallees.clear();

// Invalidate analyses for this function now so that we don't have to
// invalidate analyses for all functions in this SCC later.
FAM.invalidate(F, PreservedAnalyses::none());
}

// Now that we've finished inlining all of the calls across this SCC, delete
Expand Down Expand Up @@ -994,12 +990,10 @@ PreservedAnalyses InlinerPass::run(LazyCallGraph::SCC &InitialC,
if (!Changed)
return PreservedAnalyses::all();

PreservedAnalyses PA;
// Even if we change the IR, we update the core CGSCC data structures and so
// can preserve the proxy to the function analysis manager.
PreservedAnalyses PA;
PA.preserve<FunctionAnalysisManagerCGSCCProxy>();
// We have already invalidated all analyses on modified functions.
PA.preserveSet<AllAnalysesOn<Function>>();
return PA;
}

Expand Down
41 changes: 0 additions & 41 deletions llvm/test/Other/new-pass-manager-cgscc-fct-proxy.ll

This file was deleted.

26 changes: 26 additions & 0 deletions llvm/test/Other/opt-O3-pipeline-enable-matrix.ll
Original file line number Diff line number Diff line change
Expand Up @@ -398,11 +398,19 @@
; NEWPM-NEXT: Running pass: InlinerPass on (f)
; NEWPM-NEXT: Running pass: PostOrderFunctionAttrsPass on (f)
; NEWPM-NEXT: Running analysis: AAManager on f
; NEWPM-NEXT: Invalidating analysis: PreservedCFGCheckerAnalysis on f
; NEWPM-NEXT: Invalidating analysis: DominatorTreeAnalysis on f
; NEWPM-NEXT: Invalidating analysis: BasicAA on f
; NEWPM-NEXT: Invalidating analysis: AAManager on f
; NEWPM-NEXT: Running pass: ArgumentPromotionPass on (f)
; NEWPM-NEXT: Running pass: OpenMPOptCGSCCPass on (f)
; NEWPM-NEXT: Running analysis: PreservedCFGCheckerAnalysis on f
; NEWPM-NEXT: Running pass: SROA on f
; NEWPM-NEXT: Running analysis: DominatorTreeAnalysis on f
; NEWPM-NEXT: Running pass: EarlyCSEPass on f
; NEWPM-NEXT: Running analysis: MemorySSAAnalysis on f
; NEWPM-NEXT: Running analysis: AAManager on f
; NEWPM-NEXT: Running analysis: BasicAA on f
; NEWPM-NEXT: Running pass: SpeculativeExecutionPass on f
; NEWPM-NEXT: Running pass: JumpThreadingPass on f
; NEWPM-NEXT: Running analysis: LazyValueAnalysis on f
Expand Down Expand Up @@ -444,16 +452,31 @@
; NEWPM-NEXT: Running pass: LCSSAPass on f
; NEWPM-NEXT: Running pass: SimplifyCFGPass on f
; NEWPM-NEXT: Running pass: InstCombinePass on f
; NEWPM-NEXT: Invalidating analysis: PreservedCFGCheckerAnalysis on f
; NEWPM-NEXT: Invalidating analysis: DominatorTreeAnalysis on f
; NEWPM-NEXT: Invalidating analysis: BasicAA on f
; NEWPM-NEXT: Invalidating analysis: AAManager on f
; NEWPM-NEXT: Invalidating analysis: MemorySSAAnalysis on f
; NEWPM-NEXT: Invalidating analysis: LoopAnalysis on f
; NEWPM-NEXT: Invalidating analysis: PhiValuesAnalysis on f
; NEWPM-NEXT: Invalidating analysis: MemoryDependenceAnalysis on f
; NEWPM-NEXT: Invalidating analysis: DemandedBitsAnalysis on f
; NEWPM-NEXT: Invalidating analysis: PostDominatorTreeAnalysis on f
; NEWPM-NEXT: Invalidating analysis: CallGraphAnalysis on
; NEWPM-NEXT: Running pass: GlobalOptPass on
; NEWPM-NEXT: Running pass: GlobalDCEPass on
; NEWPM-NEXT: Running pass: EliminateAvailableExternallyPass on
; NEWPM-NEXT: Running pass: ReversePostOrderFunctionAttrsPass on
; NEWPM-NEXT: Running analysis: CallGraphAnalysis on
; NEWPM-NEXT: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA
; NEWPM-NEXT: Running analysis: PreservedCFGCheckerAnalysis on f
; NEWPM-NEXT: Running pass: Float2IntPass on f
; NEWPM-NEXT: Running analysis: DominatorTreeAnalysis on f
; NEWPM-NEXT: Running pass: LowerConstantIntrinsicsPass on f
; NEWPM-NEXT: Running pass: LowerMatrixIntrinsicsPass on f
; NEWPM-NEXT: Running analysis: AAManager on f
; NEWPM-NEXT: Running analysis: BasicAA on f
; NEWPM-NEXT: Running analysis: LoopAnalysis on f
; NEWPM-NEXT: Running pass: EarlyCSEPass on f
; NEWPM-NEXT: Running pass: LoopSimplifyPass on f
; NEWPM-NEXT: Running pass: LCSSAPass on f
Expand All @@ -464,6 +487,9 @@
; NEWPM-NEXT: Running pass: LoopVectorizePass on f
; NEWPM-NEXT: Running analysis: BlockFrequencyAnalysis on f
; NEWPM-NEXT: Running analysis: BranchProbabilityAnalysis on f
; NEWPM-NEXT: Running analysis: PostDominatorTreeAnalysis on f
; NEWPM-NEXT: Running analysis: DemandedBitsAnalysis on f
; NEWPM-NEXT: Running analysis: MemorySSAAnalysis on f
; NEWPM-NEXT: Running pass: LoopLoadEliminationPass on f
; NEWPM-NEXT: Running pass: InstCombinePass on f
; NEWPM-NEXT: Running pass: SimplifyCFGPass on f
Expand Down
17 changes: 0 additions & 17 deletions llvm/test/Transforms/Inline/analysis-invalidation.ll

This file was deleted.

3 changes: 2 additions & 1 deletion llvm/test/Transforms/Inline/cgscc-incremental-invalidate.ll
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@
;
; CHECK: Running pass: InlinerPass on (test1_f, test1_g, test1_h)
; CHECK: Running analysis: DominatorTreeAnalysis on test1_f
; CHECK: Running analysis: DominatorTreeAnalysis on test1_g
; CHECK: Invalidating analysis: DominatorTreeAnalysis on test1_f
; CHECK: Invalidating analysis: LoopAnalysis on test1_f
; CHECK: Invalidating analysis: BranchProbabilityAnalysis on test1_f
; CHECK: Invalidating analysis: BlockFrequencyAnalysis on test1_f
; CHECK: Running analysis: DominatorTreeAnalysis on test1_g
; CHECK: Invalidating analysis: DominatorTreeAnalysis on test1_g
; CHECK: Invalidating analysis: LoopAnalysis on test1_g
; CHECK: Invalidating analysis: BranchProbabilityAnalysis on test1_g
Expand All @@ -29,6 +29,7 @@
; CHECK-NEXT: Running analysis: DominatorTreeAnalysis on test1_h
; CHECK-NOT: Invalidating analysis:
; CHECK: Running pass: DominatorTreeVerifierPass on test1_f
; CHECK-NEXT: Running analysis: DominatorTreeAnalysis on test1_f

; An external function used to control branches.
declare i1 @flag()
Expand Down
1 change: 0 additions & 1 deletion llvm/unittests/Analysis/CGSCCPassManagerTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,6 @@ class CGSCCPassManagerTest : public ::testing::Test {
" call void @h1()\n"
" ret void\n"
"}\n")) {
FAM.registerPass([&] { return FunctionStatusAnalysis(); });
FAM.registerPass([&] { return TargetLibraryAnalysis(); });
MAM.registerPass([&] { return LazyCallGraphAnalysis(); });
MAM.registerPass([&] { return FunctionAnalysisManagerModuleProxy(FAM); });
Expand Down