brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.2 KiB · 02f0d5c Raw
37 lines · plain
1// Tests that inlined calls arguments are not mistaken for the arguments of the2// procedure where the calls were inlined.3// RUN: fir-opt --add-debug-info --mlir-print-debuginfo %s -o - | FileCheck %s4 5// CHECK: #di_local_variable = #llvm.di_local_variable<scope = #di_subprogram, name = "i", file = #di_file, line = 6, arg = 1, type = #di_basic_type>6// CHECK: #di_local_variable1 = #llvm.di_local_variable<scope = #di_subprogram, name = "i", file = #di_file, line = 1, type = #di_basic_type>7 8func.func @foo_(%arg0: !fir.ref<i32> {fir.bindc_name = "i"} loc("debug-dummy-argument-inline.f90":5:1)) attributes {fir.internal_name = "_QPfoo"} {9  %0 = fir.undefined !fir.dscope loc(#loc5)10  %1 = fircg.ext_declare %arg0 dummy_scope %0 arg 1 {uniq_name = "_QFfooEi"} : (!fir.ref<i32>, !fir.dscope) -> !fir.ref<i32> loc(#loc6)11  %2 = fir.undefined !fir.dscope loc(#loc11)12  %3 = fircg.ext_declare %1 dummy_scope %2 arg 1 {uniq_name = "_QFbarEi"} : (!fir.ref<i32>, !fir.dscope) -> !fir.ref<i32> loc(#loc12)13  fir.call @buzz_(%3) fastmath<contract> : (!fir.ref<i32>) -> () loc(#loc13)14  %4 = fir.undefined !fir.dscope loc(#loc14)15  %5 = fircg.ext_declare %1 dummy_scope %4 arg 1 {uniq_name = "_QFbarEi"} : (!fir.ref<i32>, !fir.dscope) -> !fir.ref<i32> loc(#loc15)16  fir.call @buzz_(%5) fastmath<contract> : (!fir.ref<i32>) -> () loc(#loc16)17  return loc(#loc9)18} loc(#loc5)19func.func private @buzz_(!fir.ref<i32>) attributes {fir.internal_name = "_QPbuzz"} loc(#loc10)20#loc = loc("debug-dummy-argument-inline.f90":0:0)21#loc1 = loc("debug-dummy-argument-inline.f90":1:1)22#loc2 = loc("debug-dummy-argument-inline.f90":2:14)23#loc3 = loc("debug-dummy-argument-inline.f90":3:3)24#loc4 = loc("debug-dummy-argument-inline.f90":4:1)25#loc5 = loc("debug-dummy-argument-inline.f90":5:1)26#loc6 = loc("debug-dummy-argument-inline.f90":6:14)27#loc7 = loc("debug-dummy-argument-inline.f90":7:3)28#loc8 = loc("debug-dummy-argument-inline.f90":8:3)29#loc9 = loc("debug-dummy-argument-inline.f90":9:1)30#loc10 = loc("debug-dummy-argument-inline.f90":3:8)31#loc11 = loc(callsite(#loc1 at #loc7))32#loc12 = loc(callsite(#loc2 at #loc7))33#loc13 = loc(callsite(#loc3 at #loc7))34#loc14 = loc(callsite(#loc1 at #loc8))35#loc15 = loc(callsite(#loc2 at #loc8))36#loc16 = loc(callsite(#loc3 at #loc8))37