Skip to content

Commit 31a6fed

Browse files
authored
[flang] Move AddAliasTags pass after BoxedProcedurePass. (#156780)
Move AddAliasTags after BoxedProcedurePass to be able to compute the size of Fortran variables by converting their types to LLVM types and applying DL size/alignment computations. This is one of the approaches to unblock #156558. This change does not affect performance in my testing.
1 parent 6a37f5b commit 31a6fed

File tree

3 files changed

+5
-5
lines changed

3 files changed

+5
-5
lines changed

flang/lib/Optimizer/Passes/Pipelines.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -217,9 +217,6 @@ void createDefaultFIROptimizerPassPipeline(mlir::PassManager &pm,
217217
pm.addPass(fir::createSimplifyFIROperations(
218218
{/*preferInlineImplementation=*/pc.OptLevel.isOptimizingForSpeed()}));
219219

220-
if (pc.AliasAnalysis && !disableFirAliasTags && !useOldAliasTags)
221-
pm.addPass(fir::createAddAliasTags());
222-
223220
addNestedPassToAllTopLevelOperations<PassConstructor>(
224221
pm, fir::createStackReclaim);
225222
// convert control flow to CFG form
@@ -345,6 +342,9 @@ void createDefaultFIRCodeGenPassPipeline(mlir::PassManager &pm,
345342
MLIRToLLVMPassPipelineConfig config,
346343
llvm::StringRef inputFilename) {
347344
fir::addBoxedProcedurePass(pm);
345+
if (config.OptLevel.isOptimizingForSpeed() && config.AliasAnalysis &&
346+
!disableFirAliasTags && !useOldAliasTags)
347+
pm.addPass(fir::createAddAliasTags());
348348
addNestedPassToAllTopLevelOperations<PassConstructor>(
349349
pm, fir::createAbstractResultOpt);
350350
addPassToGPUModuleOperations<PassConstructor>(pm,

flang/test/Driver/mlir-pass-pipeline.f90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,6 @@
109109
! O2-NEXT: OptimizeArrayRepacking
110110
! ALL-NEXT: LowerRepackArraysPass
111111
! ALL-NEXT: SimplifyFIROperations
112-
! O2-NEXT: AddAliasTags
113112

114113
! ALL-NEXT: Pipeline Collection : ['fir.global', 'func.func', 'omp.declare_reduction', 'omp.private']
115114
! ALL-NEXT: 'fir.global' Pipeline
@@ -134,6 +133,7 @@
134133
! O2-NEXT: 'func.func' Pipeline
135134
! O2-NEXT: SetRuntimeCallAttributes
136135
! ALL-NEXT: BoxedProcedurePass
136+
! O2-NEXT: AddAliasTags
137137

138138
! ALL-NEXT: Pipeline Collection : ['fir.global', 'func.func', 'gpu.module', 'omp.declare_reduction', 'omp.private']
139139
! ALL-NEXT: 'fir.global' Pipeline

flang/test/Fir/basic-program.fir

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,6 @@ func.func @_QQmain() {
107107
// PASSES-NEXT: OptimizeArrayRepacking
108108
// PASSES-NEXT: LowerRepackArraysPass
109109
// PASSES-NEXT: SimplifyFIROperations
110-
// PASSES-NEXT: AddAliasTags
111110

112111
// PASSES-NEXT: Pipeline Collection : ['fir.global', 'func.func', 'omp.declare_reduction', 'omp.private']
113112
// PASSES-NEXT: 'fir.global' Pipeline
@@ -132,6 +131,7 @@ func.func @_QQmain() {
132131
// PASSES-NEXT: 'func.func' Pipeline
133132
// PASSES-NEXT: SetRuntimeCallAttributes
134133
// PASSES-NEXT: BoxedProcedurePass
134+
// PASSES-NEXT: AddAliasTags
135135

136136
// PASSES-NEXT: Pipeline Collection : ['fir.global', 'func.func', 'gpu.module', 'omp.declare_reduction', 'omp.private']
137137
// PASSES-NEXT: 'fir.global' Pipeline

0 commit comments

Comments
 (0)