Skip to content

Commit a1d78e4

Browse files
committed
Run ExternalNameConversion pass before AddDebugInfo.
This helps us generate the correct linkage name.
1 parent 017a895 commit a1d78e4

File tree

4 files changed

+13
-3
lines changed

4 files changed

+13
-3
lines changed

flang/lib/Optimizer/Passes/Pipelines.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,10 +264,10 @@ void createDefaultFIRCodeGenPassPipeline(mlir::PassManager &pm,
264264
addNestedPassToAllTopLevelOperations(pm, fir::createAbstractResultOpt);
265265
fir::addCodeGenRewritePass(
266266
pm, (config.DebugInfo != llvm::codegenoptions::NoDebugInfo));
267+
fir::addExternalNameConversionPass(pm, config.Underscoring);
267268
fir::createDebugPasses(pm, config.DebugInfo, config.OptLevel, inputFilename);
268269
fir::addTargetRewritePass(pm);
269270
fir::addCompilerGeneratedNamesConversionPass(pm);
270-
fir::addExternalNameConversionPass(pm, config.Underscoring);
271271

272272
if (config.VScaleMin != 0)
273273
pm.addPass(fir::createVScaleAttr({{config.VScaleMin, config.VScaleMax}}));

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,10 +111,10 @@
111111

112112
! ALL-NEXT: CodeGenRewrite
113113
! ALL-NEXT: (S) 0 num-dce'd - Number of operations eliminated
114+
! ALL-NEXT: ExternalNameConversion
114115
! DEBUG-NEXT: AddDebugInfo
115116
! NO-DEBUG-NOT: AddDebugInfo
116117
! ALL-NEXT: TargetRewrite
117118
! ALL-NEXT: CompilerGeneratedNamesConversion
118-
! ALL-NEXT: ExternalNameConversion
119119
! ALL: FIRToLLVMLowering
120120
! ALL-NOT: LLVMIRLoweringPass

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,8 @@
120120

121121
! ALL-NEXT: CodeGenRewrite
122122
! ALL-NEXT: (S) 0 num-dce'd - Number of operations eliminated
123+
! ALL-NEXT: ExternalNameConversion
123124
! ALL-NEXT: TargetRewrite
124125
! ALL-NEXT: CompilerGeneratedNamesConversion
125-
! ALL-NEXT: ExternalNameConversion
126126
! ALL-NEXT: FIRToLLVMLowering
127127
! ALL-NOT: LLVMIRLoweringPass
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
! RUN: %flang_fc1 -emit-llvm -debug-info-kind=standalone %s -o - | FileCheck %s
2+
3+
! Test that correct linkage name is generated in the debug info.
4+
subroutine sub(a)
5+
integer :: a
6+
return a+1
7+
end
8+
9+
!CHECK: !DISubprogram(name: "sub", linkageName: "sub_"{{.*}})
10+

0 commit comments

Comments
 (0)