|
22 | 22 | #loc4 = loc("debug-dummy-argument.f90":2:14) |
23 | 23 | module attributes {dlti.dl_spec = #dlti.dl_spec<i128 = dense<128> : vector<2xi64>, f80 = dense<128> : vector<2xi64>, i1 = dense<8> : vector<2xi64>, !llvm.ptr<271> = dense<32> : vector<4xi64>, !llvm.ptr = dense<64> : vector<4xi64>, i64 = dense<64> : vector<2xi64>, !llvm.ptr<272> = dense<64> : vector<4xi64>, i32 = dense<32> : vector<2xi64>, i16 = dense<16> : vector<2xi64>, !llvm.ptr<270> = dense<32> : vector<4xi64>, i8 = dense<8> : vector<2xi64>, f128 = dense<128> : vector<2xi64>, f16 = dense<16> : vector<2xi64>, f64 = dense<64> : vector<2xi64>, "dlti.stack_alignment" = 128 : i64, "dlti.mangling_mode" = "e", "dlti.endianness" = "little">, fir.defaultkind = "a1c4d8i4l4r4", fir.kindmap = "", fir.target_cpu = "x86-64", llvm.data_layout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128", llvm.ident = "flang", llvm.target_triple = "x86_64-unknown-linux-gnu"} { |
24 | 24 | func.func @test_(%arg0: !fir.ref<i32> {fir.bindc_name = "expected"} loc("debug-dummy-argument.f90":1:1), %arg1: !fir.box<!fir.array<?xi32>> {fir.bindc_name = "x"} loc("debug-dummy-argument.f90":1:1)) attributes {fir.internal_name = "_QPtest"} { |
25 | | - %c1_i32 = arith.constant 1 : i32 loc(#loc2) |
26 | | - %c2_i32 = arith.constant 2 : i32 loc(#loc2) |
27 | | - %false = arith.constant false loc(#loc2) |
28 | | - %c0 = arith.constant 0 : index loc(#loc2) |
29 | 25 | %0 = fir.undefined !fir.dscope loc(#loc1) |
30 | 26 | %1 = fircg.ext_declare %arg0 dummy_scope %0 {uniq_name = "_QFtestEexpected"} : (!fir.ref<i32>, !fir.dscope) -> !fir.ref<i32> loc(#loc3) |
31 | 27 | %2 = fir.is_present %arg1 : (!fir.box<!fir.array<?xi32>>) -> i1 loc(#loc4) |
32 | | - cf.cond_br %2, ^bb1, ^bb3(%c0, %false : index, i1) loc(#loc4) |
33 | | - ^bb1: // pred: ^bb0 |
34 | | - %3 = fir.convert %arg1 : (!fir.box<!fir.array<?xi32>>) -> !fir.box<none> loc(#loc4) |
35 | | - %4 = fir.call @_FortranAIsContiguous(%3) : (!fir.box<none>) -> i1 loc(#loc4) |
36 | | - cf.cond_br %4, ^bb3(%c0, %false : index, i1), ^bb2 loc(#loc4) |
37 | | - ^bb2: // pred: ^bb1 |
38 | | - %5:3 = fir.box_dims %arg1, %c0 : (!fir.box<!fir.array<?xi32>>, index) -> (index, index, index) loc(#loc4) |
39 | | - %6 = fir.box_addr %arg1 : (!fir.box<!fir.array<?xi32>>) -> !fir.ref<!fir.array<?xi32>> loc(#loc4) |
40 | | - %7 = fir.is_present %6 : (!fir.ref<!fir.array<?xi32>>) -> i1 loc(#loc4) |
41 | | - cf.br ^bb3(%5#1, %7 : index, i1) loc(#loc4) |
42 | | - ^bb3(%8: index loc("debug-dummy-argument.f90":2:14), %9: i1 loc("debug-dummy-argument.f90":2:14)): // 3 preds: ^bb0, ^bb1, ^bb2 |
43 | | - cf.cond_br %9, ^bb4, ^bb5(%arg1 : !fir.box<!fir.array<?xi32>>) loc(#loc4) |
44 | | - ^bb4: // pred: ^bb3 |
45 | | - %10 = fir.allocmem !fir.array<?xi32>, %8 {bindc_name = ".repacked", uniq_name = ""} loc(#loc4) |
46 | | - %11 = fircg.ext_embox %10(%8) : (!fir.heap<!fir.array<?xi32>>, index) -> !fir.box<!fir.heap<!fir.array<?xi32>>> loc(#loc4) |
47 | | - %12 = fir.address_of(@_QQclXa2e9fed26218fcd52fa404284303739b) : !fir.ref<!fir.char<1,43>> loc(#loc4) |
48 | | - %13 = fir.convert %11 : (!fir.box<!fir.heap<!fir.array<?xi32>>>) -> !fir.box<none> loc(#loc4) |
49 | | - %14 = fir.convert %arg1 : (!fir.box<!fir.array<?xi32>>) -> !fir.box<none> loc(#loc4) |
50 | | - %15 = fir.convert %12 : (!fir.ref<!fir.char<1,43>>) -> !fir.ref<i8> loc(#loc4) |
51 | | - fir.call @_FortranAShallowCopyDirect(%13, %14, %15, %c2_i32) : (!fir.box<none>, !fir.box<none>, !fir.ref<i8>, i32) -> () loc(#loc4) |
52 | | - %16 = fircg.ext_rebox %11 : (!fir.box<!fir.heap<!fir.array<?xi32>>>) -> !fir.box<!fir.array<?xi32>> loc(#loc4) |
53 | | - cf.br ^bb5(%16 : !fir.box<!fir.array<?xi32>>) loc(#loc4) |
| 28 | + cf.cond_br %2, ^bb5(%arg1 : !fir.box<!fir.array<?xi32>>), ^bb5(%arg1 : !fir.box<!fir.array<?xi32>>) loc(#loc4) |
54 | 29 | ^bb5(%17: !fir.box<!fir.array<?xi32>> loc("debug-dummy-argument.f90":2:14)): // 2 preds: ^bb3, ^bb4 |
55 | 30 | %18 = fircg.ext_declare %17 dummy_scope %0 {uniq_name = "_QFtestEx"} : (!fir.box<!fir.array<?xi32>>, !fir.dscope) -> !fir.box<!fir.array<?xi32>> loc(#loc4) |
56 | | - cf.cond_br %2, ^bb6, ^bb8 loc(#loc1) |
57 | | - ^bb6: // pred: ^bb5 |
58 | | - %19 = fir.box_addr %17 : (!fir.box<!fir.array<?xi32>>) -> !fir.heap<!fir.array<?xi32>> loc(#loc1) |
59 | | - %20 = fir.box_addr %arg1 : (!fir.box<!fir.array<?xi32>>) -> !fir.heap<!fir.array<?xi32>> loc(#loc1) |
60 | | - %21 = fir.convert %19 : (!fir.heap<!fir.array<?xi32>>) -> index loc(#loc1) |
61 | | - %22 = fir.convert %20 : (!fir.heap<!fir.array<?xi32>>) -> index loc(#loc1) |
62 | | - %23 = arith.cmpi ne, %21, %22 : index loc(#loc1) |
63 | | - cf.cond_br %23, ^bb7, ^bb8 loc(#loc1) |
64 | | - ^bb7: // pred: ^bb6 |
65 | | - %24 = fir.address_of(@_QQclXa2e9fed26218fcd52fa404284303739b) : !fir.ref<!fir.char<1,43>> loc(#loc1) |
66 | | - %25 = fir.convert %arg1 : (!fir.box<!fir.array<?xi32>>) -> !fir.box<none> loc(#loc1) |
67 | | - %26 = fir.convert %17 : (!fir.box<!fir.array<?xi32>>) -> !fir.box<none> loc(#loc1) |
68 | | - %27 = fir.convert %24 : (!fir.ref<!fir.char<1,43>>) -> !fir.ref<i8> loc(#loc1) |
69 | | - fir.call @_FortranAShallowCopyDirect(%25, %26, %27, %c1_i32) : (!fir.box<none>, !fir.box<none>, !fir.ref<i8>, i32) -> () loc(#loc1) |
70 | | - fir.freemem %19 : !fir.heap<!fir.array<?xi32>> loc(#loc1) |
71 | 31 | cf.br ^bb8 loc(#loc1) |
72 | | - ^bb8: // 3 preds: ^bb5, ^bb6, ^bb7 |
| 32 | + ^bb8: // 3 preds: ^bb5 |
73 | 33 | return loc(#loc5) |
74 | 34 | } loc(#loc1) |
75 | | - func.func private @_FortranAShallowCopyDirect(!fir.box<none>, !fir.box<none>, !fir.ref<i8>, i32) attributes {fir.runtime} loc(#loc1) |
76 | | - fir.global linkonce @_QQclXa2e9fed26218fcd52fa404284303739b constant : !fir.char<1,43> { |
77 | | - %0 = fir.string_lit "debug-dummy-argument.f90\00"(43) : !fir.char<1,43> loc(#loc1) |
78 | | - fir.has_value %0 : !fir.char<1,43> loc(#loc1) |
79 | | - } loc(#loc1) |
80 | | - func.func private @_FortranAIsContiguous(!fir.box<none>) -> i1 attributes {fir.runtime} loc(#loc4) |
81 | 35 | } loc(#loc) |
82 | 36 | #loc = loc("debug-dummy-argument.f90":0:0) |
83 | | -#loc2 = loc(unknown) |
84 | 37 | #loc3 = loc("debug-dummy-argument.f90":3:14) |
85 | 38 | #loc5 = loc("debug-dummy-argument.f90":4:1) |
0 commit comments