The `AddDebugInfo` pass currently has a dependency on the `DLTI` MLIR dialect caused by a call to the `fir::support::getOrSetMLIRDataLayout()` utility function. This dependency is not captured in the pass definition. This patch adds the dependency and simplifies several unit tests that had to explicitly use the `DLTI` dialect to prevent the missing dependency from causing compiler failures.
27 lines
1.2 KiB
Plaintext
27 lines
1.2 KiB
Plaintext
// RUN: fir-opt --add-debug-info --mlir-print-debuginfo %s -o - | FileCheck %s
|
|
|
|
module {
|
|
func.func @_QMhelperPmod_sub(%arg0: !fir.ref<i32> {fir.bindc_name = "a"} ) {
|
|
return
|
|
} loc(#loc1)
|
|
func.func private @_QMhelperFmod_subPchild1(%arg0: !fir.ref<i32> {fir.bindc_name = "b"} ) attributes {fir.host_symbol = @_QMhelperPmod_sub, llvm.linkage = #llvm.linkage<internal>} {
|
|
return
|
|
} loc(#loc2)
|
|
func.func @global_sub_(%arg0: !fir.ref<i32> {fir.bindc_name = "n"} ) attributes {fir.internal_name = "_QPglobal_sub"} {
|
|
return
|
|
} loc(#loc3)
|
|
func.func private @_QFglobal_subPchild2(%arg0: !fir.ref<i32> {fir.bindc_name = "c"}) attributes {fir.host_symbol = @global_sub_, llvm.linkage = #llvm.linkage<internal>} {
|
|
return
|
|
} loc(#loc4)
|
|
}
|
|
|
|
#loc1 = loc("test.f90":5:1)
|
|
#loc2 = loc("test.f90":15:1)
|
|
#loc3 = loc("test.f90":25:1)
|
|
#loc4 = loc("test.f90":35:1)
|
|
|
|
// CHECK-DAG: #[[SP1:.*]] = #llvm.di_subprogram<{{.*}}name = "mod_sub"{{.*}}>
|
|
// CHECK-DAG: #llvm.di_subprogram<{{.*}}scope = #[[SP1]], name = "child1"{{.*}}>
|
|
// CHECK-DAG: #[[SP2:.*]] = #llvm.di_subprogram<{{.*}}linkageName = "global_sub_"{{.*}}>
|
|
// CHECK-DAG: #llvm.di_subprogram<{{.*}}scope = #[[SP2]], name = "child2"{{.*}}>
|