diff options
Diffstat (limited to 'flang/lib/Optimizer/Passes/Pipelines.cpp')
| -rw-r--r-- | flang/lib/Optimizer/Passes/Pipelines.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/flang/lib/Optimizer/Passes/Pipelines.cpp b/flang/lib/Optimizer/Passes/Pipelines.cpp index 98f947a1f635..7c2777baebef 100644 --- a/flang/lib/Optimizer/Passes/Pipelines.cpp +++ b/flang/lib/Optimizer/Passes/Pipelines.cpp @@ -14,7 +14,7 @@ /// Force setting the no-alias attribute on fuction arguments when possible. static llvm::cl::opt<bool> forceNoAlias("force-no-alias", llvm::cl::Hidden, - llvm::cl::init(false)); + llvm::cl::init(true)); namespace fir { @@ -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<PassConstructor>( 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<PassConstructor>( pm, fir::createAbstractResultOpt); addPassToGPUModuleOperations<PassConstructor>(pm, |
