diff --git a/flang/lib/Optimizer/Passes/Pipelines.cpp b/flang/lib/Optimizer/Passes/Pipelines.cpp index 6cc3290ff5cc2..7c2777baebef1 100644 --- a/flang/lib/Optimizer/Passes/Pipelines.cpp +++ b/flang/lib/Optimizer/Passes/Pipelines.cpp @@ -217,9 +217,6 @@ void createDefaultFIROptimizerPassPipeline(mlir::PassManager &pm, pm.addPass(fir::createSimplifyFIROperations( {/*preferInlineImplementation=*/pc.OptLevel.isOptimizingForSpeed()})); - if (pc.AliasAnalysis && !disableFirAliasTags && !useOldAliasTags) - pm.addPass(fir::createAddAliasTags()); - addNestedPassToAllTopLevelOperations( pm, fir::createStackReclaim); // convert control flow to CFG form @@ -345,6 +342,9 @@ void createDefaultFIRCodeGenPassPipeline(mlir::PassManager &pm, MLIRToLLVMPassPipelineConfig config, llvm::StringRef inputFilename) { fir::addBoxedProcedurePass(pm); + if (config.OptLevel.isOptimizingForSpeed() && config.AliasAnalysis && + !disableFirAliasTags && !useOldAliasTags) + pm.addPass(fir::createAddAliasTags()); addNestedPassToAllTopLevelOperations( pm, fir::createAbstractResultOpt); addPassToGPUModuleOperations(pm, diff --git a/flang/test/Driver/mlir-pass-pipeline.f90 b/flang/test/Driver/mlir-pass-pipeline.f90 index 0bcd055a84b87..e85a7728fc9af 100644 --- a/flang/test/Driver/mlir-pass-pipeline.f90 +++ b/flang/test/Driver/mlir-pass-pipeline.f90 @@ -109,7 +109,6 @@ ! O2-NEXT: OptimizeArrayRepacking ! ALL-NEXT: LowerRepackArraysPass ! ALL-NEXT: SimplifyFIROperations -! O2-NEXT: AddAliasTags ! ALL-NEXT: Pipeline Collection : ['fir.global', 'func.func', 'omp.declare_reduction', 'omp.private'] ! ALL-NEXT: 'fir.global' Pipeline @@ -134,6 +133,7 @@ ! O2-NEXT: 'func.func' Pipeline ! O2-NEXT: SetRuntimeCallAttributes ! ALL-NEXT: BoxedProcedurePass +! O2-NEXT: AddAliasTags ! ALL-NEXT: Pipeline Collection : ['fir.global', 'func.func', 'gpu.module', 'omp.declare_reduction', 'omp.private'] ! ALL-NEXT: 'fir.global' Pipeline diff --git a/flang/test/Fir/basic-program.fir b/flang/test/Fir/basic-program.fir index c9fe53bf093a1..0a31397efb332 100644 --- a/flang/test/Fir/basic-program.fir +++ b/flang/test/Fir/basic-program.fir @@ -107,7 +107,6 @@ func.func @_QQmain() { // PASSES-NEXT: OptimizeArrayRepacking // PASSES-NEXT: LowerRepackArraysPass // PASSES-NEXT: SimplifyFIROperations -// PASSES-NEXT: AddAliasTags // PASSES-NEXT: Pipeline Collection : ['fir.global', 'func.func', 'omp.declare_reduction', 'omp.private'] // PASSES-NEXT: 'fir.global' Pipeline @@ -132,6 +131,7 @@ func.func @_QQmain() { // PASSES-NEXT: 'func.func' Pipeline // PASSES-NEXT: SetRuntimeCallAttributes // PASSES-NEXT: BoxedProcedurePass +// PASSES-NEXT: AddAliasTags // PASSES-NEXT: Pipeline Collection : ['fir.global', 'func.func', 'gpu.module', 'omp.declare_reduction', 'omp.private'] // PASSES-NEXT: 'fir.global' Pipeline