diff --git a/llvm/lib/Passes/PassBuilderPipelines.cpp b/llvm/lib/Passes/PassBuilderPipelines.cpp --- a/llvm/lib/Passes/PassBuilderPipelines.cpp +++ b/llvm/lib/Passes/PassBuilderPipelines.cpp @@ -173,13 +173,6 @@ "eagerly-invalidate-analyses", cl::init(true), cl::Hidden, cl::desc("Eagerly invalidate more analyses in default pipelines")); -static cl::opt EnableNoRerunSimplificationPipeline( - "enable-no-rerun-simplification-pipeline", cl::init(true), cl::Hidden, - cl::desc( - "Prevent running the simplification pipeline on a function more " - "than once in the case that SCC mutations cause a function to be " - "visited multiple times as long as the function has not been changed")); - static cl::opt EnableMergeFunctions( "enable-merge-functions", cl::init(false), cl::Hidden, cl::desc("Enable function merging as part of the optimization pipeline")); @@ -876,13 +869,12 @@ // CGSCC walk. MainCGPipeline.addPass(createCGSCCToFunctionPassAdaptor( buildFunctionSimplificationPipeline(Level, Phase), - PTO.EagerlyInvalidateAnalyses, EnableNoRerunSimplificationPipeline)); + PTO.EagerlyInvalidateAnalyses, /*NoRerun=*/true)); MainCGPipeline.addPass(CoroSplitPass(Level != OptimizationLevel::O0)); - if (EnableNoRerunSimplificationPipeline) - MIWP.addLateModulePass(createModuleToFunctionPassAdaptor( - InvalidateAnalysisPass())); + MIWP.addLateModulePass(createModuleToFunctionPassAdaptor( + InvalidateAnalysisPass())); return MIWP; } diff --git a/llvm/test/Other/no-rerun-function-simplification-pipeline.ll b/llvm/test/Other/no-rerun-function-simplification-pipeline.ll --- a/llvm/test/Other/no-rerun-function-simplification-pipeline.ll +++ b/llvm/test/Other/no-rerun-function-simplification-pipeline.ll @@ -1,7 +1,5 @@ -; RUN: opt < %s -passes='default' -disable-output -debug-pass-manager=verbose -enable-no-rerun-simplification-pipeline=0 2>&1 | FileCheck %s --check-prefixes=CHECK,RERUNSP -; RUN: opt < %s -passes='default' -disable-output -debug-pass-manager=verbose -enable-no-rerun-simplification-pipeline=0 2>&1 | FileCheck %s --check-prefixes=CHECK,RERUNSP -; RUN: opt < %s -passes='default' -disable-output -debug-pass-manager=verbose -enable-no-rerun-simplification-pipeline=1 2>&1 | FileCheck %s --check-prefixes=CHECK,NORERUN -; RUN: opt < %s -passes='default' -disable-output -debug-pass-manager=verbose -enable-no-rerun-simplification-pipeline=1 2>&1 | FileCheck %s --check-prefixes=CHECK,NORERUN +; RUN: opt < %s -passes='default' -disable-output -debug-pass-manager=verbose 2>&1 | FileCheck %s +; RUN: opt < %s -passes='default' -disable-output -debug-pass-manager=verbose 2>&1 | FileCheck %s ; BDCE only runs once in the function simplification pipeline and nowhere else so we use that to check for reruns. @@ -11,8 +9,7 @@ ; CHECK: Running pass: BDCEPass on f2 ; CHECK-NOT: BDCEPass ; CHECK: PassManager{{.*}}SCC{{.*}} on (f2) -; RERUNSP: Running pass: BDCEPass on f2 -; NORERUN-NOT: Running pass: BDCEPass on f2 +; CHECK-NOT: Running pass: BDCEPass on f2 ; CHECK: PassManager{{.*}}SCC{{.*}} on (f3) ; CHECK: Running pass: BDCEPass on f3