Index: flang/include/flang/Common/MathOptionsBase.def =================================================================== --- flang/include/flang/Common/MathOptionsBase.def +++ flang/include/flang/Common/MathOptionsBase.def @@ -17,7 +17,7 @@ #endif /// Allow fusing FP operations (e.g. create FMAs from mul/add). -ENUM_MATHOPT(FPContractEnabled, unsigned, 1, 0) +ENUM_MATHOPT(FPContractEnabled, unsigned, 1, 1) /// Permit floating point optimizations without regard to infinities. ENUM_MATHOPT(NoHonorInfs, unsigned, 1, 0) Index: flang/include/flang/Frontend/LangOptions.def =================================================================== --- flang/include/flang/Frontend/LangOptions.def +++ flang/include/flang/Frontend/LangOptions.def @@ -19,7 +19,7 @@ LANGOPT(Name, Bits, Default) #endif -ENUM_LANGOPT(FPContractMode, FPModeKind, 2, FPM_Off) ///< FP Contract Mode (off/fast) +ENUM_LANGOPT(FPContractMode, FPModeKind, 2, FPM_Fast) ///< FP Contract Mode (off/fast) /// Permit floating point optimization without regard to infinities LANGOPT(NoHonorInfs, 1, false) Index: flang/test/Fir/achar.f90 =================================================================== --- flang/test/Fir/achar.f90 +++ flang/test/Fir/achar.f90 @@ -21,4 +21,4 @@ ! CHECK: fir.store %[[VAL_6]] to %[[VAL_0]] : !fir.ref> ! CHECK: %[[VAL_7:.*]] = fir.alloca !fir.char<2,?>(%{{.*}} : index) ! CHECK: fir.char_convert %[[VAL_0]] for %{{.*}} to %[[VAL_7]] : !fir.ref>, index, !fir.ref> -! CHECK: fir.call @_QPachar_test1_foo(%{{.*}}) : (!fir.boxchar<2>) -> () +! CHECK: fir.call @_QPachar_test1_foo(%{{.*}}) {{.*}} : (!fir.boxchar<2>) -> () Index: flang/test/Lower/HLFIR/expr-addr.f90 =================================================================== --- flang/test/Lower/HLFIR/expr-addr.f90 +++ flang/test/Lower/HLFIR/expr-addr.f90 @@ -8,5 +8,5 @@ read (*,*) x ! CHECK: %[[x:.]]:2 = hlfir.declare %[[arg0]] {uniq_name = "_QFfooEx"} : (!fir.ref) -> (!fir.ref, !fir.ref) ! CHECK: %[[x_cast:.*]] = fir.convert %[[x]]#1 : (!fir.ref) -> !fir.ref - ! CHECK: fir.call @_FortranAioInputInteger(%{{.*}}, %[[x_cast]], %{{.*}}) : (!fir.ref, !fir.ref, i32) -> i1 + ! CHECK: fir.call @_FortranAioInputInteger(%{{.*}}, %[[x_cast]], %{{.*}}) {{.*}} : (!fir.ref, !fir.ref, i32) -> i1 end subroutine Index: flang/test/Lower/HLFIR/expr-value.f90 =================================================================== --- flang/test/Lower/HLFIR/expr-value.f90 +++ flang/test/Lower/HLFIR/expr-value.f90 @@ -5,7 +5,7 @@ subroutine foo() print *, 42 ! CHECK: %[[c42:.*]] = arith.constant 42 : i32 - ! CHECK: fir.call @_FortranAioOutputInteger32(%{{.*}}, %[[c42]]) : (!fir.ref, i32) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger32(%{{.*}}, %[[c42]]) {{.*}} : (!fir.ref, i32) -> i1 end subroutine ! CHECK-LABEL: func.func @_QPfoo_designator( @@ -14,5 +14,5 @@ !CHECK: %[[n:.*]]:2 = hlfir.declare %[[arg0]] {uniq_name = "_QFfoo_designatorEn"} : (!fir.ref) -> (!fir.ref, !fir.ref) print *, n ! CHECK: %[[nval:.*]] = fir.load %[[n]]#1 : !fir.ref - ! CHECK: fir.call @_FortranAioOutputInteger32(%{{.*}}, %[[nval]]) : (!fir.ref, i32) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger32(%{{.*}}, %[[nval]]) {{.*}} : (!fir.ref, i32) -> i1 end subroutine Index: flang/test/Lower/Intrinsics/abort.f90 =================================================================== --- flang/test/Lower/Intrinsics/abort.f90 +++ flang/test/Lower/Intrinsics/abort.f90 @@ -1,7 +1,7 @@ ! RUN: bbc -emit-fir %s -o - | FileCheck %s ! CHECK-LABEL: func.func @_QPabort_test() { -! CHECK: %[[VAL_0:.*]] = fir.call @_FortranAAbort() : () -> none +! CHECK: %[[VAL_0:.*]] = fir.call @_FortranAAbort() {{.*}} : () -> none ! CHECK: return ! CHECK: } Index: flang/test/Lower/Intrinsics/abs.f90 =================================================================== --- flang/test/Lower/Intrinsics/abs.f90 +++ flang/test/Lower/Intrinsics/abs.f90 @@ -40,7 +40,7 @@ subroutine abs_testh(a, b) ! CHECK: %[[VAL_2:.*]] = fir.load %[[VAL_0]] : !fir.ref ! CHECK: %[[VAL_2_1:.*]] = fir.convert %[[VAL_2]] : (f16) -> f32 -! CHECK: %[[VAL_3:.*]] = math.absf %[[VAL_2_1]] : f32 +! CHECK: %[[VAL_3:.*]] = math.absf %[[VAL_2_1]] {{.*}} : f32 ! CHECK: %[[VAL_3_1:.*]] = fir.convert %[[VAL_3]] : (f32) -> f16 ! CHECK: fir.store %[[VAL_3_1]] to %[[VAL_1]] : !fir.ref ! CHECK: return @@ -53,7 +53,7 @@ subroutine abs_testb(a, b) ! CHECK: %[[VAL_2:.*]] = fir.load %[[VAL_0]] : !fir.ref ! CHECK: %[[VAL_2_1:.*]] = fir.convert %[[VAL_2]] : (bf16) -> f32 -! CHECK: %[[VAL_3:.*]] = math.absf %[[VAL_2_1]] : f32 +! CHECK: %[[VAL_3:.*]] = math.absf %[[VAL_2_1]] {{.*}} : f32 ! CHECK: %[[VAL_3_1:.*]] = fir.convert %[[VAL_3]] : (f32) -> bf16 ! CHECK: fir.store %[[VAL_3_1]] to %[[VAL_1]] : !fir.ref ! CHECK: return @@ -65,7 +65,7 @@ ! CHECK-SAME: %[[VAL_0:.*]]: !fir.ref{{.*}}, %[[VAL_1:.*]]: !fir.ref{{.*}}) { subroutine abs_testr(a, b) ! CHECK: %[[VAL_2:.*]] = fir.load %[[VAL_0]] : !fir.ref -! CHECK: %[[VAL_3:.*]] = math.absf %[[VAL_2]] : f32 +! CHECK: %[[VAL_3:.*]] = math.absf %[[VAL_2]] {{.*}} : f32 ! CHECK: fir.store %[[VAL_3]] to %[[VAL_1]] : !fir.ref ! CHECK: return real :: a, b @@ -76,7 +76,7 @@ ! CHECK-SAME: %[[VAL_0:.*]]: !fir.ref{{.*}}, %[[VAL_1:.*]]: !fir.ref{{.*}}) { subroutine abs_testd(a, b) ! CHECK: %[[VAL_2:.*]] = fir.load %[[VAL_0]] : !fir.ref -! CHECK: %[[VAL_3:.*]] = math.absf %[[VAL_2]] : f64 +! CHECK: %[[VAL_3:.*]] = math.absf %[[VAL_2]] {{.*}} : f64 ! CHECK: fir.store %[[VAL_3]] to %[[VAL_1]] : !fir.ref ! CHECK: return real(kind=8) :: a, b @@ -87,7 +87,7 @@ ! CHECK-SAME: %[[VAL_0:.*]]: !fir.ref{{.*}}, %[[VAL_1:.*]]: !fir.ref{{.*}}) { subroutine abs_testr16(a, b) ! CHECK: %[[VAL_2:.*]] = fir.load %[[VAL_0]] : !fir.ref -! CHECK: %[[VAL_3:.*]] = math.absf %[[VAL_2]] : f128 +! CHECK: %[[VAL_3:.*]] = math.absf %[[VAL_2]] {{.*}} : f128 ! CHECK: fir.store %[[VAL_3]] to %[[VAL_1]] : !fir.ref ! CHECK: return real(kind=16) :: a, b @@ -100,7 +100,7 @@ ! CMPLX: %[[VAL_2:.*]] = fir.load %[[VAL_0]] : !fir.ref> ! CMPLX-FAST: %[[VAL_3:.*]] = fir.convert %[[VAL_2]] : (!fir.complex<4>) -> complex ! CMPLX-FAST: %[[VAL_4:.*]] = complex.abs %[[VAL_3]] : complex -! CMPLX-PRECISE: %[[VAL_4:.*]] = fir.call @cabsf(%[[VAL_2]]) : (!fir.complex<4>) -> f32 +! CMPLX-PRECISE: %[[VAL_4:.*]] = fir.call @cabsf(%[[VAL_2]]) {{.*}} : (!fir.complex<4>) -> f32 ! CMPLX: fir.store %[[VAL_4]] to %[[VAL_1]] : !fir.ref ! CMPLX: return complex :: a @@ -114,7 +114,7 @@ ! CMPLX: %[[VAL_2:.*]] = fir.load %[[VAL_0]] : !fir.ref> ! CMPLX-FAST: %[[VAL_3:.*]] = fir.convert %[[VAL_2]] : (!fir.complex<8>) -> complex ! CMPLX-FAST: %[[VAL_4:.*]] = complex.abs %[[VAL_3]] : complex -! CMPLX-PRECISE: %[[VAL_4:.*]] = fir.call @cabs(%[[VAL_2]]) : (!fir.complex<8>) -> f64 +! CMPLX-PRECISE: %[[VAL_4:.*]] = fir.call @cabs(%[[VAL_2]]) {{.*}} : (!fir.complex<8>) -> f64 ! CMPLX: fir.store %[[VAL_4]] to %[[VAL_1]] : !fir.ref ! CMPLX: return complex(kind=8) :: a Index: flang/test/Lower/Intrinsics/achar.f90 =================================================================== --- flang/test/Lower/Intrinsics/achar.f90 +++ flang/test/Lower/Intrinsics/achar.f90 @@ -15,7 +15,7 @@ ! CHECK: %[[C1_I64:.*]] = fir.convert %[[C1]] : (index) -> i64 ! CHECK: %[[C_CVT:.*]] = fir.convert %[[C]]#0 : (!fir.ref>) -> !fir.ref ! CHECK: %[[TEMP_WITH_XCHAR:.*]] = fir.convert %[[TEMP]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[C_CVT]], %[[TEMP_WITH_XCHAR]], %[[C1_I64]], %[[FALSE]]) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[C_CVT]], %[[TEMP_WITH_XCHAR]], %[[C1_I64]], %[[FALSE]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () subroutine test1(x, c) integer :: x character :: c Index: flang/test/Lower/Intrinsics/acos.f90 =================================================================== --- flang/test/Lower/Intrinsics/acos.f90 +++ flang/test/Lower/Intrinsics/acos.f90 @@ -11,7 +11,7 @@ end function ! ALL-LABEL: @_QPtest_real4 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @acosf({{%[A-Za-z0-9._]+}}) : (f32) -> f32 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @acosf({{%[A-Za-z0-9._]+}}) {{.*}} : (f32) -> f32 function test_real8(x) real(8) :: x, test_real8 @@ -19,7 +19,7 @@ end function ! ALL-LABEL: @_QPtest_real8 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @acos({{%[A-Za-z0-9._]+}}) : (f64) -> f64 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @acos({{%[A-Za-z0-9._]+}}) {{.*}} : (f64) -> f64 function test_complex4(x) complex :: x, test_complex4 @@ -27,7 +27,7 @@ end function ! ALL-LABEL: @_QPtest_complex4 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @cacosf({{%[A-Za-z0-9._]+}}) : (!fir.complex<4>) -> !fir.complex<4> +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @cacosf({{%[A-Za-z0-9._]+}}) {{.*}} : (!fir.complex<4>) -> !fir.complex<4> function test_complex8(x) complex(kind=8) :: x, test_complex8 @@ -35,5 +35,5 @@ end function ! ALL-LABEL: @_QPtest_complex8 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @cacos({{%[A-Za-z0-9._]+}}) : (!fir.complex<8>) -> !fir.complex<8> +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @cacos({{%[A-Za-z0-9._]+}}) {{.*}} : (!fir.complex<8>) -> !fir.complex<8> Index: flang/test/Lower/Intrinsics/acosh.f90 =================================================================== --- flang/test/Lower/Intrinsics/acosh.f90 +++ flang/test/Lower/Intrinsics/acosh.f90 @@ -11,7 +11,7 @@ end function ! ALL-LABEL: @_QPtest_real4 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @acoshf({{%[A-Za-z0-9._]+}}) : (f32) -> f32 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @acoshf({{%[A-Za-z0-9._]+}}) {{.*}} : (f32) -> f32 function test_real8(x) real(8) :: x, test_real8 @@ -19,7 +19,7 @@ end function ! ALL-LABEL: @_QPtest_real8 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @acosh({{%[A-Za-z0-9._]+}}) : (f64) -> f64 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @acosh({{%[A-Za-z0-9._]+}}) {{.*}} : (f64) -> f64 function test_complex4(x) complex :: x, test_complex4 @@ -27,7 +27,7 @@ end function ! ALL-LABEL: @_QPtest_complex4 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @cacoshf({{%[A-Za-z0-9._]+}}) : (!fir.complex<4>) -> !fir.complex<4> +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @cacoshf({{%[A-Za-z0-9._]+}}) {{.*}} : (!fir.complex<4>) -> !fir.complex<4> function test_complex8(x) complex(kind=8) :: x, test_complex8 @@ -35,5 +35,5 @@ end function ! ALL-LABEL: @_QPtest_complex8 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @cacosh({{%[A-Za-z0-9._]+}}) : (!fir.complex<8>) -> !fir.complex<8> +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @cacosh({{%[A-Za-z0-9._]+}}) {{.*}} : (!fir.complex<8>) -> !fir.complex<8> Index: flang/test/Lower/Intrinsics/adjustl.f90 =================================================================== --- flang/test/Lower/Intrinsics/adjustl.f90 +++ flang/test/Lower/Intrinsics/adjustl.f90 @@ -13,7 +13,7 @@ ! CHECK: %[[r3:.*]] = fir.convert %[[strBox]] : (!fir.ref>>>) -> !fir.ref> ! CHECK: %[[r4:.*]] = fir.convert %[[eBox]] : (!fir.box>) -> !fir.box ! CHECK: %[[r5:.*]] = fir.convert %[[r2]] : (!fir.ref>) -> !fir.ref - ! CHECK: %[[r6:.*]] = fir.call @_FortranAAdjustl(%[[r3]], %[[r4]], %[[r5]], %{{.*}}) : (!fir.ref>, !fir.box, !fir.ref, i32) -> none + ! CHECK: %[[r6:.*]] = fir.call @_FortranAAdjustl(%[[r3]], %[[r4]], %[[r5]], %{{.*}}) {{.*}} : (!fir.ref>, !fir.box, !fir.ref, i32) -> none adjust_str = adjustl(adjust_str) end subroutine - \ No newline at end of file + Index: flang/test/Lower/Intrinsics/adjustr.f90 =================================================================== --- flang/test/Lower/Intrinsics/adjustr.f90 +++ flang/test/Lower/Intrinsics/adjustr.f90 @@ -13,7 +13,7 @@ ! CHECK: %[[r3:.*]] = fir.convert %[[strBox]] : (!fir.ref>>>) -> !fir.ref> ! CHECK: %[[r4:.*]] = fir.convert %[[eBox]] : (!fir.box>) -> !fir.box ! CHECK: %[[r5:.*]] = fir.convert %[[r2]] : (!fir.ref>) -> !fir.ref - ! CHECK: %[[r6:.*]] = fir.call @_FortranAAdjustr(%[[r3]], %[[r4]], %[[r5]], %{{.*}}) : (!fir.ref>, !fir.box, !fir.ref, i32) -> none + ! CHECK: %[[r6:.*]] = fir.call @_FortranAAdjustr(%[[r3]], %[[r4]], %[[r5]], %{{.*}}) {{.*}} : (!fir.ref>, !fir.box, !fir.ref, i32) -> none adjust_str = adjustr(adjust_str) end subroutine - \ No newline at end of file + Index: flang/test/Lower/Intrinsics/aint.f90 =================================================================== --- flang/test/Lower/Intrinsics/aint.f90 +++ flang/test/Lower/Intrinsics/aint.f90 @@ -4,7 +4,7 @@ ! CHECK-SAME: %[[VAL_0:.*]]: !fir.ref{{.*}}, %[[VAL_1:.*]]: !fir.ref{{.*}}) { subroutine aint_test(a, b) ! CHECK: %[[VAL_2:.*]] = fir.load %[[VAL_0]] : !fir.ref -! CHECK: %[[VAL_3:.*]] = fir.call @llvm.trunc.f32(%[[VAL_2]]) : (f32) -> f32 +! CHECK: %[[VAL_3:.*]] = fir.call @llvm.trunc.f32(%[[VAL_2]]) {{.*}} : (f32) -> f32 ! CHECK: fir.store %[[VAL_3]] to %[[VAL_1]] : !fir.ref ! CHECK: return real :: a, b @@ -15,7 +15,7 @@ ! CHECK-SAME: %[[VAL_0:.*]]: !fir.ref {fir.bindc_name = "a"}, ! CHECK-SAME: %[[VAL_1:.*]]: !fir.ref {fir.bindc_name = "b"}) { ! CHECK: %[[VAL_2:.*]] = fir.load %[[VAL_0]] : !fir.ref -! CHECK: %[[VAL_3:.*]] = fir.call @llvm.trunc.f64(%[[VAL_2]]) : (f64) -> f64 +! CHECK: %[[VAL_3:.*]] = fir.call @llvm.trunc.f64(%[[VAL_2]]) {{.*}} : (f64) -> f64 ! CHECK: fir.store %[[VAL_3]] to %[[VAL_1]] : !fir.ref ! CHECK: return ! CHECK: } @@ -29,7 +29,7 @@ ! CHECK-SAME: %[[VAL_0:.*]]: !fir.ref {fir.bindc_name = "a"}, ! CHECK-SAME: %[[VAL_1:.*]]: !fir.ref {fir.bindc_name = "b"}) { ! CHECK: %[[VAL_2:.*]] = fir.load %[[VAL_0]] : !fir.ref -! CHECK: %[[VAL_3:.*]] = fir.call @llvm.trunc.f80(%[[VAL_2]]) : (f80) -> f80 +! CHECK: %[[VAL_3:.*]] = fir.call @llvm.trunc.f80(%[[VAL_2]]) {{.*}} : (f80) -> f80 ! CHECK: fir.store %[[VAL_3]] to %[[VAL_1]] : !fir.ref ! CHECK: return ! CHECK: } Index: flang/test/Lower/Intrinsics/all.f90 =================================================================== --- flang/test/Lower/Intrinsics/all.f90 +++ flang/test/Lower/Intrinsics/all.f90 @@ -8,7 +8,7 @@ ! CHECK: %[[a1:.*]] = fir.convert %[[arg0]] : (!fir.box>>) -> !fir.box ! CHECK: %[[a2:.*]] = fir.convert %[[c1]] : (index) -> i32 all_test = all(mask) -! CHECK: %[[a3:.*]] = fir.call @_FortranAAll(%[[a1]], %{{.*}}, %{{.*}}, %[[a2]]) : (!fir.box, !fir.ref, i32, i32) -> i1 +! CHECK: %[[a3:.*]] = fir.call @_FortranAAll(%[[a1]], %{{.*}}, %{{.*}}, %[[a2]]) {{.*}} : (!fir.box, !fir.ref, i32, i32) -> i1 end function all_test ! CHECK-LABEL: all_test2 @@ -24,7 +24,7 @@ ! CHECK: %[[a6:.*]] = fir.convert %[[a0:.*]] : (!fir.ref>>>>) -> !fir.ref> ! CHECK: %[[a7:.*]] = fir.convert %[[arg0:.*]]: (!fir.box>>) -> !fir.box rslt = all(mask, d) -! CHECK: %[[r1:.*]] = fir.call @_FortranAAllDim(%[[a6:.*]], %[[a7:.*]], %[[a1:.*]], %{{.*}}, %{{.*}}) : (!fir.ref>, !fir.box, i32, !fir.ref, i32) -> none +! CHECK: %[[r1:.*]] = fir.call @_FortranAAllDim(%[[a6:.*]], %[[a7:.*]], %[[a1:.*]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, !fir.box, i32, !fir.ref, i32) -> none ! CHECK: %[[a10:.*]] = fir.load %[[a0:.*]] : !fir.ref>>>> ! CHECK: %[[a12:.*]] = fir.box_addr %[[a10:.*]] : (!fir.box>>>) -> !fir.heap>> ! CHECK: fir.freemem %[[a12:.*]] Index: flang/test/Lower/Intrinsics/any.f90 =================================================================== --- flang/test/Lower/Intrinsics/any.f90 +++ flang/test/Lower/Intrinsics/any.f90 @@ -8,7 +8,7 @@ ! CHECK: %[[a1:.*]] = fir.convert %[[arg0]] : (!fir.box>>) -> !fir.box ! CHECK: %[[a2:.*]] = fir.convert %[[c1]] : (index) -> i32 any_test = any(mask) -! CHECK: %[[a3:.*]] = fir.call @_FortranAAny(%[[a1]], %{{.*}}, %{{.*}}, %[[a2]]) : (!fir.box, !fir.ref, i32, i32) -> i1 +! CHECK: %[[a3:.*]] = fir.call @_FortranAAny(%[[a1]], %{{.*}}, %{{.*}}, %[[a2]]) {{.*}} : (!fir.box, !fir.ref, i32, i32) -> i1 end function any_test ! CHECK-LABEL: any_test2 @@ -24,7 +24,7 @@ ! CHECK-DAG: %[[a6:.*]] = fir.convert %[[a0:.*]] : (!fir.ref>>>>) -> !fir.ref> ! CHECK-DAG: %[[a7:.*]] = fir.convert %[[arg0:.*]]: (!fir.box>>) -> !fir.box rslt = any(mask, d) -! CHECK: %[[r1:.*]] = fir.call @_FortranAAnyDim(%[[a6:.*]], %[[a7:.*]], %[[a1:.*]], %{{.*}}, %{{.*}}) : (!fir.ref>, !fir.box, i32, !fir.ref, i32) -> none +! CHECK: %[[r1:.*]] = fir.call @_FortranAAnyDim(%[[a6:.*]], %[[a7:.*]], %[[a1:.*]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, !fir.box, i32, !fir.ref, i32) -> none ! CHECK-DAG: %[[a10:.*]] = fir.load %[[a0:.*]] : !fir.ref>>>> ! CHECK-DAG: %[[a12:.*]] = fir.box_addr %[[a10:.*]] : (!fir.box>>>) -> !fir.heap>> ! CHECK-DAG fir.freemem %[[a12:.*]] Index: flang/test/Lower/Intrinsics/asin.f90 =================================================================== --- flang/test/Lower/Intrinsics/asin.f90 +++ flang/test/Lower/Intrinsics/asin.f90 @@ -11,7 +11,7 @@ end function ! ALL-LABEL: @_QPtest_real4 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @asinf({{%[A-Za-z0-9._]+}}) : (f32) -> f32 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @asinf({{%[A-Za-z0-9._]+}}) {{.*}} : (f32) -> f32 function test_real8(x) real(8) :: x, test_real8 @@ -19,7 +19,7 @@ end function ! ALL-LABEL: @_QPtest_real8 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @asin({{%[A-Za-z0-9._]+}}) : (f64) -> f64 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @asin({{%[A-Za-z0-9._]+}}) {{.*}} : (f64) -> f64 function test_complex4(x) complex :: x, test_complex4 @@ -27,7 +27,7 @@ end function ! ALL-LABEL: @_QPtest_complex4 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @casinf({{%[A-Za-z0-9._]+}}) : (!fir.complex<4>) -> !fir.complex<4> +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @casinf({{%[A-Za-z0-9._]+}}) {{.*}} : (!fir.complex<4>) -> !fir.complex<4> function test_complex8(x) complex(kind=8) :: x, test_complex8 @@ -35,5 +35,5 @@ end function ! ALL-LABEL: @_QPtest_complex8 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @casin({{%[A-Za-z0-9._]+}}) : (!fir.complex<8>) -> !fir.complex<8> +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @casin({{%[A-Za-z0-9._]+}}) {{.*}} : (!fir.complex<8>) -> !fir.complex<8> Index: flang/test/Lower/Intrinsics/asinh.f90 =================================================================== --- flang/test/Lower/Intrinsics/asinh.f90 +++ flang/test/Lower/Intrinsics/asinh.f90 @@ -11,7 +11,7 @@ end function ! ALL-LABEL: @_QPtest_real4 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @asinhf({{%[A-Za-z0-9._]+}}) : (f32) -> f32 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @asinhf({{%[A-Za-z0-9._]+}}) {{.*}} : (f32) -> f32 function test_real8(x) real(8) :: x, test_real8 @@ -19,7 +19,7 @@ end function ! ALL-LABEL: @_QPtest_real8 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @asinh({{%[A-Za-z0-9._]+}}) : (f64) -> f64 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @asinh({{%[A-Za-z0-9._]+}}) {{.*}} : (f64) -> f64 function test_complex4(x) complex :: x, test_complex4 @@ -27,7 +27,7 @@ end function ! ALL-LABEL: @_QPtest_complex4 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @casinhf({{%[A-Za-z0-9._]+}}) : (!fir.complex<4>) -> !fir.complex<4> +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @casinhf({{%[A-Za-z0-9._]+}}) {{.*}} : (!fir.complex<4>) -> !fir.complex<4> function test_complex8(x) complex(kind=8) :: x, test_complex8 @@ -35,5 +35,5 @@ end function ! ALL-LABEL: @_QPtest_complex8 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @casinh({{%[A-Za-z0-9._]+}}) : (!fir.complex<8>) -> !fir.complex<8> +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @casinh({{%[A-Za-z0-9._]+}}) {{.*}} : (!fir.complex<8>) -> !fir.complex<8> Index: flang/test/Lower/Intrinsics/associated.f90 =================================================================== --- flang/test/Lower/Intrinsics/associated.f90 +++ flang/test/Lower/Intrinsics/associated.f90 @@ -20,7 +20,7 @@ ! CHECK: %[[scalar:.*]] = fir.load %[[arg0]] : !fir.ref>> ! CHECK: %[[sbox:.*]] = fir.convert %[[scalar]] : (!fir.box>) -> !fir.box ! CHECK: %[[zbox:.*]] = fir.convert %[[zbox0]] : (!fir.box) -> !fir.box - ! CHECK: fir.call @_FortranAPointerIsAssociatedWith(%[[sbox]], %[[zbox]]) : (!fir.box, !fir.box) -> i1 + ! CHECK: fir.call @_FortranAPointerIsAssociatedWith(%[[sbox]], %[[zbox]]) {{.*}} : (!fir.box, !fir.box) -> i1 print *, associated(scalar, ziel) end subroutine @@ -30,7 +30,7 @@ real, pointer :: get_pointer(:) end function end interface - ! CHECK: %[[result:.*]] = fir.call @_QPget_pointer() : () -> !fir.box>> + ! CHECK: %[[result:.*]] = fir.call @_QPget_pointer() {{.*}} : () -> !fir.box>> ! CHECK: fir.save_result %[[result]] to %[[box_storage:.*]] : !fir.box>>, !fir.ref>>> ! CHECK: %[[box:.*]] = fir.load %[[box_storage]] : !fir.ref>>> ! CHECK: %[[addr:.*]] = fir.box_addr %[[box]] : (!fir.box>>) -> !fir.ptr> @@ -59,7 +59,7 @@ ! CHECK: } ! CHECK: %[[VAL_13:.*]] = fir.load %[[VAL_0]] : !fir.ref>>> ! CHECK: %[[VAL_14:.*]] = fir.convert %[[VAL_13]] : (!fir.box>>) -> !fir.box - ! CHECK: fir.call @_FortranAPointerIsAssociatedWith(%[[VAL_14]], %[[VAL_4]]) : (!fir.box, !fir.box) -> i1 + ! CHECK: fir.call @_FortranAPointerIsAssociatedWith(%[[VAL_14]], %[[VAL_4]]) {{.*}} : (!fir.box, !fir.box) -> i1 end subroutine ! CHECK-LABEL: func @_QPtest_optional_target_2( @@ -79,7 +79,7 @@ ! CHECK: } ! CHECK: %[[VAL_10:.*]] = fir.load %[[VAL_0]] : !fir.ref>>> ! CHECK: %[[VAL_11:.*]] = fir.convert %[[VAL_10]] : (!fir.box>>) -> !fir.box - ! CHECK: fir.call @_FortranAPointerIsAssociatedWith(%[[VAL_11]], %[[VAL_8]]) : (!fir.box, !fir.box) -> i1 + ! CHECK: fir.call @_FortranAPointerIsAssociatedWith(%[[VAL_11]], %[[VAL_8]]) {{.*}} : (!fir.box, !fir.box) -> i1 end subroutine ! CHECK-LABEL: func @_QPtest_optional_target_3( @@ -100,7 +100,7 @@ ! CHECK: } ! CHECK: %[[VAL_11:.*]] = fir.load %[[VAL_0]] : !fir.ref>>> ! CHECK: %[[VAL_12:.*]] = fir.convert %[[VAL_11]] : (!fir.box>>) -> !fir.box - ! CHECK: fir.call @_FortranAPointerIsAssociatedWith(%[[VAL_12]], %[[VAL_9]]) : (!fir.box, !fir.box) -> i1 + ! CHECK: fir.call @_FortranAPointerIsAssociatedWith(%[[VAL_12]], %[[VAL_9]]) {{.*}} : (!fir.box, !fir.box) -> i1 end subroutine ! CHECK-LABEL: func @_QPtest_optional_target_4( @@ -121,7 +121,7 @@ ! CHECK: } ! CHECK: %[[VAL_11:.*]] = fir.load %[[VAL_0]] : !fir.ref>>> ! CHECK: %[[VAL_12:.*]] = fir.convert %[[VAL_11]] : (!fir.box>>) -> !fir.box - ! CHECK: fir.call @_FortranAPointerIsAssociatedWith(%[[VAL_12]], %[[VAL_9]]) : (!fir.box, !fir.box) -> i1 + ! CHECK: fir.call @_FortranAPointerIsAssociatedWith(%[[VAL_12]], %[[VAL_9]]) {{.*}} : (!fir.box, !fir.box) -> i1 end subroutine ! CHECK-LABEL: func @_QPtest_pointer_target( @@ -135,7 +135,7 @@ ! CHECK: %[[VAL_8:.*]] = fir.load %[[VAL_0]] : !fir.ref>>> ! CHECK: %[[VAL_9:.*]] = fir.convert %[[VAL_8]] : (!fir.box>>) -> !fir.box ! CHECK: %[[VAL_10:.*]] = fir.convert %[[VAL_7]] : (!fir.box>>) -> !fir.box - ! CHECK: fir.call @_FortranAPointerIsAssociatedWith(%[[VAL_9]], %[[VAL_10]]) : (!fir.box, !fir.box) -> i1 + ! CHECK: fir.call @_FortranAPointerIsAssociatedWith(%[[VAL_9]], %[[VAL_10]]) {{.*}} : (!fir.box, !fir.box) -> i1 end subroutine ! CHECK-LABEL: func @_QPtest_allocatable_target( @@ -148,6 +148,6 @@ ! CHECK: %[[VAL_8:.*]] = fir.load %[[VAL_0]] : !fir.ref>>> ! CHECK: %[[VAL_9:.*]] = fir.convert %[[VAL_8]] : (!fir.box>>) -> !fir.box ! CHECK: %[[VAL_10:.*]] = fir.convert %[[VAL_7]] : (!fir.box>>) -> !fir.box - ! CHECK: fir.call @_FortranAPointerIsAssociatedWith(%[[VAL_9]], %[[VAL_10]]) : (!fir.box, !fir.box) -> i1 + ! CHECK: fir.call @_FortranAPointerIsAssociatedWith(%[[VAL_9]], %[[VAL_10]]) {{.*}} : (!fir.box, !fir.box) -> i1 print *, associated(p, allocatable_ziel) end subroutine Index: flang/test/Lower/Intrinsics/atanh.f90 =================================================================== --- flang/test/Lower/Intrinsics/atanh.f90 +++ flang/test/Lower/Intrinsics/atanh.f90 @@ -11,7 +11,7 @@ end function ! ALL-LABEL: @_QPtest_real4 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @atanhf({{%[A-Za-z0-9._]+}}) : (f32) -> f32 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @atanhf({{%[A-Za-z0-9._]+}}) {{.*}} : (f32) -> f32 function test_real8(x) real(8) :: x, test_real8 @@ -19,7 +19,7 @@ end function ! ALL-LABEL: @_QPtest_real8 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @atanh({{%[A-Za-z0-9._]+}}) : (f64) -> f64 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @atanh({{%[A-Za-z0-9._]+}}) {{.*}} : (f64) -> f64 function test_complex4(x) complex :: x, test_complex4 @@ -27,7 +27,7 @@ end function ! ALL-LABEL: @_QPtest_complex4 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @catanhf({{%[A-Za-z0-9._]+}}) : (!fir.complex<4>) -> !fir.complex<4> +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @catanhf({{%[A-Za-z0-9._]+}}) {{.*}} : (!fir.complex<4>) -> !fir.complex<4> function test_complex8(x) complex(kind=8) :: x, test_real8 @@ -35,4 +35,4 @@ end function ! ALL-LABEL: @_QPtest_complex8 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @catanh({{%[A-Za-z0-9._]+}}) : (!fir.complex<8>) -> !fir.complex<8> +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @catanh({{%[A-Za-z0-9._]+}}) {{.*}} : (!fir.complex<8>) -> !fir.complex<8> Index: flang/test/Lower/Intrinsics/bessel_j0.f90 =================================================================== --- flang/test/Lower/Intrinsics/bessel_j0.f90 +++ flang/test/Lower/Intrinsics/bessel_j0.f90 @@ -11,7 +11,7 @@ end function ! ALL-LABEL: @_QPtest_real4 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @j0f({{%[A-Za-z0-9._]+}}) : (f32) -> f32 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @j0f({{%[A-Za-z0-9._]+}}) {{.*}} : (f32) -> f32 function test_real8(x) real(8) :: x, test_real8 @@ -19,4 +19,4 @@ end function ! ALL-LABEL: @_QPtest_real8 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @j0({{%[A-Za-z0-9._]+}}) : (f64) -> f64 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @j0({{%[A-Za-z0-9._]+}}) {{.*}} : (f64) -> f64 Index: flang/test/Lower/Intrinsics/bessel_j1.f90 =================================================================== --- flang/test/Lower/Intrinsics/bessel_j1.f90 +++ flang/test/Lower/Intrinsics/bessel_j1.f90 @@ -11,7 +11,7 @@ end function ! ALL-LABEL: @_QPtest_real4 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @j1f({{%[A-Za-z0-9._]+}}) : (f32) -> f32 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @j1f({{%[A-Za-z0-9._]+}}) {{.*}} : (f32) -> f32 function test_real8(x) real(8) :: x, test_real8 @@ -19,4 +19,4 @@ end function ! ALL-LABEL: @_QPtest_real8 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @j1({{%[A-Za-z0-9._]+}}) : (f64) -> f64 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @j1({{%[A-Za-z0-9._]+}}) {{.*}} : (f64) -> f64 Index: flang/test/Lower/Intrinsics/bessel_jn.f90 =================================================================== --- flang/test/Lower/Intrinsics/bessel_jn.f90 +++ flang/test/Lower/Intrinsics/bessel_jn.f90 @@ -12,7 +12,7 @@ end function ! ALL-LABEL: @_QPtest_real4 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @jnf({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) : (i32, f32) -> f32 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @jnf({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) {{.*}} : (i32, f32) -> f32 function test_real8(x, n) real(8) :: x, test_real8 @@ -21,4 +21,4 @@ end function ! ALL-LABEL: @_QPtest_real8 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @jn({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) : (i32, f64) -> f64 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @jn({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) {{.*}} : (i32, f64) -> f64 Index: flang/test/Lower/Intrinsics/bessel_y0.f90 =================================================================== --- flang/test/Lower/Intrinsics/bessel_y0.f90 +++ flang/test/Lower/Intrinsics/bessel_y0.f90 @@ -11,7 +11,7 @@ end function ! ALL-LABEL: @_QPtest_real4 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @y0f({{%[A-Za-z0-9._]+}}) : (f32) -> f32 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @y0f({{%[A-Za-z0-9._]+}}) {{.*}} : (f32) -> f32 function test_real8(x) real(8) :: x, test_real8 @@ -19,4 +19,4 @@ end function ! ALL-LABEL: @_QPtest_real8 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @y0({{%[A-Za-z0-9._]+}}) : (f64) -> f64 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @y0({{%[A-Za-z0-9._]+}}) {{.*}} : (f64) -> f64 Index: flang/test/Lower/Intrinsics/bessel_y1.f90 =================================================================== --- flang/test/Lower/Intrinsics/bessel_y1.f90 +++ flang/test/Lower/Intrinsics/bessel_y1.f90 @@ -11,7 +11,7 @@ end function ! ALL-LABEL: @_QPtest_real4 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @y1f({{%[A-Za-z0-9._]+}}) : (f32) -> f32 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @y1f({{%[A-Za-z0-9._]+}}) {{.*}} : (f32) -> f32 function test_real8(x) real(8) :: x, test_real8 @@ -19,4 +19,4 @@ end function ! ALL-LABEL: @_QPtest_real8 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @y1({{%[A-Za-z0-9._]+}}) : (f64) -> f64 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @y1({{%[A-Za-z0-9._]+}}) {{.*}} : (f64) -> f64 Index: flang/test/Lower/Intrinsics/bessel_yn.f90 =================================================================== --- flang/test/Lower/Intrinsics/bessel_yn.f90 +++ flang/test/Lower/Intrinsics/bessel_yn.f90 @@ -12,7 +12,7 @@ end function ! ALL-LABEL: @_QPtest_real4 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @ynf({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) : (i32, f32) -> f32 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @ynf({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) {{.*}} : (i32, f32) -> f32 function test_real8(x, n) real(8) :: x, test_real8 @@ -21,4 +21,4 @@ end function ! ALL-LABEL: @_QPtest_real8 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @yn({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) : (i32, f64) -> f64 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @yn({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) {{.*}} : (i32, f64) -> f64 Index: flang/test/Lower/Intrinsics/cmplx.f90 =================================================================== --- flang/test/Lower/Intrinsics/cmplx.f90 +++ flang/test/Lower/Intrinsics/cmplx.f90 @@ -92,7 +92,7 @@ end function end interface print *, cmplx(x, return_pointer()) -! CHECK: %[[VAL_9:.*]] = fir.call @_QPreturn_pointer() : () -> !fir.box> +! CHECK: %[[VAL_9:.*]] = fir.call @_QPreturn_pointer() {{.*}} : () -> !fir.box> ! CHECK: fir.save_result %[[VAL_9]] to %[[VAL_2:.*]] : !fir.box>, !fir.ref>> ! CHECK: %[[VAL_10:.*]] = fir.load %[[VAL_2]] : !fir.ref>> ! CHECK: %[[VAL_11:.*]] = fir.box_addr %[[VAL_10]] : (!fir.box>) -> !fir.ptr Index: flang/test/Lower/Intrinsics/command_argument_count.f90 =================================================================== --- flang/test/Lower/Intrinsics/command_argument_count.f90 +++ flang/test/Lower/Intrinsics/command_argument_count.f90 @@ -6,6 +6,6 @@ subroutine argument_count_test() integer :: arg_count_test arg_count_test = command_argument_count() -! CHECK: %[[argumentCount:.*]] = fir.call @_FortranAArgumentCount() : () -> i32 +! CHECK: %[[argumentCount:.*]] = fir.call @_FortranAArgumentCount() {{.*}} : () -> i32 ! CHECK-64: %{{[0-9]+}} = fir.convert %[[argumentCount]] : (i32) -> i64 end subroutine argument_count_test Index: flang/test/Lower/Intrinsics/count.f90 =================================================================== --- flang/test/Lower/Intrinsics/count.f90 +++ flang/test/Lower/Intrinsics/count.f90 @@ -9,7 +9,7 @@ ! CHECK-DAG: %[[a2:.*]] = fir.convert %[[arg1]] : (!fir.box>>) -> !fir.box ! CHECK: %[[a4:.*]] = fir.convert %[[c1]] : (index) -> i32 rslt = count(mask) - ! CHECK: %[[a5:.*]] = fir.call @_FortranACount(%[[a2]], %{{.*}}, %{{.*}}, %[[a4]]) : (!fir.box, !fir.ref, i32, i32) -> i64 + ! CHECK: %[[a5:.*]] = fir.call @_FortranACount(%[[a2]], %{{.*}}, %{{.*}}, %[[a4]]) {{.*}} : (!fir.box, !fir.ref, i32, i32) -> i64 end subroutine ! CHECK-LABEL: test_count2 @@ -24,7 +24,7 @@ ! CHECK: %[[a6:.*]] = fir.convert %[[arg1]] : (!fir.box>>) -> !fir.box ! CHECK: %[[a7:.*]] = fir.convert %[[c4]] : (index) -> i32 rslt = count(mask, dim=1) - ! CHECK: %{{.*}} = fir.call @_FortranACountDim(%[[a5]], %[[a6]], %[[c1_i32]], %[[a7]], %{{.*}}, %{{.*}}) : (!fir.ref>, !fir.box, i32, i32, !fir.ref, i32) -> none + ! CHECK: %{{.*}} = fir.call @_FortranACountDim(%[[a5]], %[[a6]], %[[c1_i32]], %[[a7]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, !fir.box, i32, i32, !fir.ref, i32) -> none ! CHECK: %[[a10:.*]] = fir.load %[[a0]] : !fir.ref>>> ! CHECK: %[[a12:.*]] = fir.box_addr %[[a10]] : (!fir.box>>) -> !fir.heap> ! CHECK: fir.freemem %[[a12]] @@ -39,7 +39,7 @@ ! CHECK-DAG: %[[a1:.*]] = fir.convert %[[arg1]] : (!fir.box>>) -> !fir.box ! CHECK: %[[a3:.*]] = fir.convert %[[c0]] : (index) -> i32 call bar(count(mask, kind=2)) - ! CHECK: %[[a4:.*]] = fir.call @_FortranACount(%[[a1]], %{{.*}}, %{{.*}}, %[[a3]]) : (!fir.box, !fir.ref, i32, i32) -> i64 + ! CHECK: %[[a4:.*]] = fir.call @_FortranACount(%[[a1]], %{{.*}}, %{{.*}}, %[[a3]]) {{.*}} : (!fir.box, !fir.ref, i32, i32) -> i64 ! CHECK: %{{.*}} = fir.convert %[[a4]] : (i64) -> i16 end subroutine Index: flang/test/Lower/Intrinsics/cpu_time.f90 =================================================================== --- flang/test/Lower/Intrinsics/cpu_time.f90 +++ flang/test/Lower/Intrinsics/cpu_time.f90 @@ -3,9 +3,9 @@ ! CHECK-LABEL: cpu_time_test subroutine cpu_time_test(t) real :: t - ! CHECK: %[[result64:[0-9]+]] = fir.call @_FortranACpuTime() : () -> f64 + ! CHECK: %[[result64:[0-9]+]] = fir.call @_FortranACpuTime() {{.*}} : () -> f64 ! CHECK: %[[result32:[0-9]+]] = fir.convert %[[result64]] : (f64) -> f32 ! CHECK: fir.store %[[result32]] to %arg0 : !fir.ref call cpu_time(t) end subroutine - \ No newline at end of file + Index: flang/test/Lower/Intrinsics/date_and_time.f90 =================================================================== --- flang/test/Lower/Intrinsics/date_and_time.f90 +++ flang/test/Lower/Intrinsics/date_and_time.f90 @@ -15,7 +15,7 @@ ! CHECK: %[[zoneBuffer:.*]] = fir.convert %[[zoneUnbox]]#0 : (!fir.ref>) -> !fir.ref ! CHECK: %[[zoneLen:.*]] = fir.convert %[[zoneUnbox]]#1 : (index) -> i64 ! CHECK: %[[valuesCast:.*]] = fir.convert %[[values]] : (!fir.box>) -> !fir.box - ! CHECK: fir.call @_FortranADateAndTime(%[[dateBuffer]], %[[dateLen]], %[[timeBuffer]], %[[timeLen]], %[[zoneBuffer]], %[[zoneLen]], %{{.*}}, %{{.*}}, %[[valuesCast]]) : (!fir.ref, i64, !fir.ref, i64, !fir.ref, i64, !fir.ref, i32, !fir.box) -> none + ! CHECK: fir.call @_FortranADateAndTime(%[[dateBuffer]], %[[dateLen]], %[[timeBuffer]], %[[timeLen]], %[[zoneBuffer]], %[[zoneLen]], %{{.*}}, %{{.*}}, %[[valuesCast]]) {{.*}} : (!fir.ref, i64, !fir.ref, i64, !fir.ref, i64, !fir.ref, i32, !fir.box) -> none call date_and_time(date, time, zone, values) end subroutine @@ -31,7 +31,7 @@ ! CHECK: %[[timeLen:.*]] = fir.convert %c0{{.*}} : (index) -> i64 ! CHECK: %[[zoneBuffer:.*]] = fir.convert %c0{{.*}} : (index) -> !fir.ref ! CHECK: %[[zoneLen:.*]] = fir.convert %c0{{.*}} : (index) -> i64 - ! CHECK: fir.call @_FortranADateAndTime(%[[dateBuffer]], %[[dateLen]], %[[timeBuffer]], %[[timeLen]], %[[zoneBuffer]], %[[zoneLen]], %{{.*}}, %{{.*}}, %[[values]]) : (!fir.ref, i64, !fir.ref, i64, !fir.ref, i64, !fir.ref, i32, !fir.box) -> none + ! CHECK: fir.call @_FortranADateAndTime(%[[dateBuffer]], %[[dateLen]], %[[timeBuffer]], %[[timeLen]], %[[zoneBuffer]], %[[zoneLen]], %{{.*}}, %{{.*}}, %[[values]]) {{.*}} : (!fir.ref, i64, !fir.ref, i64, !fir.ref, i64, !fir.ref, i32, !fir.box) -> none call date_and_time(date) end subroutine @@ -69,5 +69,5 @@ ! CHECK: %[[VAL_23:.*]] = fir.convert %[[VAL_5]]#0 : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_24:.*]] = fir.convert %[[VAL_5]]#1 : (index) -> i64 ! CHECK: %[[VAL_26:.*]] = fir.convert %[[VAL_16]] : (!fir.box>>) -> !fir.box - ! CHECK: %[[VAL_28:.*]] = fir.call @_FortranADateAndTime(%[[VAL_19]], %[[VAL_20]], %[[VAL_21]], %[[VAL_22]], %[[VAL_23]], %[[VAL_24]], %{{.*}}, %{{.*}}, %[[VAL_26]]) : (!fir.ref, i64, !fir.ref, i64, !fir.ref, i64, !fir.ref, i32, !fir.box) -> none + ! CHECK: %[[VAL_28:.*]] = fir.call @_FortranADateAndTime(%[[VAL_19]], %[[VAL_20]], %[[VAL_21]], %[[VAL_22]], %[[VAL_23]], %[[VAL_24]], %{{.*}}, %{{.*}}, %[[VAL_26]]) {{.*}} : (!fir.ref, i64, !fir.ref, i64, !fir.ref, i64, !fir.ref, i32, !fir.box) -> none end subroutine Index: flang/test/Lower/Intrinsics/dconjg.f90 =================================================================== --- flang/test/Lower/Intrinsics/dconjg.f90 +++ flang/test/Lower/Intrinsics/dconjg.f90 @@ -9,7 +9,7 @@ ! CHECK-SAME: %[[ARG_1:.*]]: !fir.ref> {fir.bindc_name = "c"}) { ! CHECK: %[[VAL_0:.*]] = fir.load %[[ARG_1]] : !fir.ref> ! CHECK: %[[VAL_1:.*]] = fir.extract_value %[[VAL_0]], [1 : index] : (!fir.complex<8>) -> f64 -! CHECK: %[[VAL_2:.*]] = arith.negf %[[VAL_1]] : f64 +! CHECK: %[[VAL_2:.*]] = arith.negf %[[VAL_1]] {{.*}} : f64 ! CHECK: %[[VAL_3:.*]] = fir.insert_value %[[VAL_0]], %[[VAL_2]], [1 : index] : (!fir.complex<8>, f64) -> !fir.complex<8> ! CHECK: fir.store %[[VAL_3]] to %[[ARG_0]] : !fir.ref> ! CHECK: return Index: flang/test/Lower/Intrinsics/dim.f90 =================================================================== --- flang/test/Lower/Intrinsics/dim.f90 +++ flang/test/Lower/Intrinsics/dim.f90 @@ -7,7 +7,7 @@ ! CHECK: %[[VAL_3:.*]] = fir.load %[[VAL_0]] : !fir.ref ! CHECK: %[[VAL_4:.*]] = fir.load %[[VAL_1]] : !fir.ref ! CHECK: %[[VAL_5:.*]] = arith.constant 0.000000e+00 : f32 -! CHECK: %[[VAL_6:.*]] = arith.subf %[[VAL_3]], %[[VAL_4]] : f32 +! CHECK: %[[VAL_6:.*]] = arith.subf %[[VAL_3]], %[[VAL_4]] {{.*}} : f32 ! CHECK: %[[VAL_7:.*]] = arith.cmpf ogt, %[[VAL_6]], %[[VAL_5]] : f32 ! CHECK: %[[VAL_8:.*]] = arith.select %[[VAL_7]], %[[VAL_6]], %[[VAL_5]] : f32 ! CHECK: fir.store %[[VAL_8]] to %[[VAL_2]] : !fir.ref Index: flang/test/Lower/Intrinsics/dot_product.f90 =================================================================== --- flang/test/Lower/Intrinsics/dot_product.f90 +++ flang/test/Lower/Intrinsics/dot_product.f90 @@ -11,7 +11,7 @@ integer, dimension(1:) :: z ! CHECK-DAG: %[[x_conv:.*]] = fir.convert %[[x]] : (!fir.box>) -> !fir.box ! CHECK-DAG: %[[y_conv:.*]] = fir.convert %[[y]] : (!fir.box>) -> !fir.box - ! CHECK-DAG: %[[res:.*]] = fir.call @_FortranADotProductInteger4(%[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) : (!fir.box, !fir.box, !fir.ref, i32) -> i32 + ! CHECK-DAG: %[[res:.*]] = fir.call @_FortranADotProductInteger4(%[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) {{.*}} : (!fir.box, !fir.box, !fir.ref, i32) -> i32 z = dot_product(x,y) end subroutine @@ -24,7 +24,7 @@ integer(kind=1), dimension(1:) :: z ! CHECK-DAG: %[[x_conv:.*]] = fir.convert %[[x]] : (!fir.box>) -> !fir.box ! CHECK-DAG: %[[y_conv:.*]] = fir.convert %[[y]] : (!fir.box>) -> !fir.box - ! CHECK-DAG: %[[res:.*]] = fir.call @_FortranADotProductInteger1(%[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) : (!fir.box, !fir.box, !fir.ref, i32) -> i8 + ! CHECK-DAG: %[[res:.*]] = fir.call @_FortranADotProductInteger1(%[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) {{.*}} : (!fir.box, !fir.box, !fir.ref, i32) -> i8 z = dot_product(x,y) end subroutine @@ -37,7 +37,7 @@ integer(kind=2), dimension(1:) :: z ! CHECK-DAG: %[[x_conv:.*]] = fir.convert %[[x]] : (!fir.box>) -> !fir.box ! CHECK-DAG: %[[y_conv:.*]] = fir.convert %[[y]] : (!fir.box>) -> !fir.box - ! CHECK-DAG: %[[res:.*]] = fir.call @_FortranADotProductInteger2(%[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) : (!fir.box, !fir.box, !fir.ref, i32) -> i16 + ! CHECK-DAG: %[[res:.*]] = fir.call @_FortranADotProductInteger2(%[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) {{.*}} : (!fir.box, !fir.box, !fir.ref, i32) -> i16 z = dot_product(x,y) end subroutine @@ -50,7 +50,7 @@ integer(kind=4), dimension(1:) :: z ! CHECK-DAG: %[[x_conv:.*]] = fir.convert %[[x]] : (!fir.box>) -> !fir.box ! CHECK-DAG: %[[y_conv:.*]] = fir.convert %[[y]] : (!fir.box>) -> !fir.box - ! CHECK-DAG: %[[res:.*]] = fir.call @_FortranADotProductInteger4(%[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) : (!fir.box, !fir.box, !fir.ref, i32) -> i32 + ! CHECK-DAG: %[[res:.*]] = fir.call @_FortranADotProductInteger4(%[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) {{.*}} : (!fir.box, !fir.box, !fir.ref, i32) -> i32 z = dot_product(x,y) end subroutine @@ -63,7 +63,7 @@ integer(kind=8), dimension(1:) :: z ! CHECK-DAG: %[[x_conv:.*]] = fir.convert %[[x]] : (!fir.box>) -> !fir.box ! CHECK-DAG: %[[y_conv:.*]] = fir.convert %[[y]] : (!fir.box>) -> !fir.box - ! CHECK-DAG: %[[res:.*]] = fir.call @_FortranADotProductInteger8(%[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) : (!fir.box, !fir.box, !fir.ref, i32) -> i64 + ! CHECK-DAG: %[[res:.*]] = fir.call @_FortranADotProductInteger8(%[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) {{.*}} : (!fir.box, !fir.box, !fir.ref, i32) -> i64 z = dot_product(x,y) end subroutine @@ -76,7 +76,7 @@ integer(kind=16), dimension(1:) :: z ! CHECK-DAG: %[[x_conv:.*]] = fir.convert %[[x]] : (!fir.box>) -> !fir.box ! CHECK-DAG: %[[y_conv:.*]] = fir.convert %[[y]] : (!fir.box>) -> !fir.box - ! CHECK-DAG: %[[res:.*]] = fir.call @_FortranADotProductInteger16(%[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) : (!fir.box, !fir.box, !fir.ref, i32) -> i128 + ! CHECK-DAG: %[[res:.*]] = fir.call @_FortranADotProductInteger16(%[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) {{.*}} : (!fir.box, !fir.box, !fir.ref, i32) -> i128 z = dot_product(x,y) end subroutine @@ -89,7 +89,7 @@ real, dimension(1:) :: z ! CHECK-DAG: %[[x_conv:.*]] = fir.convert %[[x]] : (!fir.box>) -> !fir.box ! CHECK-DAG: %[[y_conv:.*]] = fir.convert %[[y]] : (!fir.box>) -> !fir.box - ! CHECK-DAG: %[[res:.*]] = fir.call @_FortranADotProductReal4(%[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) : (!fir.box, !fir.box, !fir.ref, i32) -> f32 + ! CHECK-DAG: %[[res:.*]] = fir.call @_FortranADotProductReal4(%[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) {{.*}} : (!fir.box, !fir.box, !fir.ref, i32) -> f32 z = dot_product(x,y) end subroutine @@ -102,7 +102,7 @@ real(kind=4), dimension(1:) :: z ! CHECK-DAG: %[[x_conv:.*]] = fir.convert %[[x]] : (!fir.box>) -> !fir.box ! CHECK-DAG: %[[y_conv:.*]] = fir.convert %[[y]] : (!fir.box>) -> !fir.box - ! CHECK-DAG: %[[res:.*]] = fir.call @_FortranADotProductReal4(%[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) : (!fir.box, !fir.box, !fir.ref, i32) -> f32 + ! CHECK-DAG: %[[res:.*]] = fir.call @_FortranADotProductReal4(%[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) {{.*}} : (!fir.box, !fir.box, !fir.ref, i32) -> f32 z = dot_product(x,y) end subroutine @@ -115,7 +115,7 @@ real(kind=8), dimension(1:) :: z ! CHECK-DAG: %[[x_conv:.*]] = fir.convert %[[x]] : (!fir.box>) -> !fir.box ! CHECK-DAG: %[[y_conv:.*]] = fir.convert %[[y]] : (!fir.box>) -> !fir.box - ! CHECK-DAG: %[[res:.*]] = fir.call @_FortranADotProductReal8(%[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) : (!fir.box, !fir.box, !fir.ref, i32) -> f64 + ! CHECK-DAG: %[[res:.*]] = fir.call @_FortranADotProductReal8(%[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) {{.*}} : (!fir.box, !fir.box, !fir.ref, i32) -> f64 z = dot_product(x,y) end subroutine @@ -128,7 +128,7 @@ real(kind=10), dimension(1:) :: z ! CHECK-DAG: %[[x_conv:.*]] = fir.convert %[[x]] : (!fir.box>) -> !fir.box ! CHECK-DAG: %[[y_conv:.*]] = fir.convert %[[y]] : (!fir.box>) -> !fir.box - ! CHECK-DAG: %[[res:.*]] = fir.call @_FortranADotProductReal10(%[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) : (!fir.box, !fir.box, !fir.ref, i32) -> f80 + ! CHECK-DAG: %[[res:.*]] = fir.call @_FortranADotProductReal10(%[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) {{.*}} : (!fir.box, !fir.box, !fir.ref, i32) -> f80 z = dot_product(x,y) end subroutine @@ -141,7 +141,7 @@ real(kind=16), dimension(1:) :: z ! CHECK-DAG: %[[x_conv:.*]] = fir.convert %[[x]] : (!fir.box>) -> !fir.box ! CHECK-DAG: %[[y_conv:.*]] = fir.convert %[[y]] : (!fir.box>) -> !fir.box - ! CHECK-DAG: %[[res:.*]] = fir.call @_FortranADotProductReal16(%[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) : (!fir.box, !fir.box, !fir.ref, i32) -> f128 + ! CHECK-DAG: %[[res:.*]] = fir.call @_FortranADotProductReal16(%[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) {{.*}} : (!fir.box, !fir.box, !fir.ref, i32) -> f128 z = dot_product(x,y) end subroutine @@ -154,7 +154,7 @@ double precision, dimension(1:) :: z ! CHECK-DAG: %[[x_conv:.*]] = fir.convert %[[x]] : (!fir.box>) -> !fir.box ! CHECK-DAG: %[[y_conv:.*]] = fir.convert %[[y]] : (!fir.box>) -> !fir.box - ! CHECK-DAG: %[[res:.*]] = fir.call @_FortranADotProductReal8(%[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) : (!fir.box, !fir.box, !fir.ref, i32) -> f64 + ! CHECK-DAG: %[[res:.*]] = fir.call @_FortranADotProductReal8(%[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) {{.*}} : (!fir.box, !fir.box, !fir.ref, i32) -> f64 z = dot_product(x,y) end subroutine @@ -169,7 +169,7 @@ ! CHECK-DAG: %[[res_conv:[0-9]+]] = fir.convert %0 : (!fir.ref>) -> !fir.ref> ! CHECK-DAG: %[[x_conv:.*]] = fir.convert %[[x]] : (!fir.box>>) -> !fir.box ! CHECK-DAG: %[[y_conv:.*]] = fir.convert %[[y]] : (!fir.box>>) -> !fir.box - ! CHECK-DAG: fir.call @_FortranACppDotProductComplex4(%[[res_conv]], %[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) : (!fir.ref>, !fir.box, !fir.box, !fir.ref, i32) -> none + ! CHECK-DAG: fir.call @_FortranACppDotProductComplex4(%[[res_conv]], %[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) {{.*}} : (!fir.ref>, !fir.box, !fir.box, !fir.ref, i32) -> none z = dot_product(x,y) end subroutine @@ -184,7 +184,7 @@ ! CHECK-DAG: %[[res_conv:[0-9]+]] = fir.convert %0 : (!fir.ref>) -> !fir.ref> ! CHECK-DAG: %[[x_conv:.*]] = fir.convert %[[x]] : (!fir.box>>) -> !fir.box ! CHECK-DAG: %[[y_conv:.*]] = fir.convert %[[y]] : (!fir.box>>) -> !fir.box - ! CHECK-DAG: fir.call @_FortranACppDotProductComplex4(%[[res_conv]], %[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) : (!fir.ref>, !fir.box, !fir.box, !fir.ref, i32) -> none + ! CHECK-DAG: fir.call @_FortranACppDotProductComplex4(%[[res_conv]], %[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) {{.*}} : (!fir.ref>, !fir.box, !fir.box, !fir.ref, i32) -> none z = dot_product(x,y) end subroutine @@ -199,7 +199,7 @@ ! CHECK-DAG: %[[res_conv:[0-9]+]] = fir.convert %0 : (!fir.ref>) -> !fir.ref> ! CHECK-DAG: %[[x_conv:.*]] = fir.convert %[[x]] : (!fir.box>>) -> !fir.box ! CHECK-DAG: %[[y_conv:.*]] = fir.convert %[[y]] : (!fir.box>>) -> !fir.box - ! CHECK-DAG: fir.call @_FortranACppDotProductComplex8(%[[res_conv]], %[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) : (!fir.ref>, !fir.box, !fir.box, !fir.ref, i32) -> none + ! CHECK-DAG: fir.call @_FortranACppDotProductComplex8(%[[res_conv]], %[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) {{.*}} : (!fir.ref>, !fir.box, !fir.box, !fir.ref, i32) -> none z = dot_product(x,y) end subroutine @@ -214,7 +214,7 @@ ! CHECK-DAG: %[[res_conv:[0-9]+]] = fir.convert %0 : (!fir.ref>) -> !fir.ref> ! CHECK-DAG: %[[x_conv:.*]] = fir.convert %[[x]] : (!fir.box>>) -> !fir.box ! CHECK-DAG: %[[y_conv:.*]] = fir.convert %[[y]] : (!fir.box>>) -> !fir.box - ! CHECK-DAG: fir.call @_FortranACppDotProductComplex10(%[[res_conv]], %[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) : (!fir.ref>, !fir.box, !fir.box, !fir.ref, i32) -> () + ! CHECK-DAG: fir.call @_FortranACppDotProductComplex10(%[[res_conv]], %[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) {{.*}} : (!fir.ref>, !fir.box, !fir.box, !fir.ref, i32) -> () z = dot_product(x,y) end subroutine @@ -229,7 +229,7 @@ ! CHECK-DAG: %[[res_conv:[0-9]+]] = fir.convert %0 : (!fir.ref>) -> !fir.ref> ! CHECK-DAG: %[[x_conv:.*]] = fir.convert %[[x]] : (!fir.box>>) -> !fir.box ! CHECK-DAG: %[[y_conv:.*]] = fir.convert %[[y]] : (!fir.box>>) -> !fir.box - ! CHECK-DAG: fir.call @_FortranACppDotProductComplex16(%[[res_conv]], %[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) : (!fir.ref>, !fir.box, !fir.box, !fir.ref, i32) -> () + ! CHECK-DAG: fir.call @_FortranACppDotProductComplex16(%[[res_conv]], %[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) {{.*}} : (!fir.ref>, !fir.box, !fir.box, !fir.ref, i32) -> () z = dot_product(x,y) end subroutine @@ -242,7 +242,7 @@ logical, dimension(1:) :: z ! CHECK-DAG: %[[x_conv:.*]] = fir.convert %[[x]] : (!fir.box>>) -> !fir.box ! CHECK-DAG: %[[y_conv:.*]] = fir.convert %[[y]] : (!fir.box>>) -> !fir.box - ! CHECK-DAG: %[[res:.*]] = fir.call @_FortranADotProductLogical(%[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) : (!fir.box, !fir.box, !fir.ref, i32) -> i1 + ! CHECK-DAG: %[[res:.*]] = fir.call @_FortranADotProductLogical(%[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) {{.*}} : (!fir.box, !fir.box, !fir.ref, i32) -> i1 z = dot_product(x,y) end subroutine @@ -255,7 +255,7 @@ real, dimension(1:) :: y, z ! CHECK-DAG: %[[x_conv:.*]] = fir.convert %[[x]] : (!fir.box>) -> !fir.box ! CHECK-DAG: %[[y_conv:.*]] = fir.convert %[[y]] : (!fir.box>) -> !fir.box - ! CHECK-DAG: %[[res:.*]] = fir.call @_FortranADotProductReal4(%[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) : (!fir.box, !fir.box, !fir.ref, i32) -> f32 + ! CHECK-DAG: %[[res:.*]] = fir.call @_FortranADotProductReal4(%[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) {{.*}} : (!fir.box, !fir.box, !fir.ref, i32) -> f32 z = dot_product(x,y) end subroutine @@ -270,7 +270,7 @@ ! CHECK-DAG: %[[res_conv:.*]] = fir.convert %[[res]] : (!fir.ref>) -> !fir.ref> ! CHECK-DAG: %[[x_conv:.*]] = fir.convert %[[x]] : (!fir.box>) -> !fir.box ! CHECK-DAG: %[[y_conv:.*]] = fir.convert %[[y]] : (!fir.box>>) -> !fir.box - ! CHECK-DAG: fir.call @_FortranACppDotProductComplex4(%[[res_conv]], %[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) : (!fir.ref>, !fir.box, !fir.box, !fir.ref, i32) -> none + ! CHECK-DAG: fir.call @_FortranACppDotProductComplex4(%[[res_conv]], %[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) {{.*}} : (!fir.ref>, !fir.box, !fir.box, !fir.ref, i32) -> none z = dot_product(x,y) end subroutine @@ -285,6 +285,6 @@ ! CHECK-DAG: %[[res_conv:.*]] = fir.convert %[[res]] : (!fir.ref>) -> !fir.ref> ! CHECK-DAG: %[[x_conv:.*]] = fir.convert %[[x]] : (!fir.box>) -> !fir.box ! CHECK-DAG: %[[y_conv:.*]] = fir.convert %[[y]] : (!fir.box>>) -> !fir.box - ! CHECK-DAG: fir.call @_FortranACppDotProductComplex4(%[[res_conv]], %[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) : (!fir.ref>, !fir.box, !fir.box, !fir.ref, i32) -> none + ! CHECK-DAG: fir.call @_FortranACppDotProductComplex4(%[[res_conv]], %[[x_conv]], %[[y_conv]], %{{[0-9]+}}, %{{.*}}) {{.*}} : (!fir.ref>, !fir.box, !fir.box, !fir.ref, i32) -> none z = dot_product(x,y) end subroutine Index: flang/test/Lower/Intrinsics/eoshift.f90 =================================================================== --- flang/test/Lower/Intrinsics/eoshift.f90 +++ flang/test/Lower/Intrinsics/eoshift.f90 @@ -19,7 +19,7 @@ ! CHECK: %[[resIRBox:.*]] = fir.convert %[[resBox]] : (!fir.ref>>>>) -> !fir.ref> ! CHECK: %[[arrBox:.*]] = fir.convert %[[arr]] : (!fir.box>>) -> !fir.box ! CHECK: %[[shiftBox:.*]] = fir.convert %[[shift]] : (i32) -> i64 - ! CHECK: %[[tmp:.*]] = fir.call @_FortranAEoshiftVector(%[[resIRBox]], %[[arrBox]], %[[shiftBox]], %[[boundBox]], {{.*}}, {{.*}}) : (!fir.ref>, !fir.box, i64, !fir.box, !fir.ref, i32) -> none + ! CHECK: %[[tmp:.*]] = fir.call @_FortranAEoshiftVector(%[[resIRBox]], %[[arrBox]], %[[shiftBox]], %[[boundBox]], {{.*}}, {{.*}}) {{.*}} : (!fir.ref>, !fir.box, i64, !fir.box, !fir.ref, i32) -> none ! CHECK: fir.array_merge_store %[[resLoad]], {{.*}} to %[[res]] : !fir.array<3x!fir.logical<4>>, !fir.array<3x!fir.logical<4>>, !fir.ref>> end subroutine eoshift_test1 @@ -43,7 +43,7 @@ ! CHECK: %[[shiftBoxNone:.*]] = fir.convert %[[shiftBox]] : (!fir.box>) -> !fir.box ! CHECK: %[[boundBoxNone:.*]] = fir.convert %[[boundBox]] : (!fir.box) -> !fir.box - ! CHECK: %[[tmp:.*]] = fir.call @_FortranAEoshift(%[[resIRBox]], %[[arrBox]], %[[shiftBoxNone]], %[[boundBoxNone]], %[[dim]], {{.*}}, {{.*}}) : (!fir.ref>, !fir.box, !fir.box, !fir.box, i32, !fir.ref, i32) -> none + ! CHECK: %[[tmp:.*]] = fir.call @_FortranAEoshift(%[[resIRBox]], %[[arrBox]], %[[shiftBoxNone]], %[[boundBoxNone]], %[[dim]], {{.*}}, {{.*}}) {{.*}} : (!fir.ref>, !fir.box, !fir.box, !fir.box, i32, !fir.ref, i32) -> none ! CHECK: fir.array_merge_store %[[resLoad]], {{.*}} to %[[res]] : !fir.array<3x3xi32>, !fir.array<3x3xi32>, !fir.ref> end subroutine eoshift_test2 @@ -67,7 +67,7 @@ ! CHECK: %[[resIRBox:.*]] = fir.convert %[[resBox]] : (!fir.ref>>>>) -> !fir.ref> ! CHECK: %[[arrayBoxNone:.*]] = fir.convert %[[arrayBox]] : (!fir.box>>) -> !fir.box ! CHECK: %[[shiftBoxNone:.*]] = fir.convert %[[shiftBox]] : (!fir.box) -> !fir.box - ! CHECK: %[[tmp:.*]] = fir.call @_FortranAEoshift(%[[resIRBox]], %[[arrayBoxNone]], %[[shiftBoxNone]], %[[boundBox]], %[[dim]], {{.*}}, {{.*}}) : (!fir.ref>, !fir.box, !fir.box, !fir.box, i32, !fir.ref, i32) -> none + ! CHECK: %[[tmp:.*]] = fir.call @_FortranAEoshift(%[[resIRBox]], %[[arrayBoxNone]], %[[shiftBoxNone]], %[[boundBox]], %[[dim]], {{.*}}, {{.*}}) {{.*}} : (!fir.ref>, !fir.box, !fir.box, !fir.box, i32, !fir.ref, i32) -> none ! CHECK: fir.array_merge_store %[[resLoad]], {{.*}} to %[[res]] : !fir.array<3x3x!fir.char<1,4>>, !fir.array<3x3x!fir.char<1,4>>, !fir.ref>> end subroutine eoshift_test3 @@ -90,5 +90,5 @@ ! CHECK: %[[VAL_8:.*]] = fir.absent !fir.box> ! CHECK: %[[VAL_9:.*]] = arith.select %[[VAL_5]], %[[VAL_7]], %[[VAL_8]] : !fir.box> ! CHECK: %[[VAL_21:.*]] = fir.convert %[[VAL_9]] : (!fir.box>) -> !fir.box - ! CHECK: fir.call @_FortranAEoshift(%{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_21]], %{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref>, !fir.box, !fir.box, !fir.box, i32, !fir.ref, i32) -> none + ! CHECK: fir.call @_FortranAEoshift(%{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_21]], %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, !fir.box, !fir.box, !fir.box, i32, !fir.ref, i32) -> none end subroutine Index: flang/test/Lower/Intrinsics/erfc.f90 =================================================================== --- flang/test/Lower/Intrinsics/erfc.f90 +++ flang/test/Lower/Intrinsics/erfc.f90 @@ -11,7 +11,7 @@ end function ! ALL-LABEL: @_QPtest_real4 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @erfcf({{%[A-Za-z0-9._]+}}) : (f32) -> f32 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @erfcf({{%[A-Za-z0-9._]+}}) {{.*}} : (f32) -> f32 function test_real8(x) real(8) :: x, test_real8 @@ -19,4 +19,4 @@ end function ! ALL-LABEL: @_QPtest_real8 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @erfc({{%[A-Za-z0-9._]+}}) : (f64) -> f64 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @erfc({{%[A-Za-z0-9._]+}}) {{.*}} : (f64) -> f64 Index: flang/test/Lower/Intrinsics/exit-2.f90 =================================================================== --- flang/test/Lower/Intrinsics/exit-2.f90 +++ flang/test/Lower/Intrinsics/exit-2.f90 @@ -14,7 +14,7 @@ ! CHECK: %[[VAL_4:.*]] = arith.constant 0 : i32 ! CHECK: fir.result %[[VAL_4]] : i32 ! CHECK: } -! CHECK: %[[VAL_5:.*]] = fir.call @_FortranAExit(%[[VAL_6:.*]]) : (i32) -> none +! CHECK: %[[VAL_5:.*]] = fir.call @_FortranAExit(%[[VAL_6:.*]]) {{.*}} : (i32) -> none end subroutine ! CHECK-LABEL: func @_QPexit_pointer( @@ -36,5 +36,5 @@ ! CHECK: %[[VAL_10:.*]] = arith.constant 0 : i32 ! CHECK: fir.result %[[VAL_10]] : i32 ! CHECK: } -! CHECK: %[[VAL_11:.*]] = fir.call @_FortranAExit(%[[VAL_12:.*]]) : (i32) -> none +! CHECK: %[[VAL_11:.*]] = fir.call @_FortranAExit(%[[VAL_12:.*]]) {{.*}} : (i32) -> none end subroutine Index: flang/test/Lower/Intrinsics/exit.f90 =================================================================== --- flang/test/Lower/Intrinsics/exit.f90 +++ flang/test/Lower/Intrinsics/exit.f90 @@ -7,8 +7,8 @@ call exit() ! CHECK: %[[status:.*]] = arith.constant 0 : i[[DEFAULT_INTEGER_SIZE]] ! CHECK-64: %[[statusConvert:.*]] = fir.convert %[[status]] : (i64) -> i32 - ! CHECK-32: %{{[0-9]+}} = fir.call @_FortranAExit(%[[status]]) : (i32) -> none - ! CHECK-64: %{{[0-9]+}} = fir.call @_FortranAExit(%[[statusConvert]]) : (i32) -> none + ! CHECK-32: %{{[0-9]+}} = fir.call @_FortranAExit(%[[status]]) {{.*}} : (i32) -> none + ! CHECK-64: %{{[0-9]+}} = fir.call @_FortranAExit(%[[statusConvert]]) {{.*}} : (i32) -> none end subroutine exit_test1 ! CHECK-LABEL: func @_QPexit_test2( @@ -18,6 +18,6 @@ call exit(status) ! CHECK: %[[status:.*]] = fir.load %[[statusArg]] : !fir.ref ! CHECK-64: %[[statusConv:.*]] = fir.convert %[[status]] : (i64) -> i32 - ! CHECK-32: %{{[0-9]+}} = fir.call @_FortranAExit(%[[status]]) : (i32) -> none - ! CHECK-64: %{{[0-9]+}} = fir.call @_FortranAExit(%[[statusConv]]) : (i32) -> none + ! CHECK-32: %{{[0-9]+}} = fir.call @_FortranAExit(%[[status]]) {{.*}} : (i32) -> none + ! CHECK-64: %{{[0-9]+}} = fir.call @_FortranAExit(%[[statusConv]]) {{.*}} : (i32) -> none end subroutine exit_test2 Index: flang/test/Lower/Intrinsics/exp.f90 =================================================================== --- flang/test/Lower/Intrinsics/exp.f90 +++ flang/test/Lower/Intrinsics/exp.f90 @@ -10,7 +10,7 @@ subroutine exp_testr(a, b) real :: a, b ! CHECK: %[[A:.*]] = fir.load %[[AREF:.*]] : !fir.ref -! CHECK: %[[RES:.*]] = fir.call @fir.exp.f32.f32(%[[A]]) : (f32) -> f32 +! CHECK: %[[RES:.*]] = fir.call @fir.exp.f32.f32(%[[A]]) {{.*}} : (f32) -> f32 ! CHECK: fir.store %[[RES]] to %[[BREF]] : !fir.ref b = exp(a) end subroutine @@ -20,7 +20,7 @@ subroutine exp_testd(a, b) real(kind=8) :: a, b ! CHECK: %[[A:.*]] = fir.load %[[AREF:.*]] : !fir.ref -! CHECK: %[[RES:.*]] = fir.call @fir.exp.f64.f64(%[[A]]) : (f64) -> f64 +! CHECK: %[[RES:.*]] = fir.call @fir.exp.f64.f64(%[[A]]) {{.*}} : (f64) -> f64 ! CHECK: fir.store %[[RES]] to %[[BREF]] : !fir.ref b = exp(a) end subroutine @@ -30,7 +30,7 @@ subroutine exp_testc(a, b) complex :: a, b ! CHECK: %[[A:.*]] = fir.load %[[AREF:.*]] : !fir.ref> -! CHECK: %[[RES:.*]] = fir.call @fir.exp.z4.z4(%[[A]]) : (!fir.complex<4>) -> !fir.complex<4> +! CHECK: %[[RES:.*]] = fir.call @fir.exp.z4.z4(%[[A]]) {{.*}} : (!fir.complex<4>) -> !fir.complex<4> ! CHECK: fir.store %[[RES]] to %[[BREF]] : !fir.ref> b = exp(a) end subroutine @@ -40,7 +40,7 @@ subroutine exp_testcd(a, b) complex(kind=8) :: a, b ! CHECK: %[[A:.*]] = fir.load %[[AREF:.*]] : !fir.ref> -! CHECK: %[[RES:.*]] = fir.call @fir.exp.z8.z8(%[[A]]) : (!fir.complex<8>) -> !fir.complex<8> +! CHECK: %[[RES:.*]] = fir.call @fir.exp.z8.z8(%[[A]]) {{.*}} : (!fir.complex<8>) -> !fir.complex<8> ! CHECK: fir.store %[[RES]] to %[[BREF]] : !fir.ref> b = exp(a) end subroutine Index: flang/test/Lower/Intrinsics/exponent.f90 =================================================================== --- flang/test/Lower/Intrinsics/exponent.f90 +++ flang/test/Lower/Intrinsics/exponent.f90 @@ -21,21 +21,21 @@ i1 = exponent(x1) ! CHECK: %[[temp0:.*]] = fir.load %[[x0:.*]] : !fir.ref - ! CHECK: %[[result0:.*]] = fir.call @_FortranAExponent4_4(%[[temp0:.*]]) : (f32) -> i32 + ! CHECK: %[[result0:.*]] = fir.call @_FortranAExponent4_4(%[[temp0:.*]]) {{.*}} : (f32) -> i32 ! CHECK: fir.store %[[result0:.*]] to %[[i0:.*]] : !fir.ref i2 = exponent(x2) ! CHECK: %[[temp1:.*]] = fir.load %[[x1:.*]] : !fir.ref - ! CHECK: %[[result1:.*]] = fir.call @_FortranAExponent8_4(%[[temp1:.*]]) : (f64) -> i32 + ! CHECK: %[[result1:.*]] = fir.call @_FortranAExponent8_4(%[[temp1:.*]]) {{.*}} : (f64) -> i32 ! CHECK: fir.store %[[result1:.*]] to %[[i1:.*]] : !fir.ref i3 = exponent(x3) ! CHECK: %[[temp2:.*]] = fir.load %[[x2:.*]] : !fir.ref - ! CHECK: %[[result2:.*]] = fir.call @_FortranAExponent10_4(%[[temp2:.*]]) : (f80) -> i32 + ! CHECK: %[[result2:.*]] = fir.call @_FortranAExponent10_4(%[[temp2:.*]]) {{.*}} : (f80) -> i32 ! CHECK: fir.store %[[result2:.*]] to %[[i2:.*]] : !fir.ref i4 = exponent(x4) ! CHECK: %[[temp3:.*]] = fir.load %[[x3:.*]] : !fir.ref - ! CHECK: %[[result3:.*]] = fir.call @_FortranAExponent16_4(%[[temp3:.*]]) : (f128) -> i32 + ! CHECK: %[[result3:.*]] = fir.call @_FortranAExponent16_4(%[[temp3:.*]]) {{.*}} : (f128) -> i32 ! CHECK: fir.store %[[result3:.*]] to %[[i3:.*]] : !fir.ref end subroutine exponent_test Index: flang/test/Lower/Intrinsics/fraction.f90 =================================================================== --- flang/test/Lower/Intrinsics/fraction.f90 +++ flang/test/Lower/Intrinsics/fraction.f90 @@ -15,21 +15,21 @@ x1 = fraction(x1) ! CHECK: %[[temp0:.*]] = fir.load %[[r0:.*]] : !fir.ref - ! CHECK: %[[result0:.*]] = fir.call @_FortranAFraction4(%[[temp0:.*]]) : (f32) -> f32 + ! CHECK: %[[result0:.*]] = fir.call @_FortranAFraction4(%[[temp0:.*]]) {{.*}} : (f32) -> f32 ! CHECK: fir.store %[[result0:.*]] to %[[r0:.*]] : !fir.ref x2 = fraction(x2) ! CHECK: %[[temp1:.*]] = fir.load %[[r1:.*]] : !fir.ref - ! CHECK: %[[result1:.*]] = fir.call @_FortranAFraction8(%[[temp1:.*]]) : (f64) -> f64 + ! CHECK: %[[result1:.*]] = fir.call @_FortranAFraction8(%[[temp1:.*]]) {{.*}} : (f64) -> f64 ! CHECK: fir.store %[[result1:.*]] to %[[r1:.*]] : !fir.ref x3 = fraction(x3) ! CHECK: %[[temp2:.*]] = fir.load %[[r2:.*]] : !fir.ref - ! CHECK: %[[result2:.*]] = fir.call @_FortranAFraction10(%[[temp2:.*]]) : (f80) -> f80 + ! CHECK: %[[result2:.*]] = fir.call @_FortranAFraction10(%[[temp2:.*]]) {{.*}} : (f80) -> f80 ! CHECK: fir.store %[[result2:.*]] to %[[r2:.*]] : !fir.ref x4 = fraction(x4) ! CHECK: %[[temp3:.*]] = fir.load %[[r3:.*]] : !fir.ref - ! CHECK: %[[result3:.*]] = fir.call @_FortranAFraction16(%[[temp3:.*]]) : (f128) -> f128 + ! CHECK: %[[result3:.*]] = fir.call @_FortranAFraction16(%[[temp3:.*]]) {{.*}} : (f128) -> f128 ! CHECK: fir.store %[[result3:.*]] to %[[r3:.*]] : !fir.ref end subroutine fraction_test Index: flang/test/Lower/Intrinsics/gamma.f90 =================================================================== --- flang/test/Lower/Intrinsics/gamma.f90 +++ flang/test/Lower/Intrinsics/gamma.f90 @@ -11,7 +11,7 @@ end function ! ALL-LABEL: @_QPtest_real4 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @tgammaf({{%[A-Za-z0-9._]+}}) : (f32) -> f32 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @tgammaf({{%[A-Za-z0-9._]+}}) {{.*}} : (f32) -> f32 function test_real8(x) real(8) :: x, test_real8 @@ -19,4 +19,4 @@ end function ! ALL-LABEL: @_QPtest_real8 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @tgamma({{%[A-Za-z0-9._]+}}) : (f64) -> f64 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @tgamma({{%[A-Za-z0-9._]+}}) {{.*}} : (f64) -> f64 Index: flang/test/Lower/Intrinsics/get_command_argument-optional.f90 =================================================================== --- flang/test/Lower/Intrinsics/get_command_argument-optional.f90 +++ flang/test/Lower/Intrinsics/get_command_argument-optional.f90 @@ -33,7 +33,7 @@ ! CHECK: %[[length:.*]] = fir.convert %[[lengthOrAbsent]] : (!fir.box) -> !fir.box ! CHECK: %[[errmsg:.*]] = fir.convert %[[errmsgOrAbsent]] : (!fir.box>) -> !fir.box ! CHECK: %[[sourceFile:.*]] = fir.convert %[[sourceFileString]] : (!fir.ref>) -> !fir.ref -! CHECK: %[[status:.*]] = fir.call @_FortranAGetCommandArgument(%[[number]], %[[value]], %[[length]], %[[errmsg]], %[[sourceFile]], %[[sourceLine]]) : (i32, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> i32 +! CHECK: %[[status:.*]] = fir.call @_FortranAGetCommandArgument(%[[number]], %[[value]], %[[length]], %[[errmsg]], %[[sourceFile]], %[[sourceLine]]) {{.*}} : (i32, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> i32 ! CHECK: %[[statusI64:.*]] = fir.convert %[[statusParam]] : (!fir.ref) -> i64 ! CHECK: %[[zero:.*]] = arith.constant 0 : i64 ! CHECK: %[[statusIsNonNull:.*]] = arith.cmpi ne, %[[statusI64]], %[[zero]] : i64 Index: flang/test/Lower/Intrinsics/get_command_argument.f90 =================================================================== --- flang/test/Lower/Intrinsics/get_command_argument.f90 +++ flang/test/Lower/Intrinsics/get_command_argument.f90 @@ -27,8 +27,8 @@ ! CHECK-64-NEXT: %[[numCast:.*]] = fir.convert %[[numUnbox]] : (i64) -> i32 ! CHECK-NEXT: %[[valueCast:.*]] = fir.convert %[[valueBoxed]] : (!fir.box>) -> !fir.box ! CHECK-NEXT: %[[sourceFile:.*]] = fir.convert %[[sourceFileString]] : (!fir.ref>) -> !fir.ref -! CHECK-32-NEXT: %{{[0-9]+}} = fir.call @_FortranAGetCommandArgument(%[[numUnbox]], %[[valueCast]], %[[length]], %[[errmsg]], %[[sourceFile]], %[[sourceLine]]) : (i32, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> i32 -! CHECK-64-NEXT: %{{[0-9]+}} = fir.call @_FortranAGetCommandArgument(%[[numCast]], %[[valueCast]], %[[length]], %[[errmsg]], %[[sourceFile]], %[[sourceLine]]) : (i32, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> i32 +! CHECK-32-NEXT: %{{[0-9]+}} = fir.call @_FortranAGetCommandArgument(%[[numUnbox]], %[[valueCast]], %[[length]], %[[errmsg]], %[[sourceFile]], %[[sourceLine]]) {{.*}} : (i32, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> i32 +! CHECK-64-NEXT: %{{[0-9]+}} = fir.call @_FortranAGetCommandArgument(%[[numCast]], %[[valueCast]], %[[length]], %[[errmsg]], %[[sourceFile]], %[[sourceLine]]) {{.*}} : (i32, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> i32 end subroutine number_and_value_only ! CHECK-LABEL: func @_QPall_arguments( @@ -52,8 +52,8 @@ ! CHECK-NEXT: %[[lengthBuffer:.*]] = fir.convert %[[lengthBoxed]] : (!fir.box) -> !fir.box ! CHECK-NEXT: %[[errmsgBuffer:.*]] = fir.convert %[[errmsgBoxed]] : (!fir.box>) -> !fir.box ! CHECK-NEXT: %[[sourceFile:.*]] = fir.convert %[[sourceFileString]] : (!fir.ref>) -> !fir.ref -! CHECK-32-NEXT: %[[statusResult:.*]] = fir.call @_FortranAGetCommandArgument(%[[numUnboxed]], %[[valueBuffer]], %[[lengthBuffer]], %[[errmsgBuffer]], %[[sourceFile]], %[[sourceLine]]) : (i32, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> i32 -! CHECK-64-NEXT: %[[statusResult32:.*]] = fir.call @_FortranAGetCommandArgument(%[[numCast]], %[[valueBuffer]], %[[lengthBuffer]], %[[errmsgBuffer]], %[[sourceFile]], %[[sourceLine]]) : (i32, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> i32 +! CHECK-32-NEXT: %[[statusResult:.*]] = fir.call @_FortranAGetCommandArgument(%[[numUnboxed]], %[[valueBuffer]], %[[lengthBuffer]], %[[errmsgBuffer]], %[[sourceFile]], %[[sourceLine]]) {{.*}} : (i32, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> i32 +! CHECK-64-NEXT: %[[statusResult32:.*]] = fir.call @_FortranAGetCommandArgument(%[[numCast]], %[[valueBuffer]], %[[lengthBuffer]], %[[errmsgBuffer]], %[[sourceFile]], %[[sourceLine]]) {{.*}} : (i32, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> i32 ! CHECK-64: %[[statusResult:.*]] = fir.convert %[[statusResult32]] : (i32) -> i64 ! CHECK: fir.store %[[statusResult]] to %[[status]] : !fir.ref end subroutine all_arguments @@ -72,8 +72,8 @@ ! CHECK-64: %[[numCast:.*]] = fir.convert %[[numLoaded]] : (i64) -> i32 ! CHECK-NEXT: %[[lengthBuffer:.*]] = fir.convert %[[lengthBoxed]] : (!fir.box) -> !fir.box ! CHECK-NEXT: %[[sourceFile:.*]] = fir.convert %[[sourceFileString]] : (!fir.ref>) -> !fir.ref -! CHECK-32-NEXT: %{{.*}} = fir.call @_FortranAGetCommandArgument(%[[numLoaded]], %[[value]], %[[lengthBuffer]], %[[errmsg]], %[[sourceFile]], %[[sourceLine]]) : (i32, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> i32 -! CHECK-64-NEXT: %{{.*}} = fir.call @_FortranAGetCommandArgument(%[[numCast]], %[[value]], %[[lengthBuffer]], %[[errmsg]], %[[sourceFile]], %[[sourceLine]]) : (i32, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> i32 +! CHECK-32-NEXT: %{{.*}} = fir.call @_FortranAGetCommandArgument(%[[numLoaded]], %[[value]], %[[lengthBuffer]], %[[errmsg]], %[[sourceFile]], %[[sourceLine]]) {{.*}} : (i32, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> i32 +! CHECK-64-NEXT: %{{.*}} = fir.call @_FortranAGetCommandArgument(%[[numCast]], %[[value]], %[[lengthBuffer]], %[[errmsg]], %[[sourceFile]], %[[sourceLine]]) {{.*}} : (i32, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> i32 end subroutine number_and_length_only ! CHECK-LABEL: func @_QPnumber_and_status_only( @@ -89,8 +89,8 @@ ! CHECK-NEXT: %[[sourceLine:.*]] = arith.constant [[# @LINE - 6]] : i32 ! CHECK-64: %[[numCast:.*]] = fir.convert %[[numLoaded]] : (i64) -> i32 ! CHECK-NEXT: %[[sourceFile:.*]] = fir.convert %[[sourceFileString]] : (!fir.ref>) -> !fir.ref -! CHECK-32-NEXT: %[[result:.*]] = fir.call @_FortranAGetCommandArgument(%[[numLoaded]], %[[value]], %[[length]], %[[errmsg]], %[[sourceFile]], %[[sourceLine]]) : (i32, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> i32 -! CHECK-64-NEXT: %[[result32:.*]] = fir.call @_FortranAGetCommandArgument(%[[numCast]], %[[value]], %[[length]], %[[errmsg]], %[[sourceFile]], %[[sourceLine]]) : (i32, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> i32 +! CHECK-32-NEXT: %[[result:.*]] = fir.call @_FortranAGetCommandArgument(%[[numLoaded]], %[[value]], %[[length]], %[[errmsg]], %[[sourceFile]], %[[sourceLine]]) {{.*}} : (i32, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> i32 +! CHECK-64-NEXT: %[[result32:.*]] = fir.call @_FortranAGetCommandArgument(%[[numCast]], %[[value]], %[[length]], %[[errmsg]], %[[sourceFile]], %[[sourceLine]]) {{.*}} : (i32, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> i32 ! CHECK-64: %[[result:.*]] = fir.convert %[[result32]] : (i32) -> i64 ! CHECK-32: fir.store %[[result]] to %[[status]] : !fir.ref end subroutine number_and_status_only @@ -112,6 +112,6 @@ ! CHECK-64: %[[numCast:.*]] = fir.convert %[[numUnboxed]] : (i64) -> i32 ! CHECK-NEXT: %[[errmsg:.*]] = fir.convert %[[errmsgBoxed]] : (!fir.box>) -> !fir.box ! CHECK-NEXT: %[[sourceFile:.*]] = fir.convert %[[sourceFileString]] : (!fir.ref>) -> !fir.ref -! CHECK-32-NEXT: %{{[0-9]+}} = fir.call @_FortranAGetCommandArgument(%[[numUnboxed]], %[[value]], %[[length]], %[[errmsg]], %[[sourceFile]], %[[sourceLine]]) : (i32, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> i32 -! CHECK-64-NEXT: %{{[0-9]+}} = fir.call @_FortranAGetCommandArgument(%[[numCast]], %[[value]], %[[length]], %[[errmsg]], %[[sourceFile]], %[[sourceLine]]) : (i32, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> i32 +! CHECK-32-NEXT: %{{[0-9]+}} = fir.call @_FortranAGetCommandArgument(%[[numUnboxed]], %[[value]], %[[length]], %[[errmsg]], %[[sourceFile]], %[[sourceLine]]) {{.*}} : (i32, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> i32 +! CHECK-64-NEXT: %{{[0-9]+}} = fir.call @_FortranAGetCommandArgument(%[[numCast]], %[[value]], %[[length]], %[[errmsg]], %[[sourceFile]], %[[sourceLine]]) {{.*}} : (i32, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> i32 end subroutine number_and_errmsg_only Index: flang/test/Lower/Intrinsics/get_environment_variable-optional.f90 =================================================================== --- flang/test/Lower/Intrinsics/get_environment_variable-optional.f90 +++ flang/test/Lower/Intrinsics/get_environment_variable-optional.f90 @@ -41,7 +41,7 @@ ! CHECK: %[[VAL_27:.*]] = fir.convert %[[VAL_9]] : (!fir.box>) -> !fir.box ! CHECK: %[[VAL_28:.*]] = fir.convert %[[VAL_13]] : (!fir.box>) -> !fir.box ! CHECK: %[[VAL_29:.*]] = fir.convert %[[VAL_17]] : (!fir.box>) -> !fir.box -! CHECK: %[[VAL_31:.*]] = fir.call @_FortranAEnvVariableValue(%[[VAL_27]], %[[VAL_28]], %[[VAL_32:.*]], %[[VAL_29]], %{{.*}}, %{{.*}}) : (!fir.box, !fir.box, i1, !fir.box, !fir.ref, i32) -> i32 +! CHECK: %[[VAL_31:.*]] = fir.call @_FortranAEnvVariableValue(%[[VAL_27]], %[[VAL_28]], %[[VAL_32:.*]], %[[VAL_29]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.box, !fir.box, i1, !fir.box, !fir.ref, i32) -> i32 ! CHECK: %[[VAL_33:.*]] = fir.convert %[[VAL_3]] : (!fir.ref) -> i64 ! CHECK: %[[VAL_34:.*]] = arith.constant 0 : i64 ! CHECK: %[[VAL_35:.*]] = arith.cmpi ne, %[[VAL_33]], %[[VAL_34]] : i64 @@ -53,7 +53,7 @@ ! CHECK: %[[VAL_38:.*]] = arith.cmpi ne, %[[VAL_36]], %[[VAL_37]] : i64 ! CHECK: fir.if %[[VAL_38]] { ! CHECK: %[[VAL_41:.*]] = fir.convert %[[VAL_9]] : (!fir.box>) -> !fir.box -! CHECK: %[[VAL_43:.*]] = fir.call @_FortranAEnvVariableLength(%[[VAL_41]], %[[VAL_32]], %{{.*}}, %{{.*}}) : (!fir.box, i1, !fir.ref, i32) -> i64 +! CHECK: %[[VAL_43:.*]] = fir.call @_FortranAEnvVariableLength(%[[VAL_41]], %[[VAL_32]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.box, i1, !fir.ref, i32) -> i64 ! CHECK: %[[VAL_44:.*]] = fir.convert %[[VAL_43]] : (i64) -> i32 ! CHECK: fir.store %[[VAL_44]] to %[[VAL_2]] : !fir.ref ! CHECK: } Index: flang/test/Lower/Intrinsics/get_environment_variable.f90 =================================================================== --- flang/test/Lower/Intrinsics/get_environment_variable.f90 +++ flang/test/Lower/Intrinsics/get_environment_variable.f90 @@ -30,7 +30,7 @@ ! CHECK-NEXT: %[[name:.*]] = fir.convert %[[nameBox]] : (!fir.box>) -> !fir.box ! CHECK-NEXT: %[[value:.*]] = fir.convert %[[valueBox]] : (!fir.box>) -> !fir.box ! CHECK-NEXT: %[[sourceFile:.*]] = fir.convert %[[sourceFileString]] : (!fir.ref>) -> !fir.ref -! CHECK-NEXT: %{{[0-9]+}} = fir.call @_FortranAEnvVariableValue(%[[name]], %[[value]], %true, %[[errmsg]], %[[sourceFile]], %[[sourceLine]]) : (!fir.box, !fir.box, i1, !fir.box, !fir.ref, i32) -> i32 +! CHECK-NEXT: %{{[0-9]+}} = fir.call @_FortranAEnvVariableValue(%[[name]], %[[value]], %true, %[[errmsg]], %[[sourceFile]], %[[sourceLine]]) {{.*}} : (!fir.box, !fir.box, i1, !fir.box, !fir.ref, i32) -> i32 ! CHECK-NEXT: return end subroutine name_and_value_only @@ -50,8 +50,8 @@ ! CHECK-NEXT: %[[sourceLine:.*]] = arith.constant [[# @LINE - 7]] : i32 ! CHECK-NEXT: %[[name:.*]] = fir.convert %[[nameBox]] : (!fir.box>) -> !fir.box ! CHECK-NEXT: %[[sourceFile:.*]] = fir.convert %[[sourceFileString]] : (!fir.ref>) -> !fir.ref -! CHECK-32-NEXT: %[[length64:.*]] = fir.call @_FortranAEnvVariableLength(%[[name]], %true, %[[sourceFile]], %[[sourceLine]]) : (!fir.box, i1, !fir.ref, i32) -> i64 -! CHECK-64-NEXT: %[[length:.*]] = fir.call @_FortranAEnvVariableLength(%[[name]], %true, %[[sourceFile]], %[[sourceLine]]) : (!fir.box, i1, !fir.ref, i32) -> i64 +! CHECK-32-NEXT: %[[length64:.*]] = fir.call @_FortranAEnvVariableLength(%[[name]], %true, %[[sourceFile]], %[[sourceLine]]) {{.*}} : (!fir.box, i1, !fir.ref, i32) -> i64 +! CHECK-64-NEXT: %[[length:.*]] = fir.call @_FortranAEnvVariableLength(%[[name]], %true, %[[sourceFile]], %[[sourceLine]]) {{.*}} : (!fir.box, i1, !fir.ref, i32) -> i64 ! CHECK-32-NEXT: %[[length:.*]] = fir.convert %[[length64]] : (i64) -> i32 ! CHECK-NEXT: fir.store %[[length]] to %[[lengthArg]] : !fir.ref end subroutine name_and_length_only @@ -73,8 +73,8 @@ ! CHECK-NEXT: %[[sourceLine:.*]] = arith.constant [[# @LINE - 8]] : i32 ! CHECK-NEXT: %[[name:.*]] = fir.convert %[[nameBox]] : (!fir.box>) -> !fir.box ! CHECK-NEXT: %[[sourceFile:.*]] = fir.convert %[[sourceFileString]] : (!fir.ref>) -> !fir.ref -! CHECK-32-NEXT: %[[status:.*]] = fir.call @_FortranAEnvVariableValue(%[[name]], %[[value]], %true, %[[errmsg]], %[[sourceFile]], %[[sourceLine]]) : (!fir.box, !fir.box, i1, !fir.box, !fir.ref, i32) -> i32 -! CHECK-64-NEXT: %[[status32:.*]] = fir.call @_FortranAEnvVariableValue(%[[name]], %[[value]], %true, %[[errmsg]], %[[sourceFile]], %[[sourceLine]]) : (!fir.box, !fir.box, i1, !fir.box, !fir.ref, i32) -> i32 +! CHECK-32-NEXT: %[[status:.*]] = fir.call @_FortranAEnvVariableValue(%[[name]], %[[value]], %true, %[[errmsg]], %[[sourceFile]], %[[sourceLine]]) {{.*}} : (!fir.box, !fir.box, i1, !fir.box, !fir.ref, i32) -> i32 +! CHECK-64-NEXT: %[[status32:.*]] = fir.call @_FortranAEnvVariableValue(%[[name]], %[[value]], %true, %[[errmsg]], %[[sourceFile]], %[[sourceLine]]) {{.*}} : (!fir.box, !fir.box, i1, !fir.box, !fir.ref, i32) -> i32 ! CHECK-64: %[[status:.*]] = fir.convert %[[status32]] : (i32) -> i64 ! CHECK: fir.store %[[status]] to %[[statusArg]] : !fir.ref end subroutine name_and_status_only @@ -110,7 +110,7 @@ ! CHECK-NEXT: %[[name:.*]] = fir.convert %[[nameBox]] : (!fir.box>) -> !fir.box ! CHECK-NEXT: %[[errmsg:.*]] = fir.convert %[[errmsgBox]] : (!fir.box>) -> !fir.box ! CHECK-NEXT: %[[sourceFile:.*]] = fir.convert %[[sourceFileString]] : (!fir.ref>) -> !fir.ref -! CHECK-NEXT: %{{[0-9]+}} = fir.call @_FortranAEnvVariableValue(%[[name]], %[[value]], %true, %[[errmsg]], %[[sourceFile]], %[[sourceLine]]) : (!fir.box, !fir.box, i1, !fir.box, !fir.ref, i32) -> i32 +! CHECK-NEXT: %{{[0-9]+}} = fir.call @_FortranAEnvVariableValue(%[[name]], %[[value]], %true, %[[errmsg]], %[[sourceFile]], %[[sourceLine]]) {{.*}} : (!fir.box, !fir.box, i1, !fir.box, !fir.ref, i32) -> i32 ! CHECK-NEXT: return end subroutine name_and_errmsg_only @@ -149,16 +149,16 @@ ! CHECK-NEXT: %[[value:.*]] = fir.convert %[[valueBoxed]] : (!fir.box>) -> !fir.box ! CHECK-NEXT: %[[errmsg:.*]] = fir.convert %[[errmsgBoxed]] : (!fir.box>) -> !fir.box ! CHECK-NEXT: %[[sourceFile:.*]] = fir.convert %[[sourceFileString]] : (!fir.ref>) -> !fir.ref -! CHECK-32-NEXT: %[[status:.*]] = fir.call @_FortranAEnvVariableValue(%[[name]], %[[value]], %[[trimName]], %[[errmsg]], %[[sourceFile]], %[[sourceLine]]) : (!fir.box, !fir.box, i1, !fir.box, !fir.ref, i32) -> i32 -! CHECK-64-NEXT: %[[status32:.*]] = fir.call @_FortranAEnvVariableValue(%[[name]], %[[value]], %[[trimName]], %[[errmsg]], %[[sourceFile]], %[[sourceLine]]) : (!fir.box, !fir.box, i1, !fir.box, !fir.ref, i32) -> i32 +! CHECK-32-NEXT: %[[status:.*]] = fir.call @_FortranAEnvVariableValue(%[[name]], %[[value]], %[[trimName]], %[[errmsg]], %[[sourceFile]], %[[sourceLine]]) {{.*}} : (!fir.box, !fir.box, i1, !fir.box, !fir.ref, i32) -> i32 +! CHECK-64-NEXT: %[[status32:.*]] = fir.call @_FortranAEnvVariableValue(%[[name]], %[[value]], %[[trimName]], %[[errmsg]], %[[sourceFile]], %[[sourceLine]]) {{.*}} : (!fir.box, !fir.box, i1, !fir.box, !fir.ref, i32) -> i32 ! CHECK-64: %[[status:.*]] = fir.convert %[[status32]] : (i32) -> i64 ! CHECK: fir.store %[[status]] to %[[statusArg]] : !fir.ref ! CHECK: %[[sourceFileString2:.*]] = fir.address_of(@_QQcl.[[fileString]]) : !fir.ref> ! CHECK-NEXT: %[[sourceLine2:.*]] = arith.constant [[# @LINE - 29]] : i32 ! CHECK-NEXT: %[[name:.*]] = fir.convert %[[nameBoxed]] : (!fir.box>) -> !fir.box ! CHECK-NEXT: %[[sourceFile2:.*]] = fir.convert %[[sourceFileString2]] : (!fir.ref>) -> !fir.ref -! CHECK-32-NEXT: %[[result64:.*]] = fir.call @_FortranAEnvVariableLength(%[[name]], %[[trimName]], %[[sourceFile2]], %[[sourceLine2]]) : (!fir.box, i1, !fir.ref, i32) -> i64 -! CHECK-64-NEXT: %[[result:.*]] = fir.call @_FortranAEnvVariableLength(%[[name]], %[[trimName]], %[[sourceFile2]], %[[sourceLine2]]) : (!fir.box, i1, !fir.ref, i32) -> i64 +! CHECK-32-NEXT: %[[result64:.*]] = fir.call @_FortranAEnvVariableLength(%[[name]], %[[trimName]], %[[sourceFile2]], %[[sourceLine2]]) {{.*}} : (!fir.box, i1, !fir.ref, i32) -> i64 +! CHECK-64-NEXT: %[[result:.*]] = fir.call @_FortranAEnvVariableLength(%[[name]], %[[trimName]], %[[sourceFile2]], %[[sourceLine2]]) {{.*}} : (!fir.box, i1, !fir.ref, i32) -> i64 ! CHECK-32: %[[result:.*]] = fir.convert %[[result64]] : (i64) -> i32 ! CHECK-NEXT: fir.store %[[result]] to %[[lengthArg]] : !fir.ref end subroutine all_arguments Index: flang/test/Lower/Intrinsics/iall.f90 =================================================================== --- flang/test/Lower/Intrinsics/iall.f90 +++ flang/test/Lower/Intrinsics/iall.f90 @@ -10,7 +10,7 @@ ! CHECK-DAG: %[[a5:.*]] = fir.convert %[[c0]] : (index) -> i32 ! CHECK-DAG: %[[a6:.*]] = fir.convert %[[a1]] : (!fir.box) -> !fir.box iall_test_1 = iall(a) -! CHECK: %{{.*}} = fir.call @_FortranAIAll1(%[[a3]], %{{.*}}, %{{.*}}, %[[a5]], %[[a6]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i8 +! CHECK: %{{.*}} = fir.call @_FortranAIAll1(%[[a3]], %{{.*}}, %{{.*}}, %[[a5]], %[[a6]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i8 end function ! CHECK-LABEL: func @_QPiall_test_2( @@ -23,7 +23,7 @@ ! CHECK-DAG: %[[a5:.*]] = fir.convert %[[c0]] : (index) -> i32 ! CHECK-DAG: %[[a6:.*]] = fir.convert %[[a1]] : (!fir.box) -> !fir.box iall_test_2 = iall(a) -! CHECK: %{{.*}} = fir.call @_FortranAIAll2(%[[a3]], %{{.*}}, %{{.*}}, %[[a5]], %[[a6]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i16 +! CHECK: %{{.*}} = fir.call @_FortranAIAll2(%[[a3]], %{{.*}}, %{{.*}}, %[[a5]], %[[a6]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i16 end function ! CHECK-LABEL: func @_QPiall_test_4( @@ -36,7 +36,7 @@ ! CHECK-DAG: %[[a5:.*]] = fir.convert %[[c0]] : (index) -> i32 ! CHECK-DAG: %[[a6:.*]] = fir.convert %[[a1]] : (!fir.box) -> !fir.box iall_test_4 = iall(a) -! CHECK: %{{.*}} = fir.call @_FortranAIAll4(%[[a3]], %{{.*}}, %{{.*}}, %[[a5]], %[[a6]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 +! CHECK: %{{.*}} = fir.call @_FortranAIAll4(%[[a3]], %{{.*}}, %{{.*}}, %[[a5]], %[[a6]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 end function ! CHECK-LABEL: func @_QPiall_test_8( @@ -49,7 +49,7 @@ ! CHECK-DAG: %[[a5:.*]] = fir.convert %[[c0]] : (index) -> i32 ! CHECK-DAG: %[[a6:.*]] = fir.convert %[[a1]] : (!fir.box) -> !fir.box iall_test_8 = iall(a) -! CHECK: %{{.*}} = fir.call @_FortranAIAll8(%[[a3]], %{{.*}}, %{{.*}}, %[[a5]], %[[a6]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i64 +! CHECK: %{{.*}} = fir.call @_FortranAIAll8(%[[a3]], %{{.*}}, %{{.*}}, %[[a5]], %[[a6]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i64 end function ! CHECK-LABEL: func @_QPiall_test_16( @@ -62,7 +62,7 @@ ! CHECK-DAG: %[[a5:.*]] = fir.convert %[[c0]] : (index) -> i32 ! CHECK-DAG: %[[a6:.*]] = fir.convert %[[a1]] : (!fir.box) -> !fir.box iall_test_16 = iall(a) -! CHECK: %{{.*}} = fir.call @_FortranAIAll16(%[[a3]], %{{.*}}, %{{.*}}, %[[a5]], %[[a6]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i128 +! CHECK: %{{.*}} = fir.call @_FortranAIAll16(%[[a3]], %{{.*}}, %{{.*}}, %[[a5]], %[[a6]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i128 end function ! CHECK-LABEL: func @_QPiall_test2( @@ -77,7 +77,7 @@ ! CHECK-DAG: %[[a7:.*]] = fir.convert %[[arg0]] : (!fir.box>) -> !fir.box ! CHECK-DAG: %[[a9:.*]] = fir.convert %[[a1]] : (!fir.box) -> !fir.box r = iall(a,dim=2) -! CHECK: %{{.*}} = fir.call @_FortranAIAllDim(%[[a6]], %[[a7]], %[[c2_i32]], %{{.*}}, %{{.*}}, %[[a9]]) : (!fir.ref>, !fir.box, i32, !fir.ref, i32, !fir.box) -> none +! CHECK: %{{.*}} = fir.call @_FortranAIAllDim(%[[a6]], %[[a7]], %[[c2_i32]], %{{.*}}, %{{.*}}, %[[a9]]) {{.*}} : (!fir.ref>, !fir.box, i32, !fir.ref, i32, !fir.box) -> none ! CHECK-DAG: %[[a11:.*]] = fir.load %[[a0]] : !fir.ref>>> ! CHECK-DAG: %[[a13:.*]] = fir.box_addr %[[a11]] : (!fir.box>>) -> !fir.heap> ! CHECK-DAG: fir.freemem %[[a13]] @@ -90,7 +90,7 @@ logical, optional :: mask(:) iall_test_optional = iall(x, mask=mask) ! CHECK: %[[VAL_9:.*]] = fir.convert %[[VAL_0]] : (!fir.box>>) -> !fir.box -! CHECK: fir.call @_FortranAIAll4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_9]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 +! CHECK: fir.call @_FortranAIAll4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_9]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 end function ! CHECK-LABEL: func @_QPiall_test_optional_2( @@ -108,7 +108,7 @@ ! CHECK: %[[VAL_10:.*]] = fir.absent !fir.box>>> ! CHECK: %[[VAL_11:.*]] = arith.select %[[VAL_8]], %[[VAL_9]], %[[VAL_10]] : !fir.box>>> ! CHECK: %[[VAL_18:.*]] = fir.convert %[[VAL_11]] : (!fir.box>>>) -> !fir.box -! CHECK: fir.call @_FortranAIAll4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_18]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 +! CHECK: fir.call @_FortranAIAll4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_18]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 end function ! CHECK-LABEL: func @_QPiall_test_optional_3( @@ -124,7 +124,7 @@ ! CHECK: %[[VAL_8:.*]] = fir.absent !fir.box>> ! CHECK: %[[VAL_9:.*]] = arith.select %[[VAL_5]], %[[VAL_7]], %[[VAL_8]] : !fir.box>> ! CHECK: %[[VAL_18:.*]] = fir.convert %[[VAL_9]] : (!fir.box>>) -> !fir.box -! CHECK: fir.call @_FortranAIAll4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_18]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 +! CHECK: fir.call @_FortranAIAll4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_18]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 end function ! CHECK-LABEL: func @_QPiall_test_optional_4( @@ -152,5 +152,5 @@ ! CHECK: %[[VAL_29:.*]] = fir.absent !fir.box>> ! CHECK: %[[VAL_30:.*]] = arith.select %[[VAL_23]], %[[VAL_28]], %[[VAL_29]] : !fir.box>> ! CHECK: %[[VAL_37:.*]] = fir.convert %[[VAL_30]] : (!fir.box>>) -> !fir.box -! CHECK: fir.call @_FortranAIAll4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_37]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 +! CHECK: fir.call @_FortranAIAll4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_37]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 end function Index: flang/test/Lower/Intrinsics/iand.f90 =================================================================== --- flang/test/Lower/Intrinsics/iand.f90 +++ flang/test/Lower/Intrinsics/iand.f90 @@ -74,6 +74,6 @@ ! CHECK-DAG: %[[S2_VAL:.*]] = fir.load %[[S2]] : !fir.ref stop iand(s1,s2) ! CHECK-DAG: %[[ANDI:.*]] = arith.andi %[[S1_VAL]], %[[S2_VAL]] : i32 -! CHECK: fir.call @_FortranAStopStatement(%[[ANDI]], {{.*}}, {{.*}}) : (i32, i1, i1) -> none +! CHECK: fir.call @_FortranAStopStatement(%[[ANDI]], {{.*}}, {{.*}}) {{.*}} : (i32, i1, i1) -> none ! CHECK-NEXT: fir.unreachable end subroutine iand_test6 Index: flang/test/Lower/Intrinsics/iany.f90 =================================================================== --- flang/test/Lower/Intrinsics/iany.f90 +++ flang/test/Lower/Intrinsics/iany.f90 @@ -10,7 +10,7 @@ ! CHECK-DAG: %[[a5:.*]] = fir.convert %[[c0]] : (index) -> i32 ! CHECK-DAG: %[[a6:.*]] = fir.convert %[[a1]] : (!fir.box) -> !fir.box iany_test_1 = iany(a) -! CHECK: %{{.*}} = fir.call @_FortranAIAny1(%[[a3]], %{{.*}}, %{{.*}}, %[[a5]], %[[a6]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i8 +! CHECK: %{{.*}} = fir.call @_FortranAIAny1(%[[a3]], %{{.*}}, %{{.*}}, %[[a5]], %[[a6]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i8 end function ! CHECK-LABEL: func @_QPiany_test_2( @@ -23,7 +23,7 @@ ! CHECK-DAG: %[[a5:.*]] = fir.convert %[[c0]] : (index) -> i32 ! CHECK-DAG: %[[a6:.*]] = fir.convert %[[a1]] : (!fir.box) -> !fir.box iany_test_2 = iany(a) -! CHECK: %{{.*}} = fir.call @_FortranAIAny2(%[[a3]], %{{.*}}, %{{.*}}, %[[a5]], %[[a6]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i16 +! CHECK: %{{.*}} = fir.call @_FortranAIAny2(%[[a3]], %{{.*}}, %{{.*}}, %[[a5]], %[[a6]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i16 end function ! CHECK-LABEL: func @_QPiany_test_4( @@ -36,7 +36,7 @@ ! CHECK-DAG: %[[a5:.*]] = fir.convert %[[c0]] : (index) -> i32 ! CHECK-DAG: %[[a6:.*]] = fir.convert %[[a1]] : (!fir.box) -> !fir.box iany_test_4 = iany(a) -! CHECK: %{{.*}} = fir.call @_FortranAIAny4(%[[a3]], %{{.*}}, %{{.*}}, %[[a5]], %[[a6]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 +! CHECK: %{{.*}} = fir.call @_FortranAIAny4(%[[a3]], %{{.*}}, %{{.*}}, %[[a5]], %[[a6]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 end function ! CHECK-LABEL: func @_QPiany_test_8( @@ -49,7 +49,7 @@ ! CHECK-DAG: %[[a5:.*]] = fir.convert %[[c0]] : (index) -> i32 ! CHECK-DAG: %[[a6:.*]] = fir.convert %[[a1]] : (!fir.box) -> !fir.box iany_test_8 = iany(a) -! CHECK: %{{.*}} = fir.call @_FortranAIAny8(%[[a3]], %{{.*}}, %{{.*}}, %[[a5]], %[[a6]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i64 +! CHECK: %{{.*}} = fir.call @_FortranAIAny8(%[[a3]], %{{.*}}, %{{.*}}, %[[a5]], %[[a6]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i64 end function ! CHECK-LABEL: func @_QPiany_test_16( @@ -62,7 +62,7 @@ ! CHECK-DAG: %[[a5:.*]] = fir.convert %[[c0]] : (index) -> i32 ! CHECK-DAG: %[[a6:.*]] = fir.convert %[[a1]] : (!fir.box) -> !fir.box iany_test_16 = iany(a) -! CHECK: %{{.*}} = fir.call @_FortranAIAny16(%[[a3]], %{{.*}}, %{{.*}}, %[[a5]], %[[a6]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i128 +! CHECK: %{{.*}} = fir.call @_FortranAIAny16(%[[a3]], %{{.*}}, %{{.*}}, %[[a5]], %[[a6]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i128 end function ! CHECK-LABEL: func @_QPiany_test2( @@ -77,7 +77,7 @@ ! CHECK-DAG: %[[a7:.*]] = fir.convert %[[arg0]] : (!fir.box>) -> !fir.box ! CHECK-DAG: %[[a9:.*]] = fir.convert %[[a1]] : (!fir.box) -> !fir.box r = iany(a,dim=2) -! CHECK: %{{.*}} = fir.call @_FortranAIAnyDim(%[[a6]], %[[a7]], %[[c2_i32]], %{{.*}}, %{{.*}}, %[[a9]]) : (!fir.ref>, !fir.box, i32, !fir.ref, i32, !fir.box) -> none +! CHECK: %{{.*}} = fir.call @_FortranAIAnyDim(%[[a6]], %[[a7]], %[[c2_i32]], %{{.*}}, %{{.*}}, %[[a9]]) {{.*}} : (!fir.ref>, !fir.box, i32, !fir.ref, i32, !fir.box) -> none ! CHECK-DAG: %[[a11:.*]] = fir.load %[[a0]] : !fir.ref>>> ! CHECK-DAG: %[[a13:.*]] = fir.box_addr %[[a11]] : (!fir.box>>) -> !fir.heap> ! CHECK-DAG: fir.freemem %[[a13]] @@ -90,7 +90,7 @@ logical, optional :: mask(:) iany_test_optional = iany(x, mask=mask) ! CHECK: %[[VAL_9:.*]] = fir.convert %[[VAL_0]] : (!fir.box>>) -> !fir.box -! CHECK: fir.call @_FortranAIAny4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_9]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 +! CHECK: fir.call @_FortranAIAny4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_9]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 end function ! CHECK-LABEL: func @_QPiany_test_optional_2( @@ -108,7 +108,7 @@ ! CHECK: %[[VAL_10:.*]] = fir.absent !fir.box>>> ! CHECK: %[[VAL_11:.*]] = arith.select %[[VAL_8]], %[[VAL_9]], %[[VAL_10]] : !fir.box>>> ! CHECK: %[[VAL_18:.*]] = fir.convert %[[VAL_11]] : (!fir.box>>>) -> !fir.box -! CHECK: fir.call @_FortranAIAny4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_18]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 +! CHECK: fir.call @_FortranAIAny4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_18]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 end function ! CHECK-LABEL: func @_QPiany_test_optional_3( @@ -124,7 +124,7 @@ ! CHECK: %[[VAL_8:.*]] = fir.absent !fir.box>> ! CHECK: %[[VAL_9:.*]] = arith.select %[[VAL_5]], %[[VAL_7]], %[[VAL_8]] : !fir.box>> ! CHECK: %[[VAL_18:.*]] = fir.convert %[[VAL_9]] : (!fir.box>>) -> !fir.box -! CHECK: fir.call @_FortranAIAny4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_18]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 +! CHECK: fir.call @_FortranAIAny4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_18]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 end function ! CHECK-LABEL: func @_QPiany_test_optional_4( @@ -152,5 +152,5 @@ ! CHECK: %[[VAL_29:.*]] = fir.absent !fir.box>> ! CHECK: %[[VAL_30:.*]] = arith.select %[[VAL_23]], %[[VAL_28]], %[[VAL_29]] : !fir.box>> ! CHECK: %[[VAL_37:.*]] = fir.convert %[[VAL_30]] : (!fir.box>>) -> !fir.box -! CHECK: fir.call @_FortranAIAny4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_37]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 +! CHECK: fir.call @_FortranAIAny4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_37]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 end function Index: flang/test/Lower/Intrinsics/ieee_is_finite.f90 =================================================================== --- flang/test/Lower/Intrinsics/ieee_is_finite.f90 +++ flang/test/Lower/Intrinsics/ieee_is_finite.f90 @@ -20,7 +20,7 @@ ! CHECK: %[[V_19:[0-9]+]] = fir.load %arg0 : !fir.ref ! CHECK: %[[V_20:[0-9]+]] = fir.load %arg0 : !fir.ref - ! CHECK: %[[V_21:[0-9]+]] = arith.addf %[[V_19]], %[[V_20]] : f32 + ! CHECK: %[[V_21:[0-9]+]] = arith.addf %[[V_19]], %[[V_20]] {{.*}} : f32 ! CHECK: %[[V_22:[0-9]+]] = arith.bitcast %[[V_21]] : f32 to i32 ! CHECK: %[[V_23:[0-9]+]] = arith.subi %c32{{.*}}, %c8{{.*}} : i32 ! CHECK: %[[V_24:[0-9]+]] = arith.shrui %c-1{{.*}}, %[[V_23]] : i32 @@ -48,7 +48,7 @@ ! CHECK: %[[V_53:[0-9]+]] = fir.load %arg1 : !fir.ref ! CHECK: %[[V_54:[0-9]+]] = fir.load %arg1 : !fir.ref - ! CHECK: %[[V_55:[0-9]+]] = arith.addf %[[V_53]], %[[V_54]] : f64 + ! CHECK: %[[V_55:[0-9]+]] = arith.addf %[[V_53]], %[[V_54]] {{.*}} : f64 ! CHECK: %[[V_56:[0-9]+]] = arith.bitcast %[[V_55]] : f64 to i64 ! CHECK: %[[V_57:[0-9]+]] = arith.subi %c64{{.*}}, %c11{{.*}} : i64 ! CHECK: %[[V_58:[0-9]+]] = arith.shrui %c-1{{.*}}, %[[V_57]] : i64 Index: flang/test/Lower/Intrinsics/ieee_operator_eq.f90 =================================================================== --- flang/test/Lower/Intrinsics/ieee_operator_eq.f90 +++ flang/test/Lower/Intrinsics/ieee_operator_eq.f90 @@ -10,7 +10,7 @@ ! CHECK: %[[V_6:[0-9]+]] = fir.coordinate_of %arg1, %[[V_3]] : (!fir.ref>, !fir.field) -> !fir.ref ! CHECK: %[[V_7:[0-9]+]] = fir.load %[[V_6]] : !fir.ref ! CHECK: %[[V_8:[0-9]+]] = arith.cmpi eq, %[[V_5]], %[[V_7]] : i8 - ! CHECK: %[[V_9:[0-9]+]] = fir.call @_FortranAioOutputLogical(%{{.*}}, %[[V_8]]) : (!fir.ref, i1) -> i1 + ! CHECK: %[[V_9:[0-9]+]] = fir.call @_FortranAioOutputLogical(%{{.*}}, %[[V_8]]) {{.*}} : (!fir.ref, i1) -> i1 print*, r1 == r2 end @@ -34,13 +34,13 @@ ! CHECK: fir.store %c1{{.*}} to %[[V_7]] : !fir.ref call s(ieee_to_zero, ieee_nearest) - ! CHECK: fir.call @_QPs(%[[V_3]], %[[V_2]]) : (!fir.ref>, !fir.ref>) -> () + ! CHECK: fir.call @_QPs(%[[V_3]], %[[V_2]]) {{.*}} : (!fir.ref>, !fir.ref>) -> () ! CHECK: %[[V_8:[0-9]+]] = fir.field_index mode, !fir.type<_QMieee_arithmeticTieee_round_type{mode:i8}> ! CHECK: %[[V_9:[0-9]+]] = fir.coordinate_of %[[V_1]], %[[V_8]] : (!fir.ref>, !fir.field) -> !fir.ref ! CHECK: fir.store %c1{{.*}} to %[[V_9]] : !fir.ref ! CHECK: %[[V_10:[0-9]+]] = fir.field_index mode, !fir.type<_QMieee_arithmeticTieee_round_type{mode:i8}> ! CHECK: %[[V_11:[0-9]+]] = fir.coordinate_of %[[V_0]], %[[V_10]] : (!fir.ref>, !fir.field) -> !fir.ref ! CHECK: fir.store %c1{{.*}} to %[[V_11]] : !fir.ref - ! CHECK: fir.call @_QPs(%[[V_1]], %[[V_0]]) : (!fir.ref>, !fir.ref>) -> () + ! CHECK: fir.call @_QPs(%[[V_1]], %[[V_0]]) {{.*}} : (!fir.ref>, !fir.ref>) -> () call s(ieee_nearest, ieee_nearest) end Index: flang/test/Lower/Intrinsics/index.f90 =================================================================== --- flang/test/Lower/Intrinsics/index.f90 +++ flang/test/Lower/Intrinsics/index.f90 @@ -11,7 +11,7 @@ ! CHECK: %[[a2:.*]] = fir.convert %[[st]]#1 : (index) -> i64 ! CHECK: %[[a3:.*]] = fir.convert %[[sst]]#0 : (!fir.ref>) -> !fir.ref ! CHECK: %[[a4:.*]] = fir.convert %[[sst]]#1 : (index) -> i64 - ! CHECK: = fir.call @_FortranAIndex1(%[[a1]], %[[a2]], %[[a3]], %[[a4]], %{{.*}}) : (!fir.ref, i64, !fir.ref, i64, i1) -> i64 + ! CHECK: = fir.call @_FortranAIndex1(%[[a1]], %[[a2]], %[[a3]], %[[a4]], %{{.*}}) {{.*}} : (!fir.ref, i64, !fir.ref, i64, i1) -> i64 index_test = index(s1, s2) end function index_test @@ -31,7 +31,7 @@ ! CHECK: %[[a2:.*]] = fir.convert %[[ssb]] : (!fir.box>) -> !fir.box ! CHECK: %[[a3:.*]] = fir.convert %[[back]] : (!fir.box>) -> !fir.box ! CHECK: %[[a5:.*]] = fir.convert %{{.*}} : (!fir.ref>) -> !fir.ref - ! CHECK: fir.call @_FortranAIndex(%[[a0]], %[[a1]], %[[a2]], %[[a3]], %{{.*}}, %[[a5]], %{{.*}}) : (!fir.ref>, !fir.box, !fir.box, !fir.box, i32, !fir.ref, i32) -> none + ! CHECK: fir.call @_FortranAIndex(%[[a0]], %[[a1]], %[[a2]], %[[a3]], %{{.*}}, %[[a5]], %{{.*}}) {{.*}} : (!fir.ref>, !fir.box, !fir.box, !fir.box, i32, !fir.ref, i32) -> none index_test2 = index(s1, s2, .true., 4) ! CHECK: %[[ld1:.*]] = fir.load %[[mut]] : !fir.ref>> ! CHECK: %[[ad1:.*]] = fir.box_addr %[[ld1]] : (!fir.box>) -> !fir.heap @@ -75,7 +75,7 @@ ! CHECK: fir.result %[[VAL_34]] : !fir.logical<4> ! CHECK: } ! CHECK: %[[VAL_39:.*]] = fir.convert %[[VAL_31]] : (!fir.logical<4>) -> i1 - ! CHECK: fir.call @_FortranAIndex1(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_39]]) : (!fir.ref, i64, !fir.ref, i64, i1) -> i64 + ! CHECK: fir.call @_FortranAIndex1(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_39]]) {{.*}} : (!fir.ref, i64, !fir.ref, i64, i1) -> i64 ! CHECK: } ! CHECK: fir.array_merge_store end subroutine Index: flang/test/Lower/Intrinsics/iparity.f90 =================================================================== --- flang/test/Lower/Intrinsics/iparity.f90 +++ flang/test/Lower/Intrinsics/iparity.f90 @@ -10,7 +10,7 @@ ! CHECK-DAG: %[[a5:.*]] = fir.convert %[[c0]] : (index) -> i32 ! CHECK-DAG: %[[a6:.*]] = fir.convert %[[a1]] : (!fir.box) -> !fir.box iparity_test_1 = iparity(a) -! CHECK: %{{.*}} = fir.call @_FortranAIParity1(%[[a3]], %{{.*}}, %{{.*}}, %[[a5]], %[[a6]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i8 +! CHECK: %{{.*}} = fir.call @_FortranAIParity1(%[[a3]], %{{.*}}, %{{.*}}, %[[a5]], %[[a6]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i8 end function ! CHECK-LABEL: func @_QPiparity_test_2( @@ -23,7 +23,7 @@ ! CHECK-DAG: %[[a5:.*]] = fir.convert %[[c0]] : (index) -> i32 ! CHECK-DAG: %[[a6:.*]] = fir.convert %[[a1]] : (!fir.box) -> !fir.box iparity_test_2 = iparity(a) -! CHECK: %{{.*}} = fir.call @_FortranAIParity2(%[[a3]], %{{.*}}, %{{.*}}, %[[a5]], %[[a6]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i16 +! CHECK: %{{.*}} = fir.call @_FortranAIParity2(%[[a3]], %{{.*}}, %{{.*}}, %[[a5]], %[[a6]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i16 end function ! CHECK-LABEL: func @_QPiparity_test_4( @@ -36,7 +36,7 @@ ! CHECK-DAG: %[[a5:.*]] = fir.convert %[[c0]] : (index) -> i32 ! CHECK-DAG: %[[a6:.*]] = fir.convert %[[a1]] : (!fir.box) -> !fir.box iparity_test_4 = iparity(a) -! CHECK: %{{.*}} = fir.call @_FortranAIParity4(%[[a3]], %{{.*}}, %{{.*}}, %[[a5]], %[[a6]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 +! CHECK: %{{.*}} = fir.call @_FortranAIParity4(%[[a3]], %{{.*}}, %{{.*}}, %[[a5]], %[[a6]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 end function ! CHECK-LABEL: func @_QPiparity_test_8( @@ -49,7 +49,7 @@ ! CHECK-DAG: %[[a5:.*]] = fir.convert %[[c0]] : (index) -> i32 ! CHECK-DAG: %[[a6:.*]] = fir.convert %[[a1]] : (!fir.box) -> !fir.box iparity_test_8 = iparity(a) -! CHECK: %{{.*}} = fir.call @_FortranAIParity8(%[[a3]], %{{.*}}, %{{.*}}, %[[a5]], %[[a6]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i64 +! CHECK: %{{.*}} = fir.call @_FortranAIParity8(%[[a3]], %{{.*}}, %{{.*}}, %[[a5]], %[[a6]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i64 end function ! CHECK-LABEL: func @_QPiparity_test_16( @@ -62,7 +62,7 @@ ! CHECK-DAG: %[[a5:.*]] = fir.convert %[[c0]] : (index) -> i32 ! CHECK-DAG: %[[a6:.*]] = fir.convert %[[a1]] : (!fir.box) -> !fir.box iparity_test_16 = iparity(a) -! CHECK: %{{.*}} = fir.call @_FortranAIParity16(%[[a3]], %{{.*}}, %{{.*}}, %[[a5]], %[[a6]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i128 +! CHECK: %{{.*}} = fir.call @_FortranAIParity16(%[[a3]], %{{.*}}, %{{.*}}, %[[a5]], %[[a6]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i128 end function ! CHECK-LABEL: func @_QPiparity_test2( @@ -77,7 +77,7 @@ ! CHECK-DAG: %[[a7:.*]] = fir.convert %[[arg0]] : (!fir.box>) -> !fir.box ! CHECK-DAG: %[[a9:.*]] = fir.convert %[[a1]] : (!fir.box) -> !fir.box r = iparity(a,dim=2) -! CHECK: %{{.*}} = fir.call @_FortranAIParityDim(%[[a6]], %[[a7]], %[[c2_i32]], %{{.*}}, %{{.*}}, %[[a9]]) : (!fir.ref>, !fir.box, i32, !fir.ref, i32, !fir.box) -> none +! CHECK: %{{.*}} = fir.call @_FortranAIParityDim(%[[a6]], %[[a7]], %[[c2_i32]], %{{.*}}, %{{.*}}, %[[a9]]) {{.*}} : (!fir.ref>, !fir.box, i32, !fir.ref, i32, !fir.box) -> none ! CHECK-DAG: %[[a11:.*]] = fir.load %[[a0]] : !fir.ref>>> ! CHECK-DAG: %[[a13:.*]] = fir.box_addr %[[a11]] : (!fir.box>>) -> !fir.heap> ! CHECK-DAG: fir.freemem %[[a13]] @@ -90,7 +90,7 @@ logical, optional :: mask(:) iparity_test_optional = iparity(x, mask=mask) ! CHECK: %[[VAL_9:.*]] = fir.convert %[[VAL_0]] : (!fir.box>>) -> !fir.box -! CHECK: fir.call @_FortranAIParity4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_9]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 +! CHECK: fir.call @_FortranAIParity4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_9]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 end function ! CHECK-LABEL: func @_QPiparity_test_optional_2( @@ -108,7 +108,7 @@ ! CHECK: %[[VAL_10:.*]] = fir.absent !fir.box>>> ! CHECK: %[[VAL_11:.*]] = arith.select %[[VAL_8]], %[[VAL_9]], %[[VAL_10]] : !fir.box>>> ! CHECK: %[[VAL_18:.*]] = fir.convert %[[VAL_11]] : (!fir.box>>>) -> !fir.box -! CHECK: fir.call @_FortranAIParity4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_18]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 +! CHECK: fir.call @_FortranAIParity4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_18]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 end function ! CHECK-LABEL: func @_QPiparity_test_optional_3( @@ -124,7 +124,7 @@ ! CHECK: %[[VAL_8:.*]] = fir.absent !fir.box>> ! CHECK: %[[VAL_9:.*]] = arith.select %[[VAL_5]], %[[VAL_7]], %[[VAL_8]] : !fir.box>> ! CHECK: %[[VAL_18:.*]] = fir.convert %[[VAL_9]] : (!fir.box>>) -> !fir.box -! CHECK: fir.call @_FortranAIParity4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_18]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 +! CHECK: fir.call @_FortranAIParity4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_18]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 end function ! CHECK-LABEL: func @_QPiparity_test_optional_4( @@ -152,5 +152,5 @@ ! CHECK: %[[VAL_29:.*]] = fir.absent !fir.box>> ! CHECK: %[[VAL_30:.*]] = arith.select %[[VAL_23]], %[[VAL_28]], %[[VAL_29]] : !fir.box>> ! CHECK: %[[VAL_37:.*]] = fir.convert %[[VAL_30]] : (!fir.box>>) -> !fir.box -! CHECK: fir.call @_FortranAIParity4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_37]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 +! CHECK: fir.call @_FortranAIParity4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_37]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 end function Index: flang/test/Lower/Intrinsics/lbound.f90 =================================================================== --- flang/test/Lower/Intrinsics/lbound.f90 +++ flang/test/Lower/Intrinsics/lbound.f90 @@ -12,7 +12,7 @@ ! CHECK: %[[VAL_3:.*]] = fir.convert %[[VAL_1]] : (!fir.box>) -> !fir.box ! CHECK: %[[VAL_4:.*]] = fir.convert %[[VAL_0]] : (i64) -> i32 ! CHECK: %[[VAL_5:.*]] = fir.convert %[[VAL_2]] -! CHECK: %[[VAL_6:.*]] = fir.call @_FortranALboundDim(%[[VAL_3]], %[[VAL_4]], %[[VAL_5]], %{{.*}}) : (!fir.box, i32, !fir.ref, i32) -> i64 +! CHECK: %[[VAL_6:.*]] = fir.call @_FortranALboundDim(%[[VAL_3]], %[[VAL_4]], %[[VAL_5]], %{{.*}}) {{.*}} : (!fir.box, i32, !fir.ref, i32) -> i64 ! CHECK: fir.store %[[VAL_6]] to %arg2 : !fir.ref res = lbound(a, dim, 8) end subroutine @@ -32,7 +32,7 @@ ! CHECK: %[[VAL_6:.*]] = fir.convert %[[VAL_4]] : (!fir.box>) -> !fir.box ! CHECK: %[[VAL_7:.*]] = fir.convert %[[VAL_2]] : (i64) -> i32 ! CHECK: %[[VAL_8:.*]] = fir.convert %[[VAL_5]] -! CHECK: %[[VAL_9:.*]] = fir.call @_FortranALboundDim(%[[VAL_6]], %[[VAL_7]], %[[VAL_8]], %{{.*}}) : (!fir.box, i32, !fir.ref, i32) -> i64 +! CHECK: %[[VAL_9:.*]] = fir.call @_FortranALboundDim(%[[VAL_6]], %[[VAL_7]], %[[VAL_8]], %{{.*}}) {{.*}} : (!fir.box, i32, !fir.ref, i32) -> i64 ! CHECK: fir.store %[[VAL_9]] to %arg2 : !fir.ref res = lbound(a, dim, 8) end subroutine @@ -48,7 +48,7 @@ ! CHECK: %[[VAL_5:.*]] = fir.convert %[[VAL_3]] : (!fir.box>) -> !fir.box ! CHECK: %[[VAL_6:.*]] = fir.convert %[[VAL_1]] : (i64) -> i32 ! CHECK: %[[VAL_7:.*]] = fir.convert %[[VAL_4]] -! CHECK: %[[VAL_8:.*]] = fir.call @_FortranALboundDim(%[[VAL_5]], %[[VAL_6]], %[[VAL_7]], %{{.*}}) : (!fir.box, i32, !fir.ref, i32) -> i64 +! CHECK: %[[VAL_8:.*]] = fir.call @_FortranALboundDim(%[[VAL_5]], %[[VAL_6]], %[[VAL_7]], %{{.*}}) {{.*}} : (!fir.box, i32, !fir.ref, i32) -> i64 ! CHECK: fir.store %[[VAL_8]] to %arg2 : !fir.ref res = lbound(a, dim, 8) end subroutine @@ -89,6 +89,6 @@ ! CHECK: %[[VAL_47:.*]] = fir.shape %[[VAL_46]] : (index) -> !fir.shape<1> ! CHECK: %[[VAL_48:.*]] = fir.embox %[[VAL_6]](%[[VAL_47]]) : (!fir.ref>, !fir.shape<1>) -> !fir.box> ! CHECK: %[[VAL_49:.*]] = fir.convert %[[VAL_48]] : (!fir.box>) -> !fir.box -! CHECK: fir.call @_FortranAioOutputDescriptor(%{{.*}}, %[[VAL_49]]) : (!fir.ref, !fir.box) -> i1 +! CHECK: fir.call @_FortranAioOutputDescriptor(%{{.*}}, %[[VAL_49]]) {{.*}} : (!fir.ref, !fir.box) -> i1 print *, lbound(a, kind=4) end subroutine Index: flang/test/Lower/Intrinsics/log.f90 =================================================================== --- flang/test/Lower/Intrinsics/log.f90 +++ flang/test/Lower/Intrinsics/log.f90 @@ -10,7 +10,7 @@ subroutine log_testr(a, b) real :: a, b ! CHECK: %[[A:.*]] = fir.load %[[AREF:.*]] : !fir.ref -! CHECK: %[[RES:.*]] = fir.call @fir.log.f32.f32(%[[A]]) : (f32) -> f32 +! CHECK: %[[RES:.*]] = fir.call @fir.log.f32.f32(%[[A]]) {{.*}} : (f32) -> f32 ! CHECK: fir.store %[[RES]] to %[[BREF]] : !fir.ref b = log(a) end subroutine @@ -20,7 +20,7 @@ subroutine log_testd(a, b) real(kind=8) :: a, b ! CHECK: %[[A:.*]] = fir.load %[[AREF:.*]] : !fir.ref -! CHECK: %[[RES:.*]] = fir.call @fir.log.f64.f64(%[[A]]) : (f64) -> f64 +! CHECK: %[[RES:.*]] = fir.call @fir.log.f64.f64(%[[A]]) {{.*}} : (f64) -> f64 ! CHECK: fir.store %[[RES]] to %[[BREF]] : !fir.ref b = log(a) end subroutine @@ -30,7 +30,7 @@ subroutine log_testc(a, b) complex :: a, b ! CHECK: %[[A:.*]] = fir.load %[[AREF:.*]] : !fir.ref> -! CHECK: %[[RES:.*]] = fir.call @fir.log.z4.z4(%[[A]]) : (!fir.complex<4>) -> !fir.complex<4> +! CHECK: %[[RES:.*]] = fir.call @fir.log.z4.z4(%[[A]]) {{.*}} : (!fir.complex<4>) -> !fir.complex<4> ! CHECK: fir.store %[[RES]] to %[[BREF]] : !fir.ref> b = log(a) end subroutine @@ -40,7 +40,7 @@ subroutine log_testcd(a, b) complex(kind=8) :: a, b ! CHECK: %[[A:.*]] = fir.load %[[AREF:.*]] : !fir.ref> -! CHECK: %[[RES:.*]] = fir.call @fir.log.z8.z8(%[[A]]) : (!fir.complex<8>) -> !fir.complex<8> +! CHECK: %[[RES:.*]] = fir.call @fir.log.z8.z8(%[[A]]) {{.*}} : (!fir.complex<8>) -> !fir.complex<8> ! CHECK: fir.store %[[RES]] to %[[BREF]] : !fir.ref> b = log(a) end subroutine @@ -50,7 +50,7 @@ subroutine log10_testr(a, b) real :: a, b ! CHECK: %[[A:.*]] = fir.load %[[AREF:.*]] : !fir.ref -! CHECK: %[[RES:.*]] = fir.call @fir.log10.f32.f32(%[[A]]) : (f32) -> f32 +! CHECK: %[[RES:.*]] = fir.call @fir.log10.f32.f32(%[[A]]) {{.*}} : (f32) -> f32 ! CHECK: fir.store %[[RES]] to %[[BREF]] : !fir.ref b = log10(a) end subroutine @@ -60,7 +60,7 @@ subroutine log10_testd(a, b) real(kind=8) :: a, b ! CHECK: %[[A:.*]] = fir.load %[[AREF:.*]] : !fir.ref -! CHECK: %[[RES:.*]] = fir.call @fir.log10.f64.f64(%[[A]]) : (f64) -> f64 +! CHECK: %[[RES:.*]] = fir.call @fir.log10.f64.f64(%[[A]]) {{.*}} : (f64) -> f64 ! CHECK: fir.store %[[RES]] to %[[BREF]] : !fir.ref b = log10(a) end subroutine Index: flang/test/Lower/Intrinsics/log_gamma.f90 =================================================================== --- flang/test/Lower/Intrinsics/log_gamma.f90 +++ flang/test/Lower/Intrinsics/log_gamma.f90 @@ -11,7 +11,7 @@ end function ! ALL-LABEL: @_QPtest_real4 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @lgammaf({{%[A-Za-z0-9._]+}}) : (f32) -> f32 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @lgammaf({{%[A-Za-z0-9._]+}}) {{.*}} : (f32) -> f32 function test_real8(x) real(8) :: x, test_real8 @@ -19,4 +19,4 @@ end function ! ALL-LABEL: @_QPtest_real8 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @lgamma({{%[A-Za-z0-9._]+}}) : (f64) -> f64 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @lgamma({{%[A-Za-z0-9._]+}}) {{.*}} : (f64) -> f64 Index: flang/test/Lower/Intrinsics/matmul.f90 =================================================================== --- flang/test/Lower/Intrinsics/matmul.f90 +++ flang/test/Lower/Intrinsics/matmul.f90 @@ -23,7 +23,7 @@ ! CHECK: %[[RESULT_BOX_ADDR_RUNTIME:.*]] = fir.convert %[[RESULT_BOX_ADDR]] : (!fir.ref>>>) -> !fir.ref> ! CHECK: %[[X_BOX_RUNTIME:.*]] = fir.convert %[[X_BOX]] : (!fir.box>) -> !fir.box ! CHECK: %[[Y_BOX_RUNTIME:.*]] = fir.convert %[[Y_BOX]] : (!fir.box>) -> !fir.box -! CHECK: {{.*}}fir.call @_FortranAMatmul(%[[RESULT_BOX_ADDR_RUNTIME]], %[[X_BOX_RUNTIME]], %[[Y_BOX_RUNTIME]], {{.*}}, {{.*}} : (!fir.ref>, !fir.box, !fir.box, !fir.ref, i32) -> none +! CHECK: {{.*}}fir.call @_FortranAMatmul(%[[RESULT_BOX_ADDR_RUNTIME]], %[[X_BOX_RUNTIME]], %[[Y_BOX_RUNTIME]], {{.*}}, {{.*}} {{.*}} : (!fir.ref>, !fir.box, !fir.box, !fir.ref, i32) -> none ! CHECK: %[[RESULT_BOX:.*]] = fir.load %[[RESULT_BOX_ADDR]] : !fir.ref>>> ! CHECK: %[[RESULT_TMP:.*]] = fir.box_addr %[[RESULT_BOX]] : (!fir.box>>) -> !fir.heap> ! CHECK: %[[Z_COPY_FROM_RESULT:.*]] = fir.do_loop @@ -50,7 +50,7 @@ !CHECK: %[[RESULT_BOX_RUNTIME:.*]] = fir.convert %[[RESULT_BOX_ADDR]] : (!fir.ref>>>>) -> !fir.ref> !CHECK: %[[X_BOX_RUNTIME:.*]] = fir.convert %[[X_BOX]] : (!fir.box>>) -> !fir.box !CHECK: %[[Y_BOX_RUNTIME:.*]] = fir.convert %[[Y_BOX]] : (!fir.box>>) -> !fir.box -!CHECK: {{.*}}fir.call @_FortranAMatmul(%[[RESULT_BOX_RUNTIME]], %[[X_BOX_RUNTIME]], %[[Y_BOX_RUNTIME]], {{.*}}, {{.*}}) : (!fir.ref>, !fir.box, !fir.box, !fir.ref, i32) -> none +!CHECK: {{.*}}fir.call @_FortranAMatmul(%[[RESULT_BOX_RUNTIME]], %[[X_BOX_RUNTIME]], %[[Y_BOX_RUNTIME]], {{.*}}, {{.*}}) {{.*}} : (!fir.ref>, !fir.box, !fir.box, !fir.ref, i32) -> none !CHECK: %[[RESULT_BOX:.*]] = fir.load %[[RESULT_BOX_ADDR]] : !fir.ref>>>> !CHECK: %[[RESULT_TMP:.*]] = fir.box_addr %[[RESULT_BOX]] : (!fir.box>>>) -> !fir.heap>> !CHECK: %[[Z_COPY_FROM_RESULT:.*]] = fir.do_loop Index: flang/test/Lower/Intrinsics/max.f90 =================================================================== --- flang/test/Lower/Intrinsics/max.f90 +++ flang/test/Lower/Intrinsics/max.f90 @@ -83,7 +83,7 @@ ! CHECK: } else { ! CHECK: fir.result %[[VAL_12]] : i32 ! CHECK: } - ! CHECK: fir.call @_FortranAioOutputInteger32(%{{.*}}, %[[VAL_13]]) : (!fir.ref, i32) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger32(%{{.*}}, %[[VAL_13]]) {{.*}} : (!fir.ref, i32) -> i1 end subroutine ! CHECK-LABEL: func @_QMmax_testPdynamic_optional_weird( @@ -122,7 +122,7 @@ ! CHECK: } else { ! CHECK: fir.result %[[VAL_23]] : i32 ! CHECK: } - ! CHECK: fir.call @_FortranAioOutputInteger32(%{{.*}}, %[[VAL_24]]) : (!fir.ref, i32) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger32(%{{.*}}, %[[VAL_24]]) {{.*}} : (!fir.ref, i32) -> i1 end subroutine end module Index: flang/test/Lower/Intrinsics/maxloc.f90 =================================================================== --- flang/test/Lower/Intrinsics/maxloc.f90 +++ flang/test/Lower/Intrinsics/maxloc.f90 @@ -13,7 +13,7 @@ ! CHECK-DAG: %[[a8:.*]] = fir.convert %[[c4]] : (index) -> i32 ! CHECK-DAG: %[[a10:.*]] = fir.convert %[[a1]] : (!fir.box) -> !fir.box res = maxloc(arr) - ! CHECK: %{{.*}} = fir.call @_FortranAMaxlocInteger4(%[[a6]], %[[a7]], %[[a8]], %{{.*}}, %{{.*}}, %[[a10]], %false) : (!fir.ref>, !fir.box, i32, !fir.ref, i32, !fir.box, i1) -> none + ! CHECK: %{{.*}} = fir.call @_FortranAMaxlocInteger4(%[[a6]], %[[a7]], %[[a8]], %{{.*}}, %{{.*}}, %[[a10]], %false) {{.*}} : (!fir.ref>, !fir.box, i32, !fir.ref, i32, !fir.box, i1) -> none ! CHECK-DAG: %[[a12:.*]] = fir.load %[[a0]] : !fir.ref>>> ! CHECK-DAG: %[[a14:.*]] = fir.box_addr %[[a12]] : (!fir.box>>) -> !fir.heap> ! CHECK-DAG: fir.freemem %[[a14]] @@ -34,7 +34,7 @@ ! CHECK-DAG: %[[a8:.*]] = fir.convert %[[c4]] : (index) -> i32 ! CHECK-DAG: %[[a10:.*]] = fir.convert %[[a2]] : (!fir.box) -> !fir.box res = maxloc(arr, dim=d) - ! CHECK: %{{.*}} = fir.call @_FortranAMaxlocDim(%[[a6]], %[[a7]], %[[a8]], %[[a1]], %{{.*}}, %{{.*}}, %[[a10]], %false) : (!fir.ref>, !fir.box, i32, i32, !fir.ref, i32, !fir.box, i1) -> none + ! CHECK: %{{.*}} = fir.call @_FortranAMaxlocDim(%[[a6]], %[[a7]], %[[a8]], %[[a1]], %{{.*}}, %{{.*}}, %[[a10]], %false) {{.*}} : (!fir.ref>, !fir.box, i32, i32, !fir.ref, i32, !fir.box, i1) -> none ! CHECK: %[[a12:.*]] = fir.load %0 : !fir.ref>> ! CHECK: %[[a13:.*]] = fir.box_addr %[[a12]] : (!fir.box>) -> !fir.heap ! CHECK: fir.freemem %[[a13]] @@ -63,7 +63,7 @@ ! CHECK: } ! CHECK: %[[VAL_29:.*]] = fir.convert %[[VAL_12]] : (!fir.box>) -> !fir.box ! CHECK: %[[VAL_30:.*]] = fir.convert %[[VAL_14]] : (!fir.logical<4>) -> i1 - ! CHECK: fir.call @_FortranAMaxlocInteger4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_29]], %[[VAL_30]]) : (!fir.ref>, !fir.box, i32, !fir.ref, i32, !fir.box, i1) -> none + ! CHECK: fir.call @_FortranAMaxlocInteger4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_29]], %[[VAL_30]]) {{.*}} : (!fir.ref>, !fir.box, i32, !fir.ref, i32, !fir.box, i1) -> none end subroutine ! CHECK-LABEL: func @_QPtest_maxloc_optional_array_mask( @@ -85,5 +85,5 @@ ! CHECK: } ! CHECK: %[[VAL_25:.*]] = fir.convert %[[VAL_0]] : (!fir.box>>) -> !fir.box ! CHECK: %[[VAL_26:.*]] = fir.convert %[[VAL_10]] : (!fir.logical<4>) -> i1 - ! CHECK: fir.call @_FortranAMaxlocInteger4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_25]], %[[VAL_26]]) : (!fir.ref>, !fir.box, i32, !fir.ref, i32, !fir.box, i1) -> none + ! CHECK: fir.call @_FortranAMaxlocInteger4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_25]], %[[VAL_26]]) {{.*}} : (!fir.ref>, !fir.box, i32, !fir.ref, i32, !fir.box, i1) -> none end subroutine Index: flang/test/Lower/Intrinsics/maxval.f90 =================================================================== --- flang/test/Lower/Intrinsics/maxval.f90 +++ flang/test/Lower/Intrinsics/maxval.f90 @@ -10,7 +10,7 @@ ! CHECK: %[[a6:.*]] = fir.convert %[[c0]] : (index) -> i32 ! CHECK: %[[a7:.*]] = fir.convert %[[a2]] : (!fir.box) -> !fir.box maxval_test = maxval(a) -! CHECK: %{{.*}} = fir.call @_FortranAMaxvalInteger4(%[[a4]], %{{.*}}, %{{.*}}, %[[a6]], %[[a7]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 +! CHECK: %{{.*}} = fir.call @_FortranAMaxvalInteger4(%[[a4]], %{{.*}}, %{{.*}}, %[[a6]], %[[a7]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 end function ! CHECK-LABEL: func @_QPmaxval_test2( @@ -23,7 +23,7 @@ ! CHECK: %[[a6:.*]] = fir.convert %[[arg2]] : (!fir.box>>) -> !fir.box ! CHECK-DAG: %[[a8:.*]] = fir.convert %[[a1]] : (!fir.box) -> !fir.box maxval_test2 = maxval(a) -! CHECK: %{{.*}} = fir.call @_FortranAMaxvalCharacter(%[[a5]], %[[a6]], %{{.*}}, %{{.*}}, %[[a8]]) : (!fir.ref>, !fir.box, !fir.ref, i32, !fir.box) -> none +! CHECK: %{{.*}} = fir.call @_FortranAMaxvalCharacter(%[[a5]], %[[a6]], %{{.*}}, %{{.*}}, %[[a8]]) {{.*}} : (!fir.ref>, !fir.box, !fir.ref, i32, !fir.box) -> none end function ! CHECK-LABEL: func @_QPmaxval_test3( @@ -38,7 +38,7 @@ ! CHECK: %[[a7:.*]] = fir.convert %[[arg0]] : (!fir.box>) -> !fir.box ! CHECK-DAG: %[[a9:.*]] = fir.convert %[[a1]] : (!fir.box) -> !fir.box r = maxval(a,dim=2) -! CHECK: %{{.*}} = fir.call @_FortranAMaxvalDim(%[[a6]], %[[a7]], %[[c2_i32]], %{{.*}}, %{{.*}}, %[[a9]]) : (!fir.ref>, !fir.box, i32, !fir.ref, i32, !fir.box) -> none +! CHECK: %{{.*}} = fir.call @_FortranAMaxvalDim(%[[a6]], %[[a7]], %[[c2_i32]], %{{.*}}, %{{.*}}, %[[a9]]) {{.*}} : (!fir.ref>, !fir.box, i32, !fir.ref, i32, !fir.box) -> none ! CHECK: %[[a11:.*]] = fir.load %[[a0]] : !fir.ref>>> ! CHECK-DAG: %[[a13:.*]] = fir.box_addr %[[a11]] : (!fir.box>>) -> !fir.heap> ! CHECK-DAG: fir.freemem %[[a13]] @@ -55,7 +55,7 @@ ! CHECK: %[[VAL_9:.*]] = fir.absent !fir.box> ! CHECK: %[[VAL_10:.*]] = arith.select %[[VAL_7]], %[[VAL_8]], %[[VAL_9]] : !fir.box> ! CHECK: %[[VAL_17:.*]] = fir.convert %[[VAL_10]] : (!fir.box>) -> !fir.box -! CHECK: fir.call @_FortranAMaxvalInteger4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_17]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 +! CHECK: fir.call @_FortranAMaxvalInteger4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_17]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 end subroutine ! CHECK-LABEL: func @_QPtest_maxval_optional_array_mask( @@ -65,5 +65,5 @@ logical, optional :: mask(:) print *, maxval(array, mask) ! CHECK: %[[VAL_13:.*]] = fir.convert %[[VAL_0]] : (!fir.box>>) -> !fir.box -! CHECK: fir.call @_FortranAMaxvalInteger4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_13]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 +! CHECK: fir.call @_FortranAMaxvalInteger4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_13]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 end subroutine Index: flang/test/Lower/Intrinsics/merge.f90 =================================================================== --- flang/test/Lower/Intrinsics/merge.f90 +++ flang/test/Lower/Intrinsics/merge.f90 @@ -56,7 +56,7 @@ ! CHECK: %[[VAL_7:.*]] = fir.convert %[[VAL_4]] : (i1) -> !fir.logical<4> ! CHECK: %[[VAL_8:.*]] = arith.select %[[VAL_6]], %[[VAL_3]], %[[VAL_7]] : !fir.logical<4> ! CHECK: fir.store %[[VAL_8]] to %[[VAL_2]] : !fir.ref> -! CHECK: fir.call @_QPbar(%[[VAL_2]]) : (!fir.ref>) -> () +! CHECK: fir.call @_QPbar(%[[VAL_2]]) {{.*}} : (!fir.ref>) -> () end subroutine ! CHECK-LABEL: func @_QPmerge_cst_and_dyn_char( @@ -76,5 +76,5 @@ ! CHECK: %[[VAL_13:.*]] = arith.select %[[VAL_11]], %[[VAL_2]], %[[VAL_12]] : !fir.ref> ! CHECK: %[[VAL_14:.*]] = fir.convert %[[VAL_13]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_15:.*]] = fir.convert %[[VAL_3]] : (index) -> i64 -! CHECK: fir.call @_FortranAioOutputAscii(%{{.*}}, %[[VAL_14]], %[[VAL_15]]) : (!fir.ref, !fir.ref, i64) -> i1 +! CHECK: fir.call @_FortranAioOutputAscii(%{{.*}}, %[[VAL_14]], %[[VAL_15]]) {{.*}} : (!fir.ref, !fir.ref, i64) -> i1 end subroutine Index: flang/test/Lower/Intrinsics/minloc.f90 =================================================================== --- flang/test/Lower/Intrinsics/minloc.f90 +++ flang/test/Lower/Intrinsics/minloc.f90 @@ -13,7 +13,7 @@ ! CHECK-DAG: %[[a8:.*]] = fir.convert %[[c4]] : (index) -> i32 ! CHECK-DAG: %[[a10:.*]] = fir.convert %[[a1]] : (!fir.box) -> !fir.box res = minloc(arr) - ! CHECK: %{{.*}} = fir.call @_FortranAMinlocInteger4(%[[a6]], %[[a7]], %[[a8]], %{{.*}}, %{{.*}}, %[[a10]], %false) : (!fir.ref>, !fir.box, i32, !fir.ref, i32, !fir.box, i1) -> none + ! CHECK: %{{.*}} = fir.call @_FortranAMinlocInteger4(%[[a6]], %[[a7]], %[[a8]], %{{.*}}, %{{.*}}, %[[a10]], %false) {{.*}} : (!fir.ref>, !fir.box, i32, !fir.ref, i32, !fir.box, i1) -> none ! CHECK-DAG: %[[a12:.*]] = fir.load %[[a0]] : !fir.ref>>> ! CHECK-DAG: %[[a14:.*]] = fir.box_addr %[[a12]] : (!fir.box>>) -> !fir.heap> ! CHECK-DAG: fir.freemem %[[a14]] @@ -34,7 +34,7 @@ ! CHECK-DAG: %[[a8:.*]] = fir.convert %[[c4]] : (index) -> i32 ! CHECK-DAG: %[[a10:.*]] = fir.convert %[[a2]] : (!fir.box) -> !fir.box res = minloc(arr, dim=d) - ! CHECK: %{{.*}} = fir.call @_FortranAMinlocDim(%[[a6]], %[[a7]], %[[a8]], %[[a1]], %{{.*}}, %{{.*}}, %[[a10]], %false) : (!fir.ref>, !fir.box, i32, i32, !fir.ref, i32, !fir.box, i1) -> none + ! CHECK: %{{.*}} = fir.call @_FortranAMinlocDim(%[[a6]], %[[a7]], %[[a8]], %[[a1]], %{{.*}}, %{{.*}}, %[[a10]], %false) {{.*}} : (!fir.ref>, !fir.box, i32, i32, !fir.ref, i32, !fir.box, i1) -> none ! CHECK: %[[a12:.*]] = fir.load %0 : !fir.ref>> ! CHECK: %[[a13:.*]] = fir.box_addr %[[a12]] : (!fir.box>) -> !fir.heap ! CHECK: fir.freemem %[[a13]] @@ -63,7 +63,7 @@ ! CHECK: } ! CHECK: %[[VAL_29:.*]] = fir.convert %[[VAL_12]] : (!fir.box>) -> !fir.box ! CHECK: %[[VAL_30:.*]] = fir.convert %[[VAL_14]] : (!fir.logical<4>) -> i1 - ! CHECK: fir.call @_FortranAMinlocInteger4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_29]], %[[VAL_30]]) : (!fir.ref>, !fir.box, i32, !fir.ref, i32, !fir.box, i1) -> none + ! CHECK: fir.call @_FortranAMinlocInteger4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_29]], %[[VAL_30]]) {{.*}} : (!fir.ref>, !fir.box, i32, !fir.ref, i32, !fir.box, i1) -> none end subroutine ! CHECK-LABEL: func @_QPtest_minloc_optional_array_mask( @@ -85,5 +85,5 @@ ! CHECK: } ! CHECK: %[[VAL_25:.*]] = fir.convert %[[VAL_0]] : (!fir.box>>) -> !fir.box ! CHECK: %[[VAL_26:.*]] = fir.convert %[[VAL_10]] : (!fir.logical<4>) -> i1 - ! CHECK: fir.call @_FortranAMinlocInteger4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_25]], %[[VAL_26]]) : (!fir.ref>, !fir.box, i32, !fir.ref, i32, !fir.box, i1) -> none + ! CHECK: fir.call @_FortranAMinlocInteger4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_25]], %[[VAL_26]]) {{.*}} : (!fir.ref>, !fir.box, i32, !fir.ref, i32, !fir.box, i1) -> none end subroutine Index: flang/test/Lower/Intrinsics/minval.f90 =================================================================== --- flang/test/Lower/Intrinsics/minval.f90 +++ flang/test/Lower/Intrinsics/minval.f90 @@ -10,7 +10,7 @@ ! CHECK: %[[a6:.*]] = fir.convert %[[c0]] : (index) -> i32 ! CHECK: %[[a7:.*]] = fir.convert %[[a2]] : (!fir.box) -> !fir.box minval_test = minval(a) -! CHECK: %{{.*}} = fir.call @_FortranAMinvalInteger4(%[[a4]], %{{.*}}, %{{.*}}, %[[a6]], %[[a7]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 +! CHECK: %{{.*}} = fir.call @_FortranAMinvalInteger4(%[[a4]], %{{.*}}, %{{.*}}, %[[a6]], %[[a7]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 end function ! CHECK-LABEL: func @_QPminval_test2( @@ -23,7 +23,7 @@ ! CHECK: %[[a6:.*]] = fir.convert %[[arg2]] : (!fir.box>>) -> !fir.box ! CHECK-DAG: %[[a8:.*]] = fir.convert %[[a1]] : (!fir.box) -> !fir.box minval_test2 = minval(a) -! CHECK: %{{.*}} = fir.call @_FortranAMinvalCharacter(%[[a5]], %[[a6]], %{{.*}}, %{{.*}}, %[[a8]]) : (!fir.ref>, !fir.box, !fir.ref, i32, !fir.box) -> none +! CHECK: %{{.*}} = fir.call @_FortranAMinvalCharacter(%[[a5]], %[[a6]], %{{.*}}, %{{.*}}, %[[a8]]) {{.*}} : (!fir.ref>, !fir.box, !fir.ref, i32, !fir.box) -> none end function ! CHECK-LABEL: func @_QPminval_test3( @@ -38,7 +38,7 @@ ! CHECK: %[[a7:.*]] = fir.convert %[[arg0]] : (!fir.box>) -> !fir.box ! CHECK-DAG: %[[a9:.*]] = fir.convert %[[a1]] : (!fir.box) -> !fir.box r = minval(a,dim=2) -! CHECK: %{{.*}} = fir.call @_FortranAMinvalDim(%[[a6]], %[[a7]], %[[c2_i32]], %{{.*}}, %{{.*}}, %[[a9]]) : (!fir.ref>, !fir.box, i32, !fir.ref, i32, !fir.box) -> none +! CHECK: %{{.*}} = fir.call @_FortranAMinvalDim(%[[a6]], %[[a7]], %[[c2_i32]], %{{.*}}, %{{.*}}, %[[a9]]) {{.*}} : (!fir.ref>, !fir.box, i32, !fir.ref, i32, !fir.box) -> none ! CHECK: %[[a11:.*]] = fir.load %[[a0]] : !fir.ref>>> ! CHECK-DAG: %[[a13:.*]] = fir.box_addr %[[a11]] : (!fir.box>>) -> !fir.heap> ! CHECK-DAG: fir.freemem %[[a13]] @@ -55,7 +55,7 @@ ! CHECK: %[[VAL_9:.*]] = fir.absent !fir.box> ! CHECK: %[[VAL_10:.*]] = arith.select %[[VAL_7]], %[[VAL_8]], %[[VAL_9]] : !fir.box> ! CHECK: %[[VAL_17:.*]] = fir.convert %[[VAL_10]] : (!fir.box>) -> !fir.box -! CHECK: fir.call @_FortranAMinvalInteger4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_17]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 +! CHECK: fir.call @_FortranAMinvalInteger4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_17]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 end subroutine ! CHECK-LABEL: func @_QPtest_minval_optional_array_mask( @@ -65,5 +65,5 @@ logical, optional :: mask(:) print *, minval(array, mask) ! CHECK: %[[VAL_13:.*]] = fir.convert %[[VAL_0]] : (!fir.box>>) -> !fir.box -! CHECK: fir.call @_FortranAMinvalInteger4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_13]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 +! CHECK: fir.call @_FortranAMinvalInteger4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_13]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 end subroutine Index: flang/test/Lower/Intrinsics/mod.f90 =================================================================== --- flang/test/Lower/Intrinsics/mod.f90 +++ flang/test/Lower/Intrinsics/mod.f90 @@ -10,7 +10,7 @@ ! CHECK: %[[FILE:.*]] = fir.address_of(@{{.*}}) : !fir.ref> ! CHECK: %[[LINE:.*]] = arith.constant {{[0-9]*}} : i32 ! CHECK: %[[FILEARG:.*]] = fir.convert %[[FILE]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @_FortranAModReal4(%[[V1]], %[[V2]], %[[FILEARG]], %[[LINE]]) : (f32, f32, !fir.ref, i32) -> f32 +! CHECK: fir.call @_FortranAModReal4(%[[V1]], %[[V2]], %[[FILEARG]], %[[LINE]]) {{.*}} : (f32, f32, !fir.ref, i32) -> f32 r = mod(a, p) end subroutine @@ -23,7 +23,7 @@ ! CHECK: %[[FILE:.*]] = fir.address_of(@{{.*}}) : !fir.ref> ! CHECK: %[[LINE:.*]] = arith.constant {{[0-9]*}} : i32 ! CHECK: %[[FILEARG:.*]] = fir.convert %[[FILE]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @_FortranAModReal8(%[[V1]], %[[V2]], %[[FILEARG]], %[[LINE]]) : (f64, f64, !fir.ref, i32) -> f64 +! CHECK: fir.call @_FortranAModReal8(%[[V1]], %[[V2]], %[[FILEARG]], %[[LINE]]) {{.*}} : (f64, f64, !fir.ref, i32) -> f64 r = mod(a, p) end subroutine @@ -36,7 +36,7 @@ ! CHECK: %[[FILE:.*]] = fir.address_of(@{{.*}}) : !fir.ref> ! CHECK: %[[LINE:.*]] = arith.constant {{[0-9]*}} : i32 ! CHECK: %[[FILEARG:.*]] = fir.convert %[[FILE]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @_FortranAModReal10(%[[V1]], %[[V2]], %[[FILEARG]], %[[LINE]]) : (f80, f80, !fir.ref, i32) -> f80 +! CHECK: fir.call @_FortranAModReal10(%[[V1]], %[[V2]], %[[FILEARG]], %[[LINE]]) {{.*}} : (f80, f80, !fir.ref, i32) -> f80 r = mod(a, p) end subroutine @@ -49,6 +49,6 @@ ! CHECK: %[[FILE:.*]] = fir.address_of(@{{.*}}) : !fir.ref> ! CHECK: %[[LINE:.*]] = arith.constant {{[0-9]*}} : i32 ! CHECK: %[[FILEARG:.*]] = fir.convert %[[FILE]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @_FortranAModReal16(%[[V1]], %[[V2]], %[[FILEARG]], %[[LINE]]) : (f128, f128, !fir.ref, i32) -> f128 +! CHECK: fir.call @_FortranAModReal16(%[[V1]], %[[V2]], %[[FILEARG]], %[[LINE]]) {{.*}} : (f128, f128, !fir.ref, i32) -> f128 r = mod(a, p) end subroutine Index: flang/test/Lower/Intrinsics/modulo.f90 =================================================================== --- flang/test/Lower/Intrinsics/modulo.f90 +++ flang/test/Lower/Intrinsics/modulo.f90 @@ -6,14 +6,14 @@ real(8) :: r, a, p ! CHECK-DAG: %[[a:.*]] = fir.load %[[arg1]] : !fir.ref ! CHECK-DAG: %[[p:.*]] = fir.load %[[arg2]] : !fir.ref - ! CHECK-DAG: %[[rem:.*]] = arith.remf %[[a]], %[[p]] : f64 + ! CHECK-DAG: %[[rem:.*]] = arith.remf %[[a]], %[[p]] {{.*}} : f64 ! CHECK-DAG: %[[zero:.*]] = arith.constant 0.000000e+00 : f64 ! CHECK-DAG: %[[remNotZero:.*]] = arith.cmpf une, %[[rem]], %[[zero]] : f64 ! CHECK-DAG: %[[aNeg:.*]] = arith.cmpf olt, %[[a]], %[[zero]] : f64 ! CHECK-DAG: %[[pNeg:.*]] = arith.cmpf olt, %[[p]], %[[zero]] : f64 ! CHECK-DAG: %[[signDifferent:.*]] = arith.xori %[[aNeg]], %[[pNeg]] : i1 ! CHECK-DAG: %[[mustAddP:.*]] = arith.andi %[[remNotZero]], %[[signDifferent]] : i1 - ! CHECK-DAG: %[[remPlusP:.*]] = arith.addf %[[rem]], %[[p]] : f64 + ! CHECK-DAG: %[[remPlusP:.*]] = arith.addf %[[rem]], %[[p]] {{.*}} : f64 ! CHECK: %[[res:.*]] = arith.select %[[mustAddP]], %[[remPlusP]], %[[rem]] : f64 ! CHECK: fir.store %[[res]] to %[[arg0]] : !fir.ref r = modulo(a, p) @@ -35,4 +35,4 @@ ! CHECK: fir.store %[[res]] to %[[arg0]] : !fir.ref r = modulo(a, p) end subroutine - \ No newline at end of file + Index: flang/test/Lower/Intrinsics/nearest.f90 =================================================================== --- flang/test/Lower/Intrinsics/nearest.f90 +++ flang/test/Lower/Intrinsics/nearest.f90 @@ -10,7 +10,7 @@ ! CHECK: %[[cmp:.*]] = arith.cmpf ogt, %[[s]], %[[zero]] : f32 ! CHECK: %[[pos:.*]] = arith.select %[[cmp]], %true, %false : i1 res = nearest(x, s) - ! CHECK: %[[tmp:.*]] = fir.call @_FortranANearest4(%[[x]], %[[pos]]) : (f32, i1) -> f32 + ! CHECK: %[[tmp:.*]] = fir.call @_FortranANearest4(%[[x]], %[[pos]]) {{.*}} : (f32, i1) -> f32 ! CHECK: fir.store %[[tmp]] to %[[res]] : !fir.ref end subroutine nearest_test1 @@ -24,7 +24,7 @@ ! CHECK: %[[cmp:.*]] = arith.cmpf ogt, %[[s]], %[[zero]] : f64 ! CHECK: %[[pos:.*]] = arith.select %[[cmp]], %true, %false : i1 res = nearest(x, s) - ! CHECK: %[[tmp:.*]] = fir.call @_FortranANearest8(%[[x]], %[[pos]]) : (f64, i1) -> f64 + ! CHECK: %[[tmp:.*]] = fir.call @_FortranANearest8(%[[x]], %[[pos]]) {{.*}} : (f64, i1) -> f64 ! CHECK: fir.store %[[tmp]] to %[[res]] : !fir.ref end subroutine nearest_test2 @@ -38,7 +38,7 @@ ! CHECK: %[[cmp:.*]] = arith.cmpf ogt, %[[s]], %[[zero]] : f80 ! CHECK: %[[pos:.*]] = arith.select %[[cmp]], %true, %false : i1 res = nearest(x, s) - ! CHECK: %[[tmp:.*]] = fir.call @_FortranANearest10(%[[x]], %[[pos]]) : (f80, i1) -> f80 + ! CHECK: %[[tmp:.*]] = fir.call @_FortranANearest10(%[[x]], %[[pos]]) {{.*}} : (f80, i1) -> f80 ! CHECK: fir.store %[[tmp]] to %[[res]] : !fir.ref end subroutine nearest_test3 @@ -52,7 +52,7 @@ ! CHECK: %[[cmp:.*]] = arith.cmpf ogt, %[[s]], %[[zero]] : f128 ! CHECK: %[[pos:.*]] = arith.select %[[cmp]], %true, %false : i1 res = nearest(x, s) - ! CHECK: %[[tmp:.*]] = fir.call @_FortranANearest16(%[[x]], %[[pos]]) : (f128, i1) -> f128 + ! CHECK: %[[tmp:.*]] = fir.call @_FortranANearest16(%[[x]], %[[pos]]) {{.*}} : (f128, i1) -> f128 ! CHECK: fir.store %[[tmp]] to %[[res]] : !fir.ref end subroutine nearest_test4 @@ -67,6 +67,6 @@ ! CHECK: %[[cmp:.*]] = arith.cmpf ogt, %[[s]], %[[zero]] : f32 ! CHECK: %[[pos:.*]] = arith.select %[[cmp]], %true, %false : i1 res = nearest(x, s) - ! CHECK: %[[tmp:.*]] = fir.call @_FortranANearest16(%[[x]], %[[pos]]) : (f128, i1) -> f128 + ! CHECK: %[[tmp:.*]] = fir.call @_FortranANearest16(%[[x]], %[[pos]]) {{.*}} : (f128, i1) -> f128 ! CHECK: fir.store %[[tmp]] to %[[res]] : !fir.ref end subroutine nearest_test5 Index: flang/test/Lower/Intrinsics/pack.f90 =================================================================== --- flang/test/Lower/Intrinsics/pack.f90 +++ flang/test/Lower/Intrinsics/pack.f90 @@ -16,7 +16,7 @@ ! CHECK: %[[a7:.*]] = fir.convert %[[arg1]] : (!fir.box>>) -> !fir.box ! CHECK: %[[a8:.*]] = fir.convert %[[arg2]] : (!fir.box>) -> !fir.box r = pack(a,m,v) - ! CHECK: %{{.*}} = fir.call @_FortranAPack(%[[a5]], %[[a6]], %[[a7]], %[[a8]], %{{.*}}, %{{.*}}) : (!fir.ref>, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> none + ! CHECK: %{{.*}} = fir.call @_FortranAPack(%[[a5]], %[[a6]], %[[a7]], %[[a8]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> none ! CHECK: %[[a11:.*]] = fir.load %[[a0]] : !fir.ref>>> ! CHECK: %[[a13:.*]] = fir.box_addr %[[a11]] : (!fir.box>>) -> !fir.heap> ! CHECK: fir.freemem %[[a13]] @@ -38,5 +38,5 @@ ! CHECK: %[[VAL_15:.*]] = fir.absent !fir.box>> ! CHECK: %[[VAL_16:.*]] = arith.select %[[VAL_13]], %[[VAL_14]], %[[VAL_15]] : !fir.box>> ! CHECK: %[[VAL_26:.*]] = fir.convert %[[VAL_16]] : (!fir.box>>) -> !fir.box - ! CHECK: fir.call @_FortranAPack(%{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_26]], %{{.*}}, %{{.*}}) : (!fir.ref>, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> none + ! CHECK: fir.call @_FortranAPack(%{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_26]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> none end subroutine Index: flang/test/Lower/Intrinsics/parity.f90 =================================================================== --- flang/test/Lower/Intrinsics/parity.f90 +++ flang/test/Lower/Intrinsics/parity.f90 @@ -9,7 +9,7 @@ ! CHECK: %[[a1:.*]] = fir.convert %[[arg0]] : (!fir.box>>) -> !fir.box ! CHECK: %[[a2:.*]] = fir.convert %[[c1]] : (index) -> i32 parity_test = parity(mask) - ! CHECK: %[[a3:.*]] = fir.call @_FortranAParity(%[[a1]], %{{.*}}, %{{.*}}, %[[a2]]) : (!fir.box, !fir.ref, i32, i32) -> i1 + ! CHECK: %[[a3:.*]] = fir.call @_FortranAParity(%[[a1]], %{{.*}}, %{{.*}}, %[[a2]]) {{.*}} : (!fir.box, !fir.ref, i32, i32) -> i1 end function parity_test ! CHECK-LABEL: parity_test2 @@ -25,7 +25,7 @@ ! CHECK-DAG: %[[a6:.*]] = fir.convert %[[a0:.*]] : (!fir.ref>>>>) -> !fir.ref> ! CHECK-DAG: %[[a7:.*]] = fir.convert %[[arg0:.*]]: (!fir.box>>) -> !fir.box rslt = parity(mask, d) - ! CHECK: %[[r1:.*]] = fir.call @_FortranAParityDim(%[[a6:.*]], %[[a7:.*]], %[[a1:.*]], %{{.*}}, %{{.*}}) : (!fir.ref>, !fir.box, i32, !fir.ref, i32) -> none + ! CHECK: %[[r1:.*]] = fir.call @_FortranAParityDim(%[[a6:.*]], %[[a7:.*]], %[[a1:.*]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, !fir.box, i32, !fir.ref, i32) -> none ! CHECK-DAG: %[[a10:.*]] = fir.load %[[a0:.*]] : !fir.ref>>>> ! CHECK-DAG: %[[a12:.*]] = fir.box_addr %[[a10:.*]] : (!fir.box>>>) -> !fir.heap>> ! CHECK-DAG fir.freemem %[[a12:.*]] Index: flang/test/Lower/Intrinsics/product.f90 =================================================================== --- flang/test/Lower/Intrinsics/product.f90 +++ flang/test/Lower/Intrinsics/product.f90 @@ -10,7 +10,7 @@ ! CHECK-DAG: %[[a5:.*]] = fir.convert %[[c0]] : (index) -> i32 ! CHECK-DAG: %[[a6:.*]] = fir.convert %[[a1]] : (!fir.box) -> !fir.box product_test = product(a) -! CHECK: %{{.*}} = fir.call @_FortranAProductInteger4(%[[a3]], %{{.*}}, %{{.*}}, %[[a5]], %[[a6]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 +! CHECK: %{{.*}} = fir.call @_FortranAProductInteger4(%[[a3]], %{{.*}}, %{{.*}}, %[[a5]], %[[a6]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 end function ! CHECK-LABEL: func @_QPproduct_test2( @@ -25,7 +25,7 @@ ! CHECK-DAG: %[[a7:.*]] = fir.convert %[[arg0]] : (!fir.box>) -> !fir.box ! CHECK-DAG: %[[a9:.*]] = fir.convert %[[a1]] : (!fir.box) -> !fir.box r = product(a,dim=2) -! CHECK: %{{.*}} = fir.call @_FortranAProductDim(%[[a6]], %[[a7]], %[[c2_i32]], %{{.*}}, %{{.*}}, %[[a9]]) : (!fir.ref>, !fir.box, i32, !fir.ref, i32, !fir.box) -> none +! CHECK: %{{.*}} = fir.call @_FortranAProductDim(%[[a6]], %[[a7]], %[[c2_i32]], %{{.*}}, %{{.*}}, %[[a9]]) {{.*}} : (!fir.ref>, !fir.box, i32, !fir.ref, i32, !fir.box) -> none ! CHECK-DAG: %[[a11:.*]] = fir.load %[[a0]] : !fir.ref>>> ! CHECK-DAG: %[[a13:.*]] = fir.box_addr %[[a11]] : (!fir.box>>) -> !fir.heap> ! CHECK-DAG: fir.freemem %[[a13]] @@ -43,7 +43,7 @@ ! CHECK-DAG: %[[a8:.*]] = fir.convert %[[c0]] : (index) -> i32 ! CHECK-DAG: %[[a9:.*]] = fir.convert %[[a3]] : (!fir.box) -> !fir.box product_test3 = product(a) -! CHECK: %{{.*}} = fir.call @_FortranACppProductComplex4(%[[a5]], %[[a6]], %{{.*}}, %{{.*}}, %[[a8]], %[[a9]]) : (!fir.ref>, !fir.box, !fir.ref, i32, i32, !fir.box) -> none +! CHECK: %{{.*}} = fir.call @_FortranACppProductComplex4(%[[a5]], %[[a6]], %{{.*}}, %{{.*}}, %[[a8]], %[[a9]]) {{.*}} : (!fir.ref>, !fir.box, !fir.ref, i32, i32, !fir.box) -> none end function ! CHECK-LABEL: func @_QPproduct_test4( @@ -58,7 +58,7 @@ ! CHECK-DAG: %[[a5:.*]] = fir.convert %[[arg0]] : (!fir.box>>) -> !fir.box ! CHECK-DAG: %[[a7:.*]] = fir.convert %[[c0]] : (index) -> i32 ! CHECK-DAG: %[[a8:.*]] = fir.convert %[[a2]] : (!fir.box) -> !fir.box -! CHECK: fir.call @_FortranACppProductComplex10(%[[a4]], %[[a5]], %{{.*}}, %{{.*}}, %[[a7]], %8) : (!fir.ref>, !fir.box, !fir.ref, i32, i32, !fir.box) -> () +! CHECK: fir.call @_FortranACppProductComplex10(%[[a4]], %[[a5]], %{{.*}}, %{{.*}}, %[[a7]], %8) {{.*}} : (!fir.ref>, !fir.box, !fir.ref, i32, i32, !fir.box) -> () end ! CHECK-LABEL: func @_QPproduct_test_optional( @@ -68,7 +68,7 @@ logical, optional :: mask(:) product_test_optional = product(x, mask=mask) ! CHECK: %[[VAL_9:.*]] = fir.convert %[[VAL_0]] : (!fir.box>>) -> !fir.box -! CHECK: fir.call @_FortranAProductReal4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_9]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> f32 +! CHECK: fir.call @_FortranAProductReal4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_9]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> f32 end function ! CHECK-LABEL: func @_QPproduct_test_optional_2( @@ -86,7 +86,7 @@ ! CHECK: %[[VAL_10:.*]] = fir.absent !fir.box>>> ! CHECK: %[[VAL_11:.*]] = arith.select %[[VAL_8]], %[[VAL_9]], %[[VAL_10]] : !fir.box>>> ! CHECK: %[[VAL_18:.*]] = fir.convert %[[VAL_11]] : (!fir.box>>>) -> !fir.box -! CHECK: fir.call @_FortranAProductReal4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_18]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> f32 +! CHECK: fir.call @_FortranAProductReal4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_18]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> f32 end function ! CHECK-LABEL: func @_QPproduct_test_optional_3( @@ -102,7 +102,7 @@ ! CHECK: %[[VAL_8:.*]] = fir.absent !fir.box>> ! CHECK: %[[VAL_9:.*]] = arith.select %[[VAL_5]], %[[VAL_7]], %[[VAL_8]] : !fir.box>> ! CHECK: %[[VAL_18:.*]] = fir.convert %[[VAL_9]] : (!fir.box>>) -> !fir.box -! CHECK: fir.call @_FortranAProductReal4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_18]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> f32 +! CHECK: fir.call @_FortranAProductReal4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_18]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> f32 end function ! CHECK-LABEL: func @_QPproduct_test_optional_4( @@ -130,5 +130,5 @@ ! CHECK: %[[VAL_29:.*]] = fir.absent !fir.box>> ! CHECK: %[[VAL_30:.*]] = arith.select %[[VAL_23]], %[[VAL_28]], %[[VAL_29]] : !fir.box>> ! CHECK: %[[VAL_37:.*]] = fir.convert %[[VAL_30]] : (!fir.box>>) -> !fir.box -! CHECK: fir.call @_FortranAProductReal4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_37]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> f32 +! CHECK: fir.call @_FortranAProductReal4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_37]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> f32 end function Index: flang/test/Lower/Intrinsics/random.f90 =================================================================== --- flang/test/Lower/Intrinsics/random.f90 +++ flang/test/Lower/Intrinsics/random.f90 @@ -8,14 +8,14 @@ ! CHECK-DAG: [[rr:%[0-9]+]] = fir.alloca {{.*}}random_test_1Err ! CHECK-DAG: [[aa:%[0-9]+]] = fir.alloca {{.*}}random_test_1Eaa real rr, aa(5) - ! CHECK: fir.call @_FortranARandomInit(%true{{.*}}, %false{{.*}}) : (i1, i1) -> none + ! CHECK: fir.call @_FortranARandomInit(%true{{.*}}, %false{{.*}}) {{.*}} : (i1, i1) -> none call random_init(.true., .false.) ! CHECK: [[box:%[0-9]+]] = fir.embox [[ss]] ! CHECK: [[argbox:%[0-9]+]] = fir.convert [[box]] ! CHECK: fir.call @_FortranARandomSeedSize([[argbox]] call random_seed(size=ss) print*, 'size: ', ss - ! CHECK: fir.call @_FortranARandomSeedDefaultPut() : () -> none + ! CHECK: fir.call @_FortranARandomSeedDefaultPut() {{.*}} : () -> none call random_seed() ! CHECK: [[box:%[0-9]+]] = fir.embox [[rr]] ! CHECK: [[argbox:%[0-9]+]] = fir.convert [[box]] Index: flang/test/Lower/Intrinsics/repeat.f90 =================================================================== --- flang/test/Lower/Intrinsics/repeat.f90 +++ flang/test/Lower/Intrinsics/repeat.f90 @@ -13,7 +13,7 @@ ! CHECK-DAG: %[[cBox:.*]] = fir.embox %[[c]]#0 typeparams %[[c]]#1 : (!fir.ref>, index) -> !fir.box> ! CHECK-DAG: %[[cBoxNone:.*]] = fir.convert %[[cBox]] : (!fir.box>) -> !fir.box ! CHECK-DAG: %[[resBox:.*]] = fir.convert %[[tmpBox]] : (!fir.ref>>>) -> !fir.ref> - ! CHECK: fir.call @{{.*}}Repeat(%[[resBox]], %[[cBoxNone]], %[[n]], {{.*}}, {{.*}}) : (!fir.ref>, !fir.box, i64, !fir.ref, i32) -> none + ! CHECK: fir.call @{{.*}}Repeat(%[[resBox]], %[[cBoxNone]], %[[n]], {{.*}}, {{.*}}) {{.*}} : (!fir.ref>, !fir.box, i64, !fir.ref, i32) -> none ! CHECK-DAG: %[[tmpAddr:.*]] = fir.box_addr ! CHECK-DAG: fir.box_elesize ! CHECK: fir.call @{{.*}}bar_repeat_test Index: flang/test/Lower/Intrinsics/reshape.f90 =================================================================== --- flang/test/Lower/Intrinsics/reshape.f90 +++ flang/test/Lower/Intrinsics/reshape.f90 @@ -19,7 +19,7 @@ ! CHECK-DAG: %[[a11:.*]] = fir.convert %[[arg2]] : (!fir.box>) -> !fir.box ! CHECK-DAG: %[[a12:.*]] = fir.convert %[[a3]] : (!fir.box>) -> !fir.box x = reshape(source, sh, pd, ord) - ! CHECK: %{{.*}} = fir.call @_FortranAReshape(%[[a8]], %[[a9]], %[[a10]], %[[a11]], %[[a12]], %{{.*}}, %{{.*}}) : (!fir.ref>, !fir.box, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> none + ! CHECK: %{{.*}} = fir.call @_FortranAReshape(%[[a8]], %[[a9]], %[[a10]], %[[a11]], %[[a12]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, !fir.box, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> none ! CHECK-DAG: %[[a15:.*]] = fir.load %[[a0]] : !fir.ref>>> ! CHECK-DAG: %[[a18:.*]] = fir.box_addr %[[a15]] : (!fir.box>>) -> !fir.heap> ! CHECK-DAG: fir.freemem %[[a18]] @@ -52,7 +52,7 @@ ! CHECK: %[[VAL_28:.*]] = arith.select %[[VAL_25]], %[[VAL_26]], %[[VAL_27]] : !fir.box>> ! CHECK: %[[VAL_38:.*]] = fir.convert %[[VAL_20]] : (!fir.box>>) -> !fir.box ! CHECK: %[[VAL_39:.*]] = fir.convert %[[VAL_28]] : (!fir.box>>) -> !fir.box - ! CHECK: %[[VAL_41:.*]] = fir.call @_FortranAReshape({{.*}}, {{.*}}, %{{.*}}, %[[VAL_38]], %[[VAL_39]], %{{.*}}, %{{.*}}) : (!fir.ref>, !fir.box, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> none + ! CHECK: %[[VAL_41:.*]] = fir.call @_FortranAReshape({{.*}}, {{.*}}, %{{.*}}, %[[VAL_38]], %[[VAL_39]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, !fir.box, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> none end subroutine ! CHECK-LABEL: func.func @_QPtest_reshape_shape_slice() { @@ -73,7 +73,7 @@ ! CHECK: %[[VAL_15:.*]] = fir.embox %[[VAL_1]](%[[VAL_13]]) [%[[VAL_14]]] : (!fir.ref>, !fir.shape<1>, !fir.slice<1>) -> !fir.box> ! CHECK: %[[VAL_25:.*]] = fir.convert %[[VAL_6]] : (!fir.box>) -> !fir.box ! CHECK: %[[VAL_26:.*]] = fir.convert %[[VAL_15]] : (!fir.box>) -> !fir.box -! CHECK: %[[VAL_30:.*]] = fir.call @_FortranAReshape(%{{.*}}, %[[VAL_25]], %[[VAL_26]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref>, !fir.box, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> none +! CHECK: %[[VAL_30:.*]] = fir.call @_FortranAReshape(%{{.*}}, %[[VAL_25]], %[[VAL_26]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, !fir.box, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> none subroutine test_reshape_shape_slice() integer, parameter :: i = 1 real :: tmp(4) = [1,2,3,4] Index: flang/test/Lower/Intrinsics/rrspacing.f90 =================================================================== --- flang/test/Lower/Intrinsics/rrspacing.f90 +++ flang/test/Lower/Intrinsics/rrspacing.f90 @@ -7,5 +7,5 @@ real*16 :: x rrspacing_test2 = rrspacing(x) ! CHECK: %[[a1:.*]] = fir.load %[[x]] : !fir.ref -! CHECK: %{{.*}} = fir.call @_FortranARRSpacing16(%[[a1]]) : (f128) -> f128 +! CHECK: %{{.*}} = fir.call @_FortranARRSpacing16(%[[a1]]) {{.*}} : (f128) -> f128 end function Index: flang/test/Lower/Intrinsics/scale.f90 =================================================================== --- flang/test/Lower/Intrinsics/scale.f90 +++ flang/test/Lower/Intrinsics/scale.f90 @@ -9,7 +9,7 @@ ! CHECK: %[[i0:.*]] = fir.load %arg1 : !fir.ref res = scale(x, i) ! CHECK: %[[i1:.*]] = fir.convert %[[i0]] : (i32) -> i64 - ! CHECK: %[[tmp:.*]] = fir.call @_FortranAScale4(%[[x]], %[[i1]]) : (f32, i64) -> f32 + ! CHECK: %[[tmp:.*]] = fir.call @_FortranAScale4(%[[x]], %[[i1]]) {{.*}} : (f32, i64) -> f32 ! CHECK: fir.store %[[tmp]] to %[[res]] : !fir.ref end subroutine scale_test1 @@ -22,7 +22,7 @@ ! CHECK: %[[i0:.*]] = fir.load %arg1 : !fir.ref res = scale(x, i) ! CHECK: %[[i1:.*]] = fir.convert %[[i0]] : (i32) -> i64 - ! CHECK: %[[tmp:.*]] = fir.call @_FortranAScale8(%[[x]], %[[i1]]) : (f64, i64) -> f64 + ! CHECK: %[[tmp:.*]] = fir.call @_FortranAScale8(%[[x]], %[[i1]]) {{.*}} : (f64, i64) -> f64 ! CHECK: fir.store %[[tmp]] to %[[res]] : !fir.ref end subroutine scale_test2 @@ -35,7 +35,7 @@ ! CHECK: %[[i0:.*]] = fir.load %arg1 : !fir.ref res = scale(x, i) ! CHECK: %[[i1:.*]] = fir.convert %[[i0]] : (i32) -> i64 - ! CHECK: %[[tmp:.*]] = fir.call @_FortranAScale10(%[[x]], %[[i1]]) : (f80, i64) -> f80 + ! CHECK: %[[tmp:.*]] = fir.call @_FortranAScale10(%[[x]], %[[i1]]) {{.*}} : (f80, i64) -> f80 ! CHECK: fir.store %[[tmp]] to %[[res]] : !fir.ref end subroutine scale_test3 @@ -48,6 +48,6 @@ ! CHECK: %[[i0:.*]] = fir.load %arg1 : !fir.ref res = scale(x, i) ! CHECK: %[[i1:.*]] = fir.convert %[[i0]] : (i32) -> i64 - ! CHECK: %[[tmp:.*]] = fir.call @_FortranAScale16(%[[x]], %[[i1]]) : (f128, i64) -> f128 + ! CHECK: %[[tmp:.*]] = fir.call @_FortranAScale16(%[[x]], %[[i1]]) {{.*}} : (f128, i64) -> f128 ! CHECK: fir.store %[[tmp]] to %[[res]] : !fir.ref end subroutine scale_test4 Index: flang/test/Lower/Intrinsics/scan.f90 =================================================================== --- flang/test/Lower/Intrinsics/scan.f90 +++ flang/test/Lower/Intrinsics/scan.f90 @@ -15,7 +15,7 @@ ! CHECK-DAG: %[[backBox:.*]] = fir.convert %[[backOptBox]] : (!fir.box) -> !fir.box ! CHECK-DAG: %[[kindConstant:.*]] = arith.constant 4 : i32 ! CHECK-DAG: %[[resBox:.*]] = fir.convert %[[tmpBox:.*]] : (!fir.ref>>) -> !fir.ref> -! CHECK: fir.call @{{.*}}Scan(%[[resBox]], %[[cBoxNone]], %[[cBoxNone2]], %[[backBox]], %[[kindConstant]], {{.*}}) : (!fir.ref>, !fir.box, !fir.box, !fir.box, i32, !fir.ref, i32) -> none +! CHECK: fir.call @{{.*}}Scan(%[[resBox]], %[[cBoxNone]], %[[cBoxNone2]], %[[backBox]], %[[kindConstant]], {{.*}}) {{.*}} : (!fir.ref>, !fir.box, !fir.box, !fir.box, i32, !fir.ref, i32) -> none scan_test = scan(s1, s2, kind=4) ! CHECK-DAG: %[[tmpAddr:.*]] = fir.box_addr ! CHECK: fir.freemem %[[tmpAddr]] @@ -32,7 +32,7 @@ ! CHECK: %[[a2:.*]] = fir.convert %[[st]]#1 : (index) -> i64 ! CHECK: %[[a3:.*]] = fir.convert %[[sst]]#0 : (!fir.ref>) -> !fir.ref ! CHECK: %[[a4:.*]] = fir.convert %[[sst]]#1 : (index) -> i64 -! CHECK: = fir.call @_FortranAScan1(%[[a1]], %[[a2]], %[[a3]], %[[a4]], %{{.*}}) : (!fir.ref, i64, !fir.ref, i64, i1) -> i64 +! CHECK: = fir.call @_FortranAScan1(%[[a1]], %[[a2]], %[[a3]], %[[a4]], %{{.*}}) {{.*}} : (!fir.ref, i64, !fir.ref, i64, i1) -> i64 scan_test2 = scan(s1, s2, .true.) end function scan_test2 @@ -61,7 +61,7 @@ ! CHECK: fir.result %[[VAL_34]] : !fir.logical<4> ! CHECK: } ! CHECK: %[[VAL_39:.*]] = fir.convert %[[VAL_31]] : (!fir.logical<4>) -> i1 -! CHECK: fir.call @_FortranAScan1(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_39]]) : (!fir.ref, i64, !fir.ref, i64, i1) -> i64 +! CHECK: fir.call @_FortranAScan1(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_39]]) {{.*}} : (!fir.ref, i64, !fir.ref, i64, i1) -> i64 ! CHECK: } ! CHECK: fir.array_merge_store end subroutine @@ -85,7 +85,7 @@ ! CHECK: } ! CHECK: fir.do_loop %{{.*}} = %{{.*}} to %{{.*}} step %{{.*}} unordered iter_args(%{{.*}} = %{{.*}}) -> (!fir.array) { ! CHECK: %[[VAL_39:.*]] = fir.convert %[[VAL_12]] : (!fir.logical<4>) -> i1 -! CHECK: fir.call @_FortranAScan1(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_39]]) : (!fir.ref, i64, !fir.ref, i64, i1) -> i64 +! CHECK: fir.call @_FortranAScan1(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_39]]) {{.*}} : (!fir.ref, i64, !fir.ref, i64, i1) -> i64 ! CHECK: } ! CHECK: fir.array_merge_store end subroutine Index: flang/test/Lower/Intrinsics/selected_int_kind.f90 =================================================================== --- flang/test/Lower/Intrinsics/selected_int_kind.f90 +++ flang/test/Lower/Intrinsics/selected_int_kind.f90 @@ -6,7 +6,7 @@ ! CHECK: %[[VAL_1:.*]] = fir.alloca i8 {bindc_name = "res", uniq_name = "_QFselected_int_kind_test1Eres"} ! CHECK: %[[VAL_4:.*]] = arith.constant 1 : i32 ! CHECK: %[[VAL_6:.*]] = fir.convert %[[VAL_0]] : (!fir.ref) -> !fir.llvm_ptr -! CHECK: %[[VAL_7:.*]] = fir.call @_FortranASelectedIntKind(%{{.*}}, %{{.*}}, %[[VAL_6]], %[[VAL_4]]) : (!fir.ref, i32, !fir.llvm_ptr, i32) -> i32 +! CHECK: %[[VAL_7:.*]] = fir.call @_FortranASelectedIntKind(%{{.*}}, %{{.*}}, %[[VAL_6]], %[[VAL_4]]) {{.*}} : (!fir.ref, i32, !fir.llvm_ptr, i32) -> i32 ! CHECK: %[[VAL_8:.*]] = fir.convert %[[VAL_7]] : (i32) -> i8 ! CHECK: fir.store %[[VAL_8]] to %[[VAL_1]] : !fir.ref ! CHECK: return @@ -22,7 +22,7 @@ ! CHECK: %[[VAL_1:.*]] = fir.alloca i16 {bindc_name = "res", uniq_name = "_QFselected_int_kind_test2Eres"} ! CHECK: %[[VAL_4:.*]] = arith.constant 2 : i32 ! CHECK: %[[VAL_6:.*]] = fir.convert %[[VAL_0]] : (!fir.ref) -> !fir.llvm_ptr -! CHECK: %[[VAL_7:.*]] = fir.call @_FortranASelectedIntKind(%{{.*}}, %{{.*}}, %[[VAL_6]], %[[VAL_4]]) : (!fir.ref, i32, !fir.llvm_ptr, i32) -> i32 +! CHECK: %[[VAL_7:.*]] = fir.call @_FortranASelectedIntKind(%{{.*}}, %{{.*}}, %[[VAL_6]], %[[VAL_4]]) {{.*}} : (!fir.ref, i32, !fir.llvm_ptr, i32) -> i32 ! CHECK: %[[VAL_8:.*]] = fir.convert %[[VAL_7]] : (i32) -> i16 ! CHECK: fir.store %[[VAL_8]] to %[[VAL_1]] : !fir.ref ! CHECK: return @@ -38,7 +38,7 @@ ! CHECK: %[[VAL_1:.*]] = fir.alloca i32 {bindc_name = "res", uniq_name = "_QFselected_int_kind_test4Eres"} ! CHECK: %[[VAL_4:.*]] = arith.constant 4 : i32 ! CHECK: %[[VAL_6:.*]] = fir.convert %[[VAL_0]] : (!fir.ref) -> !fir.llvm_ptr -! CHECK: %[[VAL_7:.*]] = fir.call @_FortranASelectedIntKind(%{{.*}}, %{{.*}}, %[[VAL_6]], %[[VAL_4]]) : (!fir.ref, i32, !fir.llvm_ptr, i32) -> i32 +! CHECK: %[[VAL_7:.*]] = fir.call @_FortranASelectedIntKind(%{{.*}}, %{{.*}}, %[[VAL_6]], %[[VAL_4]]) {{.*}} : (!fir.ref, i32, !fir.llvm_ptr, i32) -> i32 ! CHECK: fir.store %[[VAL_7]] to %[[VAL_1]] : !fir.ref ! CHECK: return ! CHECK: } @@ -53,7 +53,7 @@ ! CHECK: %[[VAL_1:.*]] = fir.alloca i64 {bindc_name = "res", uniq_name = "_QFselected_int_kind_test8Eres"} ! CHECK: %[[VAL_4:.*]] = arith.constant 8 : i32 ! CHECK: %[[VAL_6:.*]] = fir.convert %[[VAL_0]] : (!fir.ref) -> !fir.llvm_ptr -! CHECK: %[[VAL_7:.*]] = fir.call @_FortranASelectedIntKind(%{{.*}}, %{{.*}}, %[[VAL_6]], %[[VAL_4]]) : (!fir.ref, i32, !fir.llvm_ptr, i32) -> i32 +! CHECK: %[[VAL_7:.*]] = fir.call @_FortranASelectedIntKind(%{{.*}}, %{{.*}}, %[[VAL_6]], %[[VAL_4]]) {{.*}} : (!fir.ref, i32, !fir.llvm_ptr, i32) -> i32 ! CHECK: %[[VAL_8:.*]] = fir.convert %[[VAL_7]] : (i32) -> i64 ! CHECK: fir.store %[[VAL_8]] to %[[VAL_1]] : !fir.ref ! CHECK: return @@ -69,7 +69,7 @@ ! CHECK: %[[VAL_1:.*]] = fir.alloca i128 {bindc_name = "res", uniq_name = "_QFselected_int_kind_test16Eres"} ! CHECK: %[[VAL_4:.*]] = arith.constant 16 : i32 ! CHECK: %[[VAL_6:.*]] = fir.convert %[[VAL_0]] : (!fir.ref) -> !fir.llvm_ptr -! CHECK: %[[VAL_7:.*]] = fir.call @_FortranASelectedIntKind(%{{.*}}, %{{.*}}, %[[VAL_6]], %[[VAL_4]]) : (!fir.ref, i32, !fir.llvm_ptr, i32) -> i32 +! CHECK: %[[VAL_7:.*]] = fir.call @_FortranASelectedIntKind(%{{.*}}, %{{.*}}, %[[VAL_6]], %[[VAL_4]]) {{.*}} : (!fir.ref, i32, !fir.llvm_ptr, i32) -> i32 ! CHECK: %[[VAL_8:.*]] = fir.convert %[[VAL_7]] : (i32) -> i128 ! CHECK: fir.store %[[VAL_8]] to %[[VAL_1]] : !fir.ref ! CHECK: return Index: flang/test/Lower/Intrinsics/selected_real_kind.f90 =================================================================== --- flang/test/Lower/Intrinsics/selected_real_kind.f90 +++ flang/test/Lower/Intrinsics/selected_real_kind.f90 @@ -12,7 +12,7 @@ ! CHECK: %[[VAL_10:.*]] = fir.convert %[[VAL_0]] : (!fir.ref) -> !fir.llvm_ptr ! CHECK: %[[VAL_11:.*]] = fir.convert %[[VAL_1]] : (!fir.ref) -> !fir.llvm_ptr ! CHECK: %[[VAL_12:.*]] = fir.convert %[[VAL_2]] : (!fir.ref) -> !fir.llvm_ptr -! CHECK: %[[VAL_13:.*]] = fir.call @_FortranASelectedRealKind(%{{.*}}, %{{.*}}, %[[VAL_10]], %[[VAL_6]], %[[VAL_11]], %[[VAL_7]], %[[VAL_12]], %[[VAL_8]]) : (!fir.ref, i32, !fir.llvm_ptr, i32, !fir.llvm_ptr, i32, !fir.llvm_ptr, i32) -> i32 +! CHECK: %[[VAL_13:.*]] = fir.call @_FortranASelectedRealKind(%{{.*}}, %{{.*}}, %[[VAL_10]], %[[VAL_6]], %[[VAL_11]], %[[VAL_7]], %[[VAL_12]], %[[VAL_8]]) {{.*}} : (!fir.ref, i32, !fir.llvm_ptr, i32, !fir.llvm_ptr, i32, !fir.llvm_ptr, i32) -> i32 ! CHECK: %[[VAL_14:.*]] = fir.convert %[[VAL_13]] : (i32) -> i8 ! CHECK: fir.store %[[VAL_14]] to %[[VAL_3]] : !fir.ref ! CHECK: return @@ -34,7 +34,7 @@ ! CHECK: %[[VAL_10:.*]] = fir.convert %[[VAL_0]] : (!fir.ref) -> !fir.llvm_ptr ! CHECK: %[[VAL_11:.*]] = fir.convert %[[VAL_1]] : (!fir.ref) -> !fir.llvm_ptr ! CHECK: %[[VAL_12:.*]] = fir.convert %[[VAL_2]] : (!fir.ref) -> !fir.llvm_ptr -! CHECK: %[[VAL_13:.*]] = fir.call @_FortranASelectedRealKind(%{{.*}}, %{{.*}}, %[[VAL_10]], %[[VAL_6]], %[[VAL_11]], %[[VAL_7]], %[[VAL_12]], %[[VAL_8]]) : (!fir.ref, i32, !fir.llvm_ptr, i32, !fir.llvm_ptr, i32, !fir.llvm_ptr, i32) -> i32 +! CHECK: %[[VAL_13:.*]] = fir.call @_FortranASelectedRealKind(%{{.*}}, %{{.*}}, %[[VAL_10]], %[[VAL_6]], %[[VAL_11]], %[[VAL_7]], %[[VAL_12]], %[[VAL_8]]) {{.*}} : (!fir.ref, i32, !fir.llvm_ptr, i32, !fir.llvm_ptr, i32, !fir.llvm_ptr, i32) -> i32 ! CHECK: %[[VAL_14:.*]] = fir.convert %[[VAL_13]] : (i32) -> i16 ! CHECK: fir.store %[[VAL_14]] to %[[VAL_3]] : !fir.ref ! CHECK: return @@ -56,7 +56,7 @@ ! CHECK: %[[VAL_10:.*]] = fir.convert %[[VAL_0]] : (!fir.ref) -> !fir.llvm_ptr ! CHECK: %[[VAL_11:.*]] = fir.convert %[[VAL_1]] : (!fir.ref) -> !fir.llvm_ptr ! CHECK: %[[VAL_12:.*]] = fir.convert %[[VAL_2]] : (!fir.ref) -> !fir.llvm_ptr -! CHECK: %[[VAL_13:.*]] = fir.call @_FortranASelectedRealKind(%{{.*}}, %{{.*}}, %[[VAL_10]], %[[VAL_6]], %[[VAL_11]], %[[VAL_7]], %[[VAL_12]], %[[VAL_8]]) : (!fir.ref, i32, !fir.llvm_ptr, i32, !fir.llvm_ptr, i32, !fir.llvm_ptr, i32) -> i32 +! CHECK: %[[VAL_13:.*]] = fir.call @_FortranASelectedRealKind(%{{.*}}, %{{.*}}, %[[VAL_10]], %[[VAL_6]], %[[VAL_11]], %[[VAL_7]], %[[VAL_12]], %[[VAL_8]]) {{.*}} : (!fir.ref, i32, !fir.llvm_ptr, i32, !fir.llvm_ptr, i32, !fir.llvm_ptr, i32) -> i32 ! CHECK: fir.store %[[VAL_13]] to %[[VAL_3]] : !fir.ref ! CHECK: return ! CHECK: } @@ -77,7 +77,7 @@ ! CHECK: %[[VAL_10:.*]] = fir.convert %[[VAL_0]] : (!fir.ref) -> !fir.llvm_ptr ! CHECK: %[[VAL_11:.*]] = fir.convert %[[VAL_1]] : (!fir.ref) -> !fir.llvm_ptr ! CHECK: %[[VAL_12:.*]] = fir.convert %[[VAL_2]] : (!fir.ref) -> !fir.llvm_ptr -! CHECK: %[[VAL_13:.*]] = fir.call @_FortranASelectedRealKind(%{{.*}}, %{{.*}}, %[[VAL_10]], %[[VAL_6]], %[[VAL_11]], %[[VAL_7]], %[[VAL_12]], %[[VAL_8]]) : (!fir.ref, i32, !fir.llvm_ptr, i32, !fir.llvm_ptr, i32, !fir.llvm_ptr, i32) -> i32 +! CHECK: %[[VAL_13:.*]] = fir.call @_FortranASelectedRealKind(%{{.*}}, %{{.*}}, %[[VAL_10]], %[[VAL_6]], %[[VAL_11]], %[[VAL_7]], %[[VAL_12]], %[[VAL_8]]) {{.*}} : (!fir.ref, i32, !fir.llvm_ptr, i32, !fir.llvm_ptr, i32, !fir.llvm_ptr, i32) -> i32 ! CHECK: %[[VAL_14:.*]] = fir.convert %[[VAL_13]] : (i32) -> i64 ! CHECK: fir.store %[[VAL_14]] to %[[VAL_3]] : !fir.ref ! CHECK: return @@ -99,7 +99,7 @@ ! CHECK: %[[VAL_10:.*]] = fir.convert %[[VAL_0]] : (!fir.ref) -> !fir.llvm_ptr ! CHECK: %[[VAL_11:.*]] = fir.convert %[[VAL_1]] : (!fir.ref) -> !fir.llvm_ptr ! CHECK: %[[VAL_12:.*]] = fir.convert %[[VAL_2]] : (!fir.ref) -> !fir.llvm_ptr -! CHECK: %[[VAL_13:.*]] = fir.call @_FortranASelectedRealKind(%{{.*}}, %{{.*}}, %[[VAL_10]], %[[VAL_6]], %[[VAL_11]], %[[VAL_7]], %[[VAL_12]], %[[VAL_8]]) : (!fir.ref, i32, !fir.llvm_ptr, i32, !fir.llvm_ptr, i32, !fir.llvm_ptr, i32) -> i32 +! CHECK: %[[VAL_13:.*]] = fir.call @_FortranASelectedRealKind(%{{.*}}, %{{.*}}, %[[VAL_10]], %[[VAL_6]], %[[VAL_11]], %[[VAL_7]], %[[VAL_12]], %[[VAL_8]]) {{.*}} : (!fir.ref, i32, !fir.llvm_ptr, i32, !fir.llvm_ptr, i32, !fir.llvm_ptr, i32) -> i32 ! CHECK: %[[VAL_14:.*]] = fir.convert %[[VAL_13]] : (i32) -> i128 ! CHECK: fir.store %[[VAL_14]] to %[[VAL_3]] : !fir.ref ! CHECK: return @@ -121,7 +121,7 @@ ! CHECK: %[[VAL_10:.*]] = fir.convert %[[VAL_3]] : (!fir.ref) -> !fir.llvm_ptr ! CHECK: %[[VAL_11:.*]] = fir.convert %[[VAL_0]] : (!fir.ref) -> !fir.llvm_ptr ! CHECK: %[[VAL_12:.*]] = fir.convert %[[VAL_1]] : (!fir.ref) -> !fir.llvm_ptr -! CHECK: %[[VAL_13:.*]] = fir.call @_FortranASelectedRealKind(%{{.*}}, %{{.*}}, %[[VAL_10]], %[[VAL_6]], %[[VAL_11]], %[[VAL_7]], %[[VAL_12]], %[[VAL_8]]) : (!fir.ref, i32, !fir.llvm_ptr, i32, !fir.llvm_ptr, i32, !fir.llvm_ptr, i32) -> i32 +! CHECK: %[[VAL_13:.*]] = fir.call @_FortranASelectedRealKind(%{{.*}}, %{{.*}}, %[[VAL_10]], %[[VAL_6]], %[[VAL_11]], %[[VAL_7]], %[[VAL_12]], %[[VAL_8]]) {{.*}} : (!fir.ref, i32, !fir.llvm_ptr, i32, !fir.llvm_ptr, i32, !fir.llvm_ptr, i32) -> i32 ! CHECK: fir.store %[[VAL_13]] to %[[VAL_2]] : !fir.ref ! CHECK: return ! CHECK: } @@ -142,7 +142,7 @@ ! CHECK: %[[VAL_10:.*]] = fir.convert %[[VAL_0]] : (!fir.ref) -> !fir.llvm_ptr ! CHECK: %[[VAL_11:.*]] = fir.convert %[[VAL_3]] : (!fir.ref) -> !fir.llvm_ptr ! CHECK: %[[VAL_12:.*]] = fir.convert %[[VAL_1]] : (!fir.ref) -> !fir.llvm_ptr -! CHECK: %[[VAL_13:.*]] = fir.call @_FortranASelectedRealKind(%{{.*}}, %{{.*}}, %[[VAL_10]], %[[VAL_6]], %[[VAL_11]], %[[VAL_7]], %[[VAL_12]], %[[VAL_8]]) : (!fir.ref, i32, !fir.llvm_ptr, i32, !fir.llvm_ptr, i32, !fir.llvm_ptr, i32) -> i32 +! CHECK: %[[VAL_13:.*]] = fir.call @_FortranASelectedRealKind(%{{.*}}, %{{.*}}, %[[VAL_10]], %[[VAL_6]], %[[VAL_11]], %[[VAL_7]], %[[VAL_12]], %[[VAL_8]]) {{.*}} : (!fir.ref, i32, !fir.llvm_ptr, i32, !fir.llvm_ptr, i32, !fir.llvm_ptr, i32) -> i32 ! CHECK: fir.store %[[VAL_13]] to %[[VAL_2]] : !fir.ref ! CHECK: return ! CHECK: } @@ -163,7 +163,7 @@ ! CHECK: %[[VAL_10:.*]] = fir.convert %[[VAL_0]] : (!fir.ref) -> !fir.llvm_ptr ! CHECK: %[[VAL_11:.*]] = fir.convert %[[VAL_1]] : (!fir.ref) -> !fir.llvm_ptr ! CHECK: %[[VAL_12:.*]] = fir.convert %[[VAL_3]] : (!fir.ref) -> !fir.llvm_ptr -! CHECK: %[[VAL_13:.*]] = fir.call @_FortranASelectedRealKind(%{{.*}}, %{{.*}}, %[[VAL_10]], %[[VAL_6]], %[[VAL_11]], %[[VAL_7]], %[[VAL_12]], %[[VAL_8]]) : (!fir.ref, i32, !fir.llvm_ptr, i32, !fir.llvm_ptr, i32, !fir.llvm_ptr, i32) -> i32 +! CHECK: %[[VAL_13:.*]] = fir.call @_FortranASelectedRealKind(%{{.*}}, %{{.*}}, %[[VAL_10]], %[[VAL_6]], %[[VAL_11]], %[[VAL_7]], %[[VAL_12]], %[[VAL_8]]) {{.*}} : (!fir.ref, i32, !fir.llvm_ptr, i32, !fir.llvm_ptr, i32, !fir.llvm_ptr, i32) -> i32 ! CHECK: fir.store %[[VAL_13]] to %[[VAL_2]] : !fir.ref ! CHECK: return ! CHECK: } Index: flang/test/Lower/Intrinsics/set_exponent.f90 =================================================================== --- flang/test/Lower/Intrinsics/set_exponent.f90 +++ flang/test/Lower/Intrinsics/set_exponent.f90 @@ -20,28 +20,28 @@ ! CHECK: %[[x1:.*]] = fir.load %[[addrx1:.*]] : !fir.ref ! CHECK: %[[i1:.*]] = fir.load %[[addri:.*]] : !fir.ref ! CHECK: %[[i64v1:.*]] = fir.convert %[[i1:.*]] : (i32) -> i64 -! CHECK: %[[result1:.*]] = fir.call @_FortranASetExponent4(%[[x1:.*]], %[[i64v1:.*]]) : (f32, i64) -> f32 +! CHECK: %[[result1:.*]] = fir.call @_FortranASetExponent4(%[[x1:.*]], %[[i64v1:.*]]) {{.*}} : (f32, i64) -> f32 ! CHECK: fir.store %[[result1:.*]] to %[[addrx1:.*]] : !fir.ref x2 = set_exponent(x2, i) ! CHECK: %[[x2:.*]] = fir.load %[[addrx2:.*]] : !fir.ref ! CHECK: %[[i2:.*]] = fir.load %[[addri:.*]] : !fir.ref ! CHECK: %[[i64v2:.*]] = fir.convert %[[i2:.*]] : (i32) -> i64 -! CHECK: %[[result2:.*]] = fir.call @_FortranASetExponent8(%[[x2:.*]], %[[i64v2:.*]]) : (f64, i64) -> f64 +! CHECK: %[[result2:.*]] = fir.call @_FortranASetExponent8(%[[x2:.*]], %[[i64v2:.*]]) {{.*}} : (f64, i64) -> f64 ! CHECK: fir.store %[[result2:.*]] to %[[addrx2:.*]] : !fir.ref x3 = set_exponent(x3, i) ! CHECK: %[[x3:.*]] = fir.load %[[addrx3:.*]] : !fir.ref ! CHECK: %[[i3:.*]] = fir.load %[[addri:.*]] : !fir.ref ! CHECK: %[[i64v3:.*]] = fir.convert %[[i3:.*]] : (i32) -> i64 -! CHECK: %[[result3:.*]] = fir.call @_FortranASetExponent10(%[[x3:.*]], %[[i64v3:.*]]) : (f80, i64) -> f80 +! CHECK: %[[result3:.*]] = fir.call @_FortranASetExponent10(%[[x3:.*]], %[[i64v3:.*]]) {{.*}} : (f80, i64) -> f80 ! CHECK: fir.store %[[result3:.*]] to %[[addrx3:.*]] : !fir.ref x4 = set_exponent(x4, i) ! CHECK: %[[x4:.*]] = fir.load %[[addrx4:.*]] : !fir.ref ! CHECK: %[[i4:.*]] = fir.load %[[addri:.*]] : !fir.ref ! CHECK: %[[i64v4:.*]] = fir.convert %18 : (i32) -> i64 -! CHECK: %[[result4:.*]] = fir.call @_FortranASetExponent16(%[[x4:.*]], %[[i64v4:.*]]) : (f128, i64) -> f128 +! CHECK: %[[result4:.*]] = fir.call @_FortranASetExponent16(%[[x4:.*]], %[[i64v4:.*]]) {{.*}} : (f128, i64) -> f128 ! CHECK: fir.store %[[result4:.*]] to %[[addrx4:.*]] : !fir.ref end subroutine set_exponent_test Index: flang/test/Lower/Intrinsics/size.f90 =================================================================== --- flang/test/Lower/Intrinsics/size.f90 +++ flang/test/Lower/Intrinsics/size.f90 @@ -33,12 +33,12 @@ ! CHECK: %[[VAL_13:.*]] = arith.cmpi eq, %[[VAL_12]], %[[c0_i64]] : i64 ! CHECK: %[[VAL_14:.*]] = fir.if %[[VAL_13]] -> (i64) { ! CHECK: %[[VAL_17:.*]] = fir.convert %[[VAL_11]] : (!fir.box>) -> !fir.box -! CHECK: %[[VAL_19:.*]] = fir.call @_FortranASize(%[[VAL_17]], %{{.*}}, %{{.*}}) : (!fir.box, !fir.ref, i32) -> i64 +! CHECK: %[[VAL_19:.*]] = fir.call @_FortranASize(%[[VAL_17]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.box, !fir.ref, i32) -> i64 ! CHECK: fir.result %[[VAL_19]] : i64 ! CHECK: } else { ! CHECK: %[[VAL_16:.*]] = fir.load %[[VAL_1]] : !fir.ref ! CHECK: %[[VAL_18:.*]] = fir.convert %[[VAL_11]] : (!fir.box>) -> !fir.box -! CHECK: %[[VAL_20:.*]] = fir.call @_FortranASizeDim(%[[VAL_18]], %[[VAL_16]], %{{.*}}, %{{.*}}) : (!fir.box, i32, !fir.ref, i32) -> i64 +! CHECK: %[[VAL_20:.*]] = fir.call @_FortranASizeDim(%[[VAL_18]], %[[VAL_16]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.box, i32, !fir.ref, i32) -> i64 ! CHECK: fir.result %[[VAL_20]] : i64 ! CHECK: } ! CHECK: %[[VAL_21:.*]] = fir.convert %[[VAL_14]] : (i64) -> i32 @@ -60,12 +60,12 @@ ! CHECK: %[[VAL_5:.*]] = arith.cmpi eq, %[[VAL_3]], %[[VAL_4]] : i64 ! CHECK: %[[VAL_6:.*]] = fir.if %[[VAL_5]] -> (i64) { ! CHECK: %[[VAL_9:.*]] = fir.convert %[[VAL_0]] : (!fir.box>) -> !fir.box -! CHECK: %[[VAL_11:.*]] = fir.call @_FortranASize(%[[VAL_9]], %{{.*}}, %{{.*}}) : (!fir.box, !fir.ref, i32) -> i64 +! CHECK: %[[VAL_11:.*]] = fir.call @_FortranASize(%[[VAL_9]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.box, !fir.ref, i32) -> i64 ! CHECK: fir.result %[[VAL_11]] : i64 ! CHECK: } else { ! CHECK: %[[VAL_12:.*]] = fir.load %[[VAL_1]] : !fir.ref ! CHECK: %[[VAL_15:.*]] = fir.convert %[[VAL_0]] : (!fir.box>) -> !fir.box -! CHECK: %[[VAL_17:.*]] = fir.call @_FortranASizeDim(%[[VAL_15]], %[[VAL_12]], %{{.*}}, %{{.*}}) : (!fir.box, i32, !fir.ref, i32) -> i64 +! CHECK: %[[VAL_17:.*]] = fir.call @_FortranASizeDim(%[[VAL_15]], %[[VAL_12]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.box, i32, !fir.ref, i32) -> i64 ! CHECK: fir.result %[[VAL_17]] : i64 ! CHECK: } ! CHECK: fir.store %[[VAL_6]] to %[[VAL_2]] : !fir.ref @@ -87,12 +87,12 @@ ! CHECK: %[[VAL_7:.*]] = arith.cmpi eq, %[[VAL_5]], %[[VAL_6]] : i64 ! CHECK: %[[VAL_8:.*]] = fir.if %[[VAL_7]] -> (i64) { ! CHECK: %[[VAL_11:.*]] = fir.convert %[[VAL_0]] : (!fir.box>) -> !fir.box -! CHECK: %[[VAL_13:.*]] = fir.call @_FortranASize(%[[VAL_11]], %{{.*}}, %{{.*}}) : (!fir.box, !fir.ref, i32) -> i64 +! CHECK: %[[VAL_13:.*]] = fir.call @_FortranASize(%[[VAL_11]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.box, !fir.ref, i32) -> i64 ! CHECK: fir.result %[[VAL_13]] : i64 ! CHECK: } else { ! CHECK: %[[VAL_14:.*]] = fir.load %[[VAL_4]] : !fir.ptr ! CHECK: %[[VAL_17:.*]] = fir.convert %[[VAL_0]] : (!fir.box>) -> !fir.box -! CHECK: %[[VAL_19:.*]] = fir.call @_FortranASizeDim(%[[VAL_17]], %[[VAL_14]], %{{.*}}, %{{.*}}) : (!fir.box, i32, !fir.ref, i32) -> i64 +! CHECK: %[[VAL_19:.*]] = fir.call @_FortranASizeDim(%[[VAL_17]], %[[VAL_14]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.box, i32, !fir.ref, i32) -> i64 ! CHECK: fir.result %[[VAL_19]] : i64 ! CHECK: } ! CHECK: fir.store %[[VAL_8]] to %[[VAL_2]] : !fir.ref Index: flang/test/Lower/Intrinsics/spacing.f90 =================================================================== --- flang/test/Lower/Intrinsics/spacing.f90 +++ flang/test/Lower/Intrinsics/spacing.f90 @@ -7,7 +7,7 @@ real*4 :: x spacing_test = spacing(x) ! CHECK: %[[a1:.*]] = fir.load %[[x]] : !fir.ref -! CHECK: %{{.*}} = fir.call @_FortranASpacing4(%[[a1]]) : (f32) -> f32 +! CHECK: %{{.*}} = fir.call @_FortranASpacing4(%[[a1]]) {{.*}} : (f32) -> f32 end function ! CHECK-LABEL: func @_QPspacing_test2( @@ -16,5 +16,5 @@ real*10 :: x spacing_test2 = spacing(x) ! CHECK: %[[a1:.*]] = fir.load %[[x]] : !fir.ref -! CHECK: %{{.*}} = fir.call @_FortranASpacing10(%[[a1]]) : (f80) -> f80 +! CHECK: %{{.*}} = fir.call @_FortranASpacing10(%[[a1]]) {{.*}} : (f80) -> f80 end function Index: flang/test/Lower/Intrinsics/spread.f90 =================================================================== --- flang/test/Lower/Intrinsics/spread.f90 +++ flang/test/Lower/Intrinsics/spread.f90 @@ -13,7 +13,7 @@ ! CHECK-DAG: %[[a9:.*]] = fir.convert %[[a3]] : (!fir.box) -> !fir.box ! CHECK-DAG: %[[a10:.*]] = fir.convert %[[a2]] : (i32) -> i64 r = spread(s,d,n) - ! CHECK: %{{.*}} = fir.call @_FortranASpread(%[[a8]], %[[a9]], %[[a1]], %[[a10]], %{{.*}}, %{{.*}}) : (!fir.ref>, !fir.box, i32, i64, !fir.ref, i32) -> none + ! CHECK: %{{.*}} = fir.call @_FortranASpread(%[[a8]], %[[a9]], %[[a1]], %[[a10]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, !fir.box, i32, i64, !fir.ref, i32) -> none ! CHECK-DAG: %[[a13:.*]] = fir.load %[[a0]] : !fir.ref>>> ! CHECK-DAG: %[[a15:.*]] = fir.box_addr %[[a13]] : (!fir.box>>) -> !fir.heap> ! CHECK: fir.freemem %[[a15]] @@ -31,9 +31,9 @@ ! CHECK-DAG: %[[a8:.*]] = fir.convert %[[arg0]] : (!fir.box>) -> !fir.box ! CHECK-DAG: %[[a9:.*]] = fir.convert %[[a2]] : (i32) -> i64 r = spread(s,d,n) - ! CHECK: %{{.*}} = fir.call @_FortranASpread(%[[a7]], %[[a8]], %[[a1]], %[[a9]], %{{.*}}, %{{.*}}) : (!fir.ref>, !fir.box, i32, i64, !fir.ref, i32) -> none + ! CHECK: %{{.*}} = fir.call @_FortranASpread(%[[a7]], %[[a8]], %[[a1]], %[[a9]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, !fir.box, i32, i64, !fir.ref, i32) -> none ! CHECK-DAG: %[[a12:.*]] = fir.load %[[a0]] : !fir.ref>>> ! CHECK-DAG: %[[a15:.*]] = fir.box_addr %[[a12]] : (!fir.box>>) -> !fir.heap> ! CHECK: fir.freemem %[[a15:.*]] end subroutine - \ No newline at end of file + Index: flang/test/Lower/Intrinsics/sum.f90 =================================================================== --- flang/test/Lower/Intrinsics/sum.f90 +++ flang/test/Lower/Intrinsics/sum.f90 @@ -10,7 +10,7 @@ ! CHECK-DAG: %[[a5:.*]] = fir.convert %[[c0]] : (index) -> i32 ! CHECK-DAG: %[[a6:.*]] = fir.convert %[[a1]] : (!fir.box) -> !fir.box sum_test = sum(a) -! CHECK: %{{.*}} = fir.call @_FortranASumInteger4(%[[a3]], %{{.*}}, %{{.*}}, %[[a5]], %[[a6]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 +! CHECK: %{{.*}} = fir.call @_FortranASumInteger4(%[[a3]], %{{.*}}, %{{.*}}, %[[a5]], %[[a6]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 end function ! CHECK-LABEL: func @_QPsum_test2( @@ -25,7 +25,7 @@ ! CHECK-DAG: %[[a7:.*]] = fir.convert %[[arg0]] : (!fir.box>) -> !fir.box ! CHECK-DAG: %[[a9:.*]] = fir.convert %[[a1]] : (!fir.box) -> !fir.box r = sum(a,dim=2) -! CHECK: %{{.*}} = fir.call @_FortranASumDim(%[[a6]], %[[a7]], %[[c2_i32]], %{{.*}}, %{{.*}}, %[[a9]]) : (!fir.ref>, !fir.box, i32, !fir.ref, i32, !fir.box) -> none +! CHECK: %{{.*}} = fir.call @_FortranASumDim(%[[a6]], %[[a7]], %[[c2_i32]], %{{.*}}, %{{.*}}, %[[a9]]) {{.*}} : (!fir.ref>, !fir.box, i32, !fir.ref, i32, !fir.box) -> none ! CHECK-DAG: %[[a11:.*]] = fir.load %[[a0]] : !fir.ref>>> ! CHECK-DAG: %[[a13:.*]] = fir.box_addr %[[a11]] : (!fir.box>>) -> !fir.heap> ! CHECK-DAG: fir.freemem %[[a13]] @@ -43,7 +43,7 @@ ! CHECK-DAG: %[[a8:.*]] = fir.convert %[[c0]] : (index) -> i32 ! CHECK-DAG: %[[a9:.*]] = fir.convert %[[a3]] : (!fir.box) -> !fir.box sum_test3 = sum(a) -! CHECK: %{{.*}} = fir.call @_FortranACppSumComplex4(%[[a5]], %[[a6]], %{{.*}}, %{{.*}}, %[[a8]], %[[a9]]) : (!fir.ref>, !fir.box, !fir.ref, i32, i32, !fir.box) -> none +! CHECK: %{{.*}} = fir.call @_FortranACppSumComplex4(%[[a5]], %[[a6]], %{{.*}}, %{{.*}}, %[[a8]], %[[a9]]) {{.*}} : (!fir.ref>, !fir.box, !fir.ref, i32, i32, !fir.box) -> none end function ! CHECK-LABEL: func @_QPsum_test4( @@ -58,7 +58,7 @@ ! CHECK-DAG: %[[a5:.*]] = fir.convert %[[arg0]] : (!fir.box>>) -> !fir.box ! CHECK-DAG: %[[a7:.*]] = fir.convert %[[c0]] : (index) -> i32 ! CHECK-DAG: %[[a8:.*]] = fir.convert %[[a2]] : (!fir.box) -> !fir.box -! CHECK: fir.call @_FortranACppSumComplex10(%[[a4]], %[[a5]], %{{.*}}, %{{.*}}, %[[a7]], %8) : (!fir.ref>, !fir.box, !fir.ref, i32, i32, !fir.box) -> () +! CHECK: fir.call @_FortranACppSumComplex10(%[[a4]], %[[a5]], %{{.*}}, %{{.*}}, %[[a7]], %8) {{.*}} : (!fir.ref>, !fir.box, !fir.ref, i32, i32, !fir.box) -> () end ! CHECK-LABEL: func @_QPsum_test_optional( @@ -68,7 +68,7 @@ logical, optional :: mask(:) sum_test_optional = sum(x, mask=mask) ! CHECK: %[[VAL_9:.*]] = fir.convert %[[VAL_0]] : (!fir.box>>) -> !fir.box -! CHECK: fir.call @_FortranASumInteger4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_9]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 +! CHECK: fir.call @_FortranASumInteger4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_9]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 end function ! CHECK-LABEL: func @_QPsum_test_optional_2( @@ -86,7 +86,7 @@ ! CHECK: %[[VAL_10:.*]] = fir.absent !fir.box>>> ! CHECK: %[[VAL_11:.*]] = arith.select %[[VAL_8]], %[[VAL_9]], %[[VAL_10]] : !fir.box>>> ! CHECK: %[[VAL_18:.*]] = fir.convert %[[VAL_11]] : (!fir.box>>>) -> !fir.box -! CHECK: fir.call @_FortranASumInteger4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_18]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 +! CHECK: fir.call @_FortranASumInteger4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_18]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 end function ! CHECK-LABEL: func @_QPsum_test_optional_3( @@ -102,7 +102,7 @@ ! CHECK: %[[VAL_8:.*]] = fir.absent !fir.box>> ! CHECK: %[[VAL_9:.*]] = arith.select %[[VAL_5]], %[[VAL_7]], %[[VAL_8]] : !fir.box>> ! CHECK: %[[VAL_18:.*]] = fir.convert %[[VAL_9]] : (!fir.box>>) -> !fir.box -! CHECK: fir.call @_FortranASumInteger4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_18]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 +! CHECK: fir.call @_FortranASumInteger4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_18]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 end function ! CHECK-LABEL: func @_QPsum_test_optional_4( @@ -130,5 +130,5 @@ ! CHECK: %[[VAL_29:.*]] = fir.absent !fir.box>> ! CHECK: %[[VAL_30:.*]] = arith.select %[[VAL_23]], %[[VAL_28]], %[[VAL_29]] : !fir.box>> ! CHECK: %[[VAL_37:.*]] = fir.convert %[[VAL_30]] : (!fir.box>>) -> !fir.box -! CHECK: fir.call @_FortranASumInteger4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_37]]) : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 +! CHECK: fir.call @_FortranASumInteger4(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_37]]) {{.*}} : (!fir.box, !fir.ref, i32, i32, !fir.box) -> i32 end function Index: flang/test/Lower/Intrinsics/system_clock.f90 =================================================================== --- flang/test/Lower/Intrinsics/system_clock.f90 +++ flang/test/Lower/Intrinsics/system_clock.f90 @@ -9,21 +9,21 @@ ! CHECK-DAG: %[[m:.*]] = fir.alloca i64 {bindc_name = "m" ! CHECK-DAG: %[[r:.*]] = fir.alloca f32 {bindc_name = "r" ! CHECK: %[[c4:.*]] = arith.constant 4 : i32 - ! CHECK: %[[Count:.*]] = fir.call @_FortranASystemClockCount(%[[c4]]) : (i32) -> i64 + ! CHECK: %[[Count:.*]] = fir.call @_FortranASystemClockCount(%[[c4]]) {{.*}} : (i32) -> i64 ! CHECK: %[[Count1:.*]] = fir.convert %[[Count]] : (i64) -> i32 ! CHECK: fir.store %[[Count1]] to %[[c]] : !fir.ref ! CHECK: %[[c8:.*]] = arith.constant 8 : i32 - ! CHECK: %[[Rate:.*]] = fir.call @_FortranASystemClockCountRate(%[[c8]]) : (i32) -> i64 + ! CHECK: %[[Rate:.*]] = fir.call @_FortranASystemClockCountRate(%[[c8]]) {{.*}} : (i32) -> i64 ! CHECK: %[[Rate1:.*]] = fir.convert %[[Rate]] : (i64) -> f32 ! CHECK: fir.store %[[Rate1]] to %[[r]] : !fir.ref ! CHECK: %[[c8_2:.*]] = arith.constant 8 : i32 - ! CHECK: %[[Max:.*]] = fir.call @_FortranASystemClockCountMax(%[[c8_2]]) : (i32) -> i64 + ! CHECK: %[[Max:.*]] = fir.call @_FortranASystemClockCountMax(%[[c8_2]]) {{.*}} : (i32) -> i64 ! CHECK: fir.store %[[Max]] to %[[m]] : !fir.ref call system_clock(c, r, m) ! print*, c, r, m ! CHECK-NOT: fir.call ! CHECK: %[[c8_3:.*]] = arith.constant 8 : i32 - ! CHECK: %[[Rate:.*]] = fir.call @_FortranASystemClockCountRate(%[[c8_3]]) : (i32) -> i64 + ! CHECK: %[[Rate:.*]] = fir.call @_FortranASystemClockCountRate(%[[c8_3]]) {{.*}} : (i32) -> i64 ! CHECK: fir.store %[[Rate]] to %[[m]] : !fir.ref call system_clock(count_rate=m) ! CHECK-NOT: fir.call @@ -49,56 +49,56 @@ ! CHECK: %[[V_10:[0-9]+]] = fir.load %[[V_1]] : !fir.ref> ! CHECK: %[[V_11:[0-9]+]] = fir.is_present %arg0 : (!fir.ref) -> i1 ! CHECK: fir.if %[[V_11]] { - ! CHECK: %[[V_29:[0-9]+]] = fir.call @_FortranASystemClockCount(%c8{{.*}}_i32) : (i32) -> i64 + ! CHECK: %[[V_29:[0-9]+]] = fir.call @_FortranASystemClockCount(%c8{{.*}}_i32) {{.*}} : (i32) -> i64 ! CHECK: fir.store %[[V_29]] to %arg0 : !fir.ref ! CHECK: } ! CHECK: %[[V_12:[0-9]+]] = fir.convert %[[V_9]] : (!fir.ptr) -> i64 ! CHECK: %[[V_13:[0-9]+]] = arith.cmpi ne, %[[V_12]], %c0{{.*}}_i64 : i64 ! CHECK: fir.if %[[V_13]] { - ! CHECK: %[[V_29]] = fir.call @_FortranASystemClockCountRate(%c8{{.*}}_i32) : (i32) -> i64 + ! CHECK: %[[V_29]] = fir.call @_FortranASystemClockCountRate(%c8{{.*}}_i32) {{.*}} : (i32) -> i64 ! CHECK: fir.store %[[V_29]] to %[[V_9]] : !fir.ptr ! CHECK: } ! CHECK: %[[V_14:[0-9]+]] = fir.convert %[[V_10]] : (!fir.heap) -> i64 ! CHECK: %[[V_15:[0-9]+]] = arith.cmpi ne, %[[V_14]], %c0{{.*}}_i64_0 : i64 ! CHECK: fir.if %[[V_15]] { - ! CHECK: %[[V_29]] = fir.call @_FortranASystemClockCountMax(%c8{{.*}}_i32) : (i32) -> i64 + ! CHECK: %[[V_29]] = fir.call @_FortranASystemClockCountMax(%c8{{.*}}_i32) {{.*}} : (i32) -> i64 ! CHECK: fir.store %[[V_29]] to %[[V_10]] : !fir.heap ! CHECK: } ! CHECK: %[[V_16:[0-9]+]] = fir.is_present %arg0 : (!fir.ref) -> i1 ! CHECK: fir.if %[[V_16]] { ! CHECK: %[[V_31:[0-9]+]] = fir.call @_FortranAioBeginExternalListOutput ! CHECK: %[[V_32:[0-9]+]] = fir.load %arg0 : !fir.ref - ! CHECK: %[[V_33:[0-9]+]] = fir.call @_FortranAioOutputInteger64(%[[V_31]], %[[V_32]]) : (!fir.ref, i64) -> i1 + ! CHECK: %[[V_33:[0-9]+]] = fir.call @_FortranAioOutputInteger64(%[[V_31]], %[[V_32]]) {{.*}} : (!fir.ref, i64) -> i1 ! CHECK: %[[V_34:[0-9]+]] = fir.load %[[V_4]] : !fir.ref> ! CHECK: %[[V_35:[0-9]+]] = fir.load %[[V_34]] : !fir.ptr - ! CHECK: %[[V_36:[0-9]+]] = fir.call @_FortranAioOutputInteger64(%[[V_31]], %[[V_35]]) : (!fir.ref, i64) -> i1 + ! CHECK: %[[V_36:[0-9]+]] = fir.call @_FortranAioOutputInteger64(%[[V_31]], %[[V_35]]) {{.*}} : (!fir.ref, i64) -> i1 ! CHECK: %[[V_37:[0-9]+]] = fir.load %[[V_1]] : !fir.ref> ! CHECK: %[[V_38:[0-9]+]] = fir.load %[[V_37]] : !fir.heap - ! CHECK: %[[V_39:[0-9]+]] = fir.call @_FortranAioOutputInteger64(%[[V_31]], %[[V_38]]) : (!fir.ref, i64) -> i1 - ! CHECK: %[[V_40:[0-9]+]] = fir.call @_FortranAioEndIoStatement(%[[V_31]]) : (!fir.ref) -> i32 + ! CHECK: %[[V_39:[0-9]+]] = fir.call @_FortranAioOutputInteger64(%[[V_31]], %[[V_38]]) {{.*}} : (!fir.ref, i64) -> i1 + ! CHECK: %[[V_40:[0-9]+]] = fir.call @_FortranAioEndIoStatement(%[[V_31]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: } else { ! CHECK: %[[V_29]] = fir.load %[[V_4]] : !fir.ref> ! CHECK: %[[V_30:[0-9]+]] = fir.load %[[V_1]] : !fir.ref> ! CHECK: %[[V_31]] = fir.convert %[[V_29]] : (!fir.ptr) -> i64 ! CHECK: %[[V_32]] = arith.cmpi ne, %[[V_31]], %c0{{.*}}_i64_3 : i64 ! CHECK: fir.if %[[V_32]] { - ! CHECK: %[[V_45:[0-9]+]] = fir.call @_FortranASystemClockCountRate(%c8{{.*}}_i32) : (i32) -> i64 + ! CHECK: %[[V_45:[0-9]+]] = fir.call @_FortranASystemClockCountRate(%c8{{.*}}_i32) {{.*}} : (i32) -> i64 ! CHECK: fir.store %[[V_45]] to %[[V_29]] : !fir.ptr ! CHECK: } ! CHECK: %[[V_33]] = fir.convert %[[V_30]] : (!fir.heap) -> i64 ! CHECK: %[[V_34]] = arith.cmpi ne, %[[V_33]], %c0{{.*}}_i64_4 : i64 ! CHECK: fir.if %[[V_34]] { - ! CHECK: %[[V_45]] = fir.call @_FortranASystemClockCountMax(%c8{{.*}}_i32) : (i32) -> i64 + ! CHECK: %[[V_45]] = fir.call @_FortranASystemClockCountMax(%c8{{.*}}_i32) {{.*}} : (i32) -> i64 ! CHECK: fir.store %[[V_45]] to %[[V_30]] : !fir.heap ! CHECK: } ! CHECK: %[[V_37]] = fir.call @_FortranAioBeginExternalListOutput ! CHECK: %[[V_38]] = fir.load %[[V_4]] : !fir.ref> ! CHECK: %[[V_39]] = fir.load %[[V_38]] : !fir.ptr - ! CHECK: %[[V_40]] = fir.call @_FortranAioOutputInteger64(%[[V_37]], %[[V_39]]) : (!fir.ref, i64) -> i1 + ! CHECK: %[[V_40]] = fir.call @_FortranAioOutputInteger64(%[[V_37]], %[[V_39]]) {{.*}} : (!fir.ref, i64) -> i1 ! CHECK: %[[V_41:[0-9]+]] = fir.load %[[V_1]] : !fir.ref> ! CHECK: %[[V_42:[0-9]+]] = fir.load %[[V_41]] : !fir.heap - ! CHECK: %[[V_43:[0-9]+]] = fir.call @_FortranAioOutputInteger64(%[[V_37]], %[[V_42]]) : (!fir.ref, i64) -> i1 - ! CHECK: %[[V_44:[0-9]+]] = fir.call @_FortranAioEndIoStatement(%[[V_37]]) : (!fir.ref) -> i32 + ! CHECK: %[[V_43:[0-9]+]] = fir.call @_FortranAioOutputInteger64(%[[V_37]], %[[V_42]]) {{.*}} : (!fir.ref, i64) -> i1 + ! CHECK: %[[V_44:[0-9]+]] = fir.call @_FortranAioEndIoStatement(%[[V_37]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: } ! CHECK: %[[V_17:[0-9]+]] = fir.is_present %arg0 : (!fir.ref) -> i1 ! CHECK: fir.if %[[V_17]] { @@ -116,27 +116,27 @@ ! CHECK: %[[V_22:[0-9]+]] = fir.load %[[V_1]] : !fir.ref> ! CHECK: %[[V_23:[0-9]+]] = fir.is_present %arg0 : (!fir.ref) -> i1 ! CHECK: fir.if %[[V_23]] { - ! CHECK: %[[V_29]] = fir.call @_FortranASystemClockCount(%c8{{.*}}_i32) : (i32) -> i64 + ! CHECK: %[[V_29]] = fir.call @_FortranASystemClockCount(%c8{{.*}}_i32) {{.*}} : (i32) -> i64 ! CHECK: fir.store %[[V_29]] to %arg0 : !fir.ref ! CHECK: } ! CHECK: %[[V_24:[0-9]+]] = fir.convert %[[V_21]] : (!fir.ptr) -> i64 ! CHECK: %[[V_25:[0-9]+]] = arith.cmpi ne, %[[V_24]], %c0{{.*}}_i64_1 : i64 ! CHECK: fir.if %[[V_25]] { - ! CHECK: %[[V_29]] = fir.call @_FortranASystemClockCountRate(%c8{{.*}}_i32) : (i32) -> i64 + ! CHECK: %[[V_29]] = fir.call @_FortranASystemClockCountRate(%c8{{.*}}_i32) {{.*}} : (i32) -> i64 ! CHECK: fir.store %[[V_29]] to %[[V_21]] : !fir.ptr ! CHECK: } ! CHECK: %[[V_26:[0-9]+]] = fir.convert %[[V_22]] : (!fir.heap) -> i64 ! CHECK: %[[V_27:[0-9]+]] = arith.cmpi ne, %[[V_26]], %c0{{.*}}_i64_2 : i64 ! CHECK: fir.if %[[V_27]] { - ! CHECK: %[[V_29]] = fir.call @_FortranASystemClockCountMax(%c8{{.*}}_i32) : (i32) -> i64 + ! CHECK: %[[V_29]] = fir.call @_FortranASystemClockCountMax(%c8{{.*}}_i32) {{.*}} : (i32) -> i64 ! CHECK: fir.store %[[V_29]] to %[[V_22]] : !fir.heap ! CHECK: } ! CHECK: %[[V_28:[0-9]+]] = fir.is_present %arg0 : (!fir.ref) -> i1 ! CHECK: fir.if %[[V_28]] { ! CHECK: %[[V_31]] = fir.call @_FortranAioBeginExternalListOutput ! CHECK: %[[V_32]] = fir.load %arg0 : !fir.ref - ! CHECK: %[[V_33]] = fir.call @_FortranAioOutputInteger64(%[[V_31]], %[[V_32]]) : (!fir.ref, i64) -> i1 - ! CHECK: %[[V_34]] = fir.call @_FortranAioEndIoStatement(%[[V_31]]) : (!fir.ref) -> i32 + ! CHECK: %[[V_33]] = fir.call @_FortranAioOutputInteger64(%[[V_31]], %[[V_32]]) {{.*}} : (!fir.ref, i64) -> i1 + ! CHECK: %[[V_34]] = fir.call @_FortranAioEndIoStatement(%[[V_31]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: } else { ! CHECK: } ! CHECK: return Index: flang/test/Lower/Intrinsics/transfer.f90 =================================================================== --- flang/test/Lower/Intrinsics/transfer.f90 +++ flang/test/Lower/Intrinsics/transfer.f90 @@ -15,7 +15,7 @@ ! CHECK: %[[VAL_10:.*]] = fir.convert %[[VAL_3]] : (!fir.box) -> !fir.box ! CHECK: %[[VAL_11:.*]] = fir.convert %[[VAL_4]] : (!fir.box) -> !fir.box ! CHECK: %[[VAL_12:.*]] = fir.convert %[[VAL_7]] : (!fir.ref>) -> !fir.ref - ! CHECK: %[[VAL_13:.*]] = fir.call @_FortranATransfer(%[[VAL_9]], %[[VAL_10]], %[[VAL_11]], %[[VAL_12]], %[[VAL_8]]) : (!fir.ref>, !fir.box, !fir.box, !fir.ref, i32) -> none + ! CHECK: %[[VAL_13:.*]] = fir.call @_FortranATransfer(%[[VAL_9]], %[[VAL_10]], %[[VAL_11]], %[[VAL_12]], %[[VAL_8]]) {{.*}} : (!fir.ref>, !fir.box, !fir.box, !fir.ref, i32) -> none ! CHECK: %[[VAL_14:.*]] = fir.load %[[VAL_2]] : !fir.ref>> ! CHECK: %[[VAL_15:.*]] = fir.box_addr %[[VAL_14]] : (!fir.box>) -> !fir.heap ! CHECK: %[[VAL_16:.*]] = fir.load %[[VAL_15]] : !fir.heap @@ -50,7 +50,7 @@ ! CHECK: %[[VAL_18:.*]] = fir.convert %[[VAL_9]] : (!fir.box>) -> !fir.box ! CHECK: %[[VAL_19:.*]] = fir.convert %[[VAL_14]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_20:.*]] = fir.convert %[[VAL_6]] : (i32) -> i64 - ! CHECK: %[[VAL_21:.*]] = fir.call @_FortranATransferSize(%[[VAL_16]], %[[VAL_17]], %[[VAL_18]], %[[VAL_19]], %[[VAL_15]], %[[VAL_20]]) : (!fir.ref>, !fir.box, !fir.box, !fir.ref, i32, i64) -> none + ! CHECK: %[[VAL_21:.*]] = fir.call @_FortranATransferSize(%[[VAL_16]], %[[VAL_17]], %[[VAL_18]], %[[VAL_19]], %[[VAL_15]], %[[VAL_20]]) {{.*}} : (!fir.ref>, !fir.box, !fir.box, !fir.ref, i32, i64) -> none ! CHECK: %[[VAL_22:.*]] = fir.load %[[VAL_2]] : !fir.ref>>> ! CHECK: %[[VAL_23:.*]] = arith.constant 0 : index ! CHECK: %[[VAL_24:.*]]:3 = fir.box_dims %[[VAL_22]], %[[VAL_23]] : (!fir.box>>, index) -> (index, index, index) @@ -94,7 +94,7 @@ ! CHECK: %[[VAL_12:.*]] = fir.convert %[[VAL_5]] : (!fir.box) -> !fir.box ! CHECK: %[[VAL_13:.*]] = fir.convert %[[VAL_6]] : (!fir.box>) -> !fir.box ! CHECK: %[[VAL_14:.*]] = fir.convert %[[VAL_9]] : (!fir.ref>) -> !fir.ref - ! CHECK: %[[VAL_15:.*]] = fir.call @_FortranATransfer(%[[VAL_11]], %[[VAL_12]], %[[VAL_13]], %[[VAL_14]], %[[VAL_10]]) : (!fir.ref>, !fir.box, !fir.box, !fir.ref, i32) -> none + ! CHECK: %[[VAL_15:.*]] = fir.call @_FortranATransfer(%[[VAL_11]], %[[VAL_12]], %[[VAL_13]], %[[VAL_14]], %[[VAL_10]]) {{.*}} : (!fir.ref>, !fir.box, !fir.box, !fir.ref, i32) -> none ! CHECK: %[[VAL_16:.*]] = fir.load %[[VAL_2]] : !fir.ref>>> ! CHECK: %[[VAL_17:.*]] = fir.box_addr %[[VAL_16]] : (!fir.box>>) -> !fir.heap> ! CHECK: %[[VAL_18:.*]] = fir.embox %[[VAL_3]] : (!fir.ref>) -> !fir.box> @@ -104,7 +104,7 @@ ! CHECK: %[[VAL_21:.*]] = fir.convert %[[VAL_1]] : (!fir.ref>>) -> !fir.ref> ! CHECK: %[[VAL_22:.*]] = fir.convert %[[VAL_16]] : (!fir.box>>) -> !fir.box ! CHECK: %[[VAL_23:.*]] = fir.convert %[[VAL_19]] : (!fir.ref>) -> !fir.ref - ! CHECK: %[[VAL_24:.*]] = fir.call @_FortranAAssign(%[[VAL_21]], %[[VAL_22]], %[[VAL_23]], %[[VAL_20]]) : (!fir.ref>, !fir.box, !fir.ref, i32) -> none + ! CHECK: %[[VAL_24:.*]] = fir.call @_FortranAAssign(%[[VAL_21]], %[[VAL_22]], %[[VAL_23]], %[[VAL_20]]) {{.*}} : (!fir.ref>, !fir.box, !fir.ref, i32) -> none ! CHECK: fir.freemem %[[VAL_17]] ! CHECK: %[[VAL_25:.*]] = fir.field_index x, !fir.type<_QFtrans_test3Tobj{x:i32}> ! CHECK: %[[VAL_26:.*]] = fir.coordinate_of %[[VAL_3]], %[[VAL_25]] : (!fir.ref>, !fir.field) -> !fir.ref Index: flang/test/Lower/Intrinsics/transpose.f90 =================================================================== --- flang/test/Lower/Intrinsics/transpose.f90 +++ flang/test/Lower/Intrinsics/transpose.f90 @@ -15,11 +15,11 @@ ! CHECK: fir.store %[[resultBox]] to %[[resultDescr]] : !fir.ref>>> ! CHECK: %[[resultOpaque:.*]] = fir.convert %[[resultDescr]] : (!fir.ref>>>) -> !fir.ref> ! CHECK: %[[sourceOpaque:.*]] = fir.convert %[[sourceBox]] : (!fir.box>) -> !fir.box -! CHECK: %{{.*}} = fir.call @_FortranATranspose(%[[resultOpaque]], %[[sourceOpaque]], %{{.*}}, %{{.*}}) : (!fir.ref>, !fir.box, !fir.ref, i32) -> none +! CHECK: %{{.*}} = fir.call @_FortranATranspose(%[[resultOpaque]], %[[sourceOpaque]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, !fir.box, !fir.ref, i32) -> none ! CHECK: %[[tmp1:.*]] = fir.load %[[resultDescr]] : !fir.ref>>> ! CHECK: %[[tmp2:.*]] = fir.box_addr %[[tmp1]] : (!fir.box>>) -> !fir.heap> ! CHECK: %[[tmp3:.*]] = fir.convert %[[tmp2]] : (!fir.heap>) -> !fir.ref> -! CHECK: fir.call @_QPbar_transpose_test(%[[tmp3]]) : (!fir.ref>) -> () +! CHECK: fir.call @_QPbar_transpose_test(%[[tmp3]]) {{.*}} : (!fir.ref>) -> () ! CHECK: fir.freemem %[[tmp2]] : !fir.heap end subroutine Index: flang/test/Lower/Intrinsics/transpose_opt.f90 =================================================================== --- flang/test/Lower/Intrinsics/transpose_opt.f90 +++ flang/test/Lower/Intrinsics/transpose_opt.f90 @@ -22,7 +22,7 @@ ! CHECK: } ! CHECK: fir.array_merge_store %[[VAL_9]], %[[VAL_14]] to %[[VAL_7]] : !fir.array<3x2xf32>, !fir.array<3x2xf32>, !fir.heap> ! CHECK: %[[VAL_24:.*]] = fir.convert %[[VAL_7]] : (!fir.heap>) -> !fir.ref> -! CHECK: fir.call @_QPbar_transpose_test(%[[VAL_24]]) : (!fir.ref>) -> () +! CHECK: fir.call @_QPbar_transpose_test(%[[VAL_24]]) {{.*}} : (!fir.ref>) -> () ! CHECK: fir.freemem %[[VAL_7]] : !fir.heap> ! CHECK-NOT: @_FortranATranspose Index: flang/test/Lower/Intrinsics/trim.f90 =================================================================== --- flang/test/Lower/Intrinsics/trim.f90 +++ flang/test/Lower/Intrinsics/trim.f90 @@ -10,7 +10,7 @@ ! CHECK-DAG: %[[cBox:.*]] = fir.embox %[[c]]#0 typeparams %[[c]]#1 : (!fir.ref>, index) -> !fir.box> ! CHECK-DAG: %[[cBoxNone:.*]] = fir.convert %[[cBox]] : (!fir.box>) -> !fir.box ! CHECK-DAG: %[[resBox:.*]] = fir.convert %[[tmpBox]] : (!fir.ref>>>) -> !fir.ref> - ! CHECK: fir.call @{{.*}}Trim(%[[resBox]], %[[cBoxNone]], {{.*}}) : (!fir.ref>, !fir.box, !fir.ref, i32) -> none + ! CHECK: fir.call @{{.*}}Trim(%[[resBox]], %[[cBoxNone]], {{.*}}) {{.*}} : (!fir.ref>, !fir.box, !fir.ref, i32) -> none ! CHECK-DAG: %[[tmpAddr:.*]] = fir.box_addr ! CHECK-DAG: fir.box_elesize ! CHECK: fir.call @{{.*}}bar_trim_test Index: flang/test/Lower/Intrinsics/ubound.f90 =================================================================== --- flang/test/Lower/Intrinsics/ubound.f90 +++ flang/test/Lower/Intrinsics/ubound.f90 @@ -10,12 +10,12 @@ ! CHECK: %[[VAL_2:.*]] = fir.convert ! CHECK: %[[VAL_3:.*]] = fir.convert %[[VAL_0]] : (i64) -> i32 ! CHECK: %[[VAL_4:.*]] = fir.convert %[[VAL_1]] -! CHECK: %[[VAL_5:.*]] = fir.call @_FortranASizeDim(%[[VAL_2]], %[[VAL_3]], %[[VAL_4]], %{{.*}}) : (!fir.box, i32, !fir.ref, i32) -> i64 +! CHECK: %[[VAL_5:.*]] = fir.call @_FortranASizeDim(%[[VAL_2]], %[[VAL_3]], %[[VAL_4]], %{{.*}}) {{.*}} : (!fir.box, i32, !fir.ref, i32) -> i64 ! CHECK: %[[VAL_6:.*]] = fir.address_of( ! CHECK: %[[VAL_7:.*]] = fir.convert %{{.*}} : (!fir.box>) -> !fir.box ! CHECK: %[[VAL_8:.*]] = fir.convert %[[VAL_0]] : (i64) -> i32 ! CHECK: %[[VAL_9:.*]] = fir.convert %[[VAL_6]] -! CHECK: %[[VAL_10:.*]] = fir.call @_FortranALboundDim(%[[VAL_7]], %[[VAL_8]], %[[VAL_9]], %{{.*}}) : (!fir.box, i32, !fir.ref, i32) -> i64 +! CHECK: %[[VAL_10:.*]] = fir.call @_FortranALboundDim(%[[VAL_7]], %[[VAL_8]], %[[VAL_9]], %{{.*}}) {{.*}} : (!fir.box, i32, !fir.ref, i32) -> i64 ! CHECK: %[[VAL_11:.*]] = arith.subi %[[VAL_10]], %c1_i64 : i64 ! CHECK: %[[VAL_12:.*]] = arith.addi %[[VAL_11]], %[[VAL_5]] : i64 @@ -32,12 +32,12 @@ ! CHECK: %[[VAL_2:.*]] = fir.convert %{{.*}} : (!fir.box>) -> !fir.box ! CHECK: %[[VAL_3:.*]] = fir.convert %[[VAL_0]] : (i64) -> i32 ! CHECK: %[[VAL_4:.*]] = fir.convert %[[VAL_1]] -! CHECK: %[[VAL_5:.*]] = fir.call @_FortranASizeDim(%[[VAL_2]], %[[VAL_3]], %[[VAL_4]], %{{.*}}) : (!fir.box, i32, !fir.ref, i32) -> i64 +! CHECK: %[[VAL_5:.*]] = fir.call @_FortranASizeDim(%[[VAL_2]], %[[VAL_3]], %[[VAL_4]], %{{.*}}) {{.*}} : (!fir.box, i32, !fir.ref, i32) -> i64 ! CHECK: %[[VAL_6:.*]] = fir.address_of( ! CHECK: %[[VAL_7:.*]] = fir.convert %{{.*}} : (!fir.box>) -> !fir.box ! CHECK: %[[VAL_8:.*]] = fir.convert %[[VAL_0]] : (i64) -> i32 ! CHECK: %[[VAL_9:.*]] = fir.convert %[[VAL_6]] -! CHECK: %[[VAL_10:.*]] = fir.call @_FortranALboundDim(%[[VAL_7]], %[[VAL_8]], %[[VAL_9]], %{{.*}}) : (!fir.box, i32, !fir.ref, i32) -> i64 +! CHECK: %[[VAL_10:.*]] = fir.call @_FortranALboundDim(%[[VAL_7]], %[[VAL_8]], %[[VAL_9]], %{{.*}}) {{.*}} : (!fir.box, i32, !fir.ref, i32) -> i64 ! CHECK: %[[VAL_11:.*]] = arith.subi %[[VAL_10]], %{{.*}} : i64 ! CHECK: %[[VAL_12:.*]] = arith.addi %[[VAL_11]], %[[VAL_5]] : i64 ! CHECK: fir.store %[[VAL_12]] to %{{.*}} : !fir.ref @@ -57,13 +57,13 @@ ! CHECK: %[[VAL_6:.*]] = fir.convert %[[VAL_3]] : (i64) -> i32 ! CHECK: %[[VAL_7:.*]] = fir.convert %[[VAL_4]] -! CHECK: %[[VAL_8:.*]] = fir.call @_FortranASizeDim(%[[VAL_5]], %[[VAL_6]], %[[VAL_7]], %{{.*}}) : (!fir.box, i32, !fir.ref, i32) -> i64 +! CHECK: %[[VAL_8:.*]] = fir.call @_FortranASizeDim(%[[VAL_5]], %[[VAL_6]], %[[VAL_7]], %{{.*}}) {{.*}} : (!fir.box, i32, !fir.ref, i32) -> i64 ! CHECK: %[[VAL_9:.*]] = fir.rebox %[[VAL_2]] : (!fir.box>) -> !fir.box> ! CHECK: %[[VAL_10:.*]] = fir.address_of( ! CHECK: %[[VAL_11:.*]] = fir.convert %[[VAL_9]] : (!fir.box>) -> !fir.box ! CHECK: %[[VAL_12:.*]] = fir.convert %[[VAL_3]] ! CHECK: %[[VAL_13:.*]] = fir.convert %[[VAL_10]] -! CHECK: %[[VAL_14:.*]] = fir.call @_FortranALboundDim(%[[VAL_11]], %[[VAL_12]], %[[VAL_13]], %{{.*}}) : (!fir.box, i32, !fir.ref, i32) -> i64 +! CHECK: %[[VAL_14:.*]] = fir.call @_FortranALboundDim(%[[VAL_11]], %[[VAL_12]], %[[VAL_13]], %{{.*}}) {{.*}} : (!fir.box, i32, !fir.ref, i32) -> i64 ! CHECK: %[[VAL_15:.*]] = arith.subi %[[VAL_14]], %{{.*}} : i64 ! CHECK: %[[VAL_16:.*]] = arith.addi %[[VAL_15]], %[[VAL_8]] : i64 ! CHECK: fir.store %[[VAL_16]] to %{{.*}} : !fir.ref Index: flang/test/Lower/Intrinsics/ubound01.f90 =================================================================== --- flang/test/Lower/Intrinsics/ubound01.f90 +++ flang/test/Lower/Intrinsics/ubound01.f90 @@ -20,4 +20,4 @@ ! CHECK-SAME: %[[ARG0:.*]]: !fir.box> ! CHECK: %[[BOX:.*]] = fir.rebox %[[ARG0]](%{{.*}}) : (!fir.box>, !fir.shift<2>) -> !fir.box> ! CHECK: %[[BOX_NONE:.*]] = fir.convert %[[BOX]] : (!fir.box>) -> !fir.box -! CHECK: %{{.*}} = fir.call @_FortranAUbound(%{{.*}}, %[[BOX_NONE]], %{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref>, !fir.box, i32, !fir.ref, i32) -> none +! CHECK: %{{.*}} = fir.call @_FortranAUbound(%{{.*}}, %[[BOX_NONE]], %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, !fir.box, i32, !fir.ref, i32) -> none Index: flang/test/Lower/Intrinsics/verify.f90 =================================================================== --- flang/test/Lower/Intrinsics/verify.f90 +++ flang/test/Lower/Intrinsics/verify.f90 @@ -21,7 +21,7 @@ ! CHECK: %[[VAL_16:.*]] = fir.convert %[[VAL_9]] : (!fir.box>) -> !fir.box ! CHECK: %[[VAL_17:.*]] = fir.convert %[[VAL_7]] : (!fir.box) -> !fir.box ! CHECK: %[[VAL_18:.*]] = fir.convert %[[VAL_12]] : (!fir.ref>) -> !fir.ref -! CHECK: %[[VAL_19:.*]] = fir.call @_FortranAVerify(%[[VAL_14]], %[[VAL_15]], %[[VAL_16]], %[[VAL_17]], %[[VAL_6]], %[[VAL_18]], %[[VAL_13]]) : (!fir.ref>, !fir.box, !fir.box, !fir.box, i32, !fir.ref, i32) -> none +! CHECK: %[[VAL_19:.*]] = fir.call @_FortranAVerify(%[[VAL_14]], %[[VAL_15]], %[[VAL_16]], %[[VAL_17]], %[[VAL_6]], %[[VAL_18]], %[[VAL_13]]) {{.*}} : (!fir.ref>, !fir.box, !fir.box, !fir.box, i32, !fir.ref, i32) -> none ! CHECK: %[[VAL_20:.*]] = fir.load %[[VAL_2]] : !fir.ref>> ! CHECK: %[[VAL_21:.*]] = fir.box_addr %[[VAL_20]] : (!fir.box>) -> !fir.heap ! CHECK: %[[VAL_22:.*]] = fir.load %[[VAL_21]] : !fir.heap @@ -44,7 +44,7 @@ ! CHECK: %[[VAL_7:.*]] = fir.convert %[[VAL_2]]#1 : (index) -> i64 ! CHECK: %[[VAL_8:.*]] = fir.convert %[[VAL_3]]#0 : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_9:.*]] = fir.convert %[[VAL_3]]#1 : (index) -> i64 -! CHECK: %[[VAL_10:.*]] = fir.call @_FortranAVerify1(%[[VAL_6]], %[[VAL_7]], %[[VAL_8]], %[[VAL_9]], %[[VAL_5]]) : (!fir.ref, i64, !fir.ref, i64, i1) -> i64 +! CHECK: %[[VAL_10:.*]] = fir.call @_FortranAVerify1(%[[VAL_6]], %[[VAL_7]], %[[VAL_8]], %[[VAL_9]], %[[VAL_5]]) {{.*}} : (!fir.ref, i64, !fir.ref, i64, i1) -> i64 ! CHECK: %[[VAL_11:.*]] = fir.convert %[[VAL_10]] : (i64) -> i32 ! CHECK: fir.store %[[VAL_11]] to %[[VAL_4]] : !fir.ref ! CHECK: %[[VAL_12:.*]] = fir.load %[[VAL_4]] : !fir.ref @@ -78,7 +78,7 @@ ! CHECK: fir.result %[[VAL_34]] : !fir.logical<4> ! CHECK: } ! CHECK: %[[VAL_39:.*]] = fir.convert %[[VAL_31]] : (!fir.logical<4>) -> i1 - ! CHECK: fir.call @_FortranAVerify1(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_39]]) : (!fir.ref, i64, !fir.ref, i64, i1) -> i64 + ! CHECK: fir.call @_FortranAVerify1(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %[[VAL_39]]) {{.*}} : (!fir.ref, i64, !fir.ref, i64, i1) -> i64 ! CHECK: } ! CHECK: fir.array_merge_store end subroutine Index: flang/test/Lower/OpenMP/copyin.f90 =================================================================== --- flang/test/Lower/OpenMP/copyin.f90 +++ flang/test/Lower/OpenMP/copyin.f90 @@ -27,7 +27,7 @@ ! CHECK: } ! CHECK: fir.array_merge_store %[[VAL_9]], %[[VAL_20:.*]] to %[[VAL_7]] : !fir.array<10xi64>, !fir.array<10xi64>, !fir.ref> ! CHECK: omp.barrier -! CHECK: fir.call @_QPsub1(%[[VAL_5]], %[[VAL_7]]) : (!fir.ref, !fir.ref>) -> () +! CHECK: fir.call @_QPsub1(%[[VAL_5]], %[[VAL_7]]) {{.*}} : (!fir.ref, !fir.ref>) -> () ! CHECK: omp.terminator ! CHECK: } ! CHECK: return @@ -60,7 +60,7 @@ ! CHECK: %[[VAL_11:.*]] = arith.constant false ! CHECK: %[[VAL_12:.*]] = fir.convert %[[VAL_7]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_13:.*]] = fir.convert %[[VAL_2]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_12]], %[[VAL_13]], %[[VAL_10]], %[[VAL_11]]) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_12]], %[[VAL_13]], %[[VAL_10]], %[[VAL_11]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_14:.*]] = omp.threadprivate %[[VAL_3]] : !fir.ref>> -> !fir.ref>> ! CHECK: %[[VAL_15:.*]] = fir.shape %[[VAL_5]] : (index) -> !fir.shape<1> ! CHECK: %[[VAL_16:.*]] = fir.array_load %[[VAL_14]](%[[VAL_15]]) : (!fir.ref>>, !fir.shape<1>) -> !fir.array<10x!fir.char<1,5>> @@ -79,7 +79,7 @@ ! CHECK: %[[VAL_31:.*]] = arith.constant false ! CHECK: %[[VAL_32:.*]] = fir.convert %[[VAL_26]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_33:.*]] = fir.convert %[[VAL_25]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_32]], %[[VAL_33]], %[[VAL_30]], %[[VAL_31]]) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_32]], %[[VAL_33]], %[[VAL_30]], %[[VAL_31]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_34:.*]] = fir.array_amend %[[VAL_24]], %[[VAL_26]] : (!fir.array<10x!fir.char<1,5>>, !fir.ref>) -> !fir.array<10x!fir.char<1,5>> ! CHECK: fir.result %[[VAL_34]] : !fir.array<10x!fir.char<1,5>> ! CHECK: } @@ -89,7 +89,7 @@ ! CHECK: %[[VAL_37:.*]] = fir.emboxchar %[[VAL_36]], %[[VAL_1]] : (!fir.ref>, index) -> !fir.boxchar<1> ! CHECK: %[[VAL_38:.*]] = fir.convert %[[VAL_14]] : (!fir.ref>>) -> !fir.ref> ! CHECK: %[[VAL_39:.*]] = fir.emboxchar %[[VAL_38]], %[[VAL_4]] : (!fir.ref>, index) -> !fir.boxchar<1> -! CHECK: fir.call @_QPsub2(%[[VAL_37]], %[[VAL_39]]) : (!fir.boxchar<1>, !fir.boxchar<1>) -> () +! CHECK: fir.call @_QPsub2(%[[VAL_37]], %[[VAL_39]]) {{.*}} : (!fir.boxchar<1>, !fir.boxchar<1>) -> () ! CHECK: omp.terminator ! CHECK: } ! CHECK: return @@ -113,7 +113,7 @@ ! CHECK: %[[VAL_3:.*]] = fir.load %[[VAL_1]] : !fir.ref}>> ! CHECK: fir.store %[[VAL_3]] to %[[VAL_2]] : !fir.ref}>> ! CHECK: omp.barrier -! CHECK: fir.call @_QPsub3(%[[VAL_2]]) : (!fir.ref}>>) -> () +! CHECK: fir.call @_QPsub3(%[[VAL_2]]) {{.*}} : (!fir.ref}>>) -> () ! CHECK: omp.terminator ! CHECK: } ! CHECK: return @@ -148,7 +148,7 @@ ! CHECK: %[[VAL_8:.*]] = arith.constant 1 : i32 ! CHECK: omp.wsloop for (%[[VAL_9:.*]]) : i32 = (%[[VAL_6]]) to (%[[VAL_7]]) inclusive step (%[[VAL_8]]) { ! CHECK: fir.store %[[VAL_9]] to %[[VAL_3]] : !fir.ref -! CHECK: fir.call @_QPsub4(%[[VAL_4]]) : (!fir.ref) -> () +! CHECK: fir.call @_QPsub4(%[[VAL_4]]) {{.*}} : (!fir.ref) -> () ! CHECK: omp.yield ! CHECK: } ! CHECK: omp.terminator @@ -178,11 +178,11 @@ ! CHECK: omp.barrier ! CHECK: omp.sections { ! CHECK: omp.section { -! CHECK: fir.call @_QPsub5(%[[VAL_2]]) : (!fir.ref) -> () +! CHECK: fir.call @_QPsub5(%[[VAL_2]]) {{.*}} : (!fir.ref) -> () ! CHECK: omp.terminator ! CHECK: } ! CHECK: omp.section { -! CHECK: fir.call @_QPsub6(%[[VAL_2]]) : (!fir.ref) -> () +! CHECK: fir.call @_QPsub6(%[[VAL_2]]) {{.*}} : (!fir.ref) -> () ! CHECK: omp.terminator ! CHECK: } ! CHECK: omp.terminator Index: flang/test/Lower/OpenMP/master.f90 =================================================================== --- flang/test/Lower/OpenMP/master.f90 +++ flang/test/Lower/OpenMP/master.f90 @@ -10,7 +10,7 @@ !OMPDialect: omp.master { !$omp master - !FIRDialect: fir.call @_QPmaster() : () -> () + !FIRDialect: fir.call @_QPmaster() {{.*}} : () -> () call master() !OMPDialect: omp.terminator @@ -24,7 +24,7 @@ !OMPDialect: omp.parallel { !$omp parallel - !FIRDialect: fir.call @_QPfoo() : () -> () + !FIRDialect: fir.call @_QPfoo() {{.*}} : () -> () call foo() !OMPDialect: omp.terminator @@ -41,13 +41,13 @@ !OMPDialect: omp.parallel { !$omp parallel - !FIRDialect: fir.call @_QPparallel() : () -> () + !FIRDialect: fir.call @_QPparallel() {{.*}} : () -> () call parallel() !OMPDialect: omp.master { !$omp master - !FIRDialect: fir.call @_QPparallel_master() : () -> () + !FIRDialect: fir.call @_QPparallel_master() {{.*}} : () -> () call parallel_master() !OMPDialect: omp.terminator @@ -80,7 +80,7 @@ !OMPDialect: omp.parallel { !$omp parallel - !FIRDialect: fir.call @_QPinside_if_parallel() : () -> () + !FIRDialect: fir.call @_QPinside_if_parallel() {{.*}} : () -> () call inside_if_parallel() !OMPDialect: omp.terminator Index: flang/test/Lower/OpenMP/omp-parallel-firstprivate-clause-scalar.f90 =================================================================== --- flang/test/Lower/OpenMP/omp-parallel-firstprivate-clause-scalar.f90 +++ flang/test/Lower/OpenMP/omp-parallel-firstprivate-clause-scalar.f90 @@ -11,7 +11,7 @@ !FIRDialect: %[[ARG2_PVT:.*]] = fir.alloca !fir.complex<8> {bindc_name = "arg2", pinned, uniq_name = "_QFfirstprivate_complexEarg2"} !FIRDialect: %[[ARG2_VAL:.*]] = fir.load %[[ARG2]] : !fir.ref> !FIRDialect: fir.store %[[ARG2_VAL]] to %[[ARG2_PVT]] : !fir.ref> -!FIRDialect: fir.call @_QPfoo(%[[ARG1_PVT]], %[[ARG2_PVT]]) : (!fir.ref>, !fir.ref>) -> () +!FIRDialect: fir.call @_QPfoo(%[[ARG1_PVT]], %[[ARG2_PVT]]) {{.*}} : (!fir.ref>, !fir.ref>) -> () !FIRDialect: omp.terminator !FIRDialect: } @@ -45,7 +45,7 @@ !FIRDialect: %[[ARG6_PVT:.*]] = fir.alloca i128 {bindc_name = "arg6", pinned, uniq_name = "_QFfirstprivate_integerEarg6"} !FIRDialect: %[[ARG6_VAL:.*]] = fir.load %[[ARG6]] : !fir.ref !FIRDialect: fir.store %[[ARG6_VAL]] to %[[ARG6_PVT]] : !fir.ref -!FIRDialect: fir.call @_QPbar(%[[ARG1_PVT]], %[[ARG2_PVT]], %[[ARG3_PVT]], %[[ARG4_PVT]], %[[ARG5_PVT]], %[[ARG6_PVT]]) : (!fir.ref, !fir.ref, !fir.ref, !fir.ref, !fir.ref, !fir.ref) -> () +!FIRDialect: fir.call @_QPbar(%[[ARG1_PVT]], %[[ARG2_PVT]], %[[ARG3_PVT]], %[[ARG4_PVT]], %[[ARG5_PVT]], %[[ARG6_PVT]]) {{.*}} : (!fir.ref, !fir.ref, !fir.ref, !fir.ref, !fir.ref, !fir.ref) -> () !FIRDialect: omp.terminator !FIRDialect: } @@ -80,7 +80,7 @@ !FIRDialect: %[[ARG5_PVT:.*]] = fir.alloca !fir.logical<8> {bindc_name = "arg5", pinned, uniq_name = "_QFfirstprivate_logicalEarg5"} !FIRDialect: %[[ARG5_VAL:.*]] = fir.load %[[ARG5]] : !fir.ref> !FIRDialect: fir.store %[[ARG5_VAL]] to %[[ARG5_PVT]] : !fir.ref> -!FIRDialect: fir.call @_QPbaz(%[[ARG1_PVT]], %[[ARG2_PVT]], %[[ARG3_PVT]], %[[ARG4_PVT]], %[[ARG5_PVT]]) : (!fir.ref>, !fir.ref>, !fir.ref>, !fir.ref>, !fir.ref>) -> () +!FIRDialect: fir.call @_QPbaz(%[[ARG1_PVT]], %[[ARG2_PVT]], %[[ARG3_PVT]], %[[ARG4_PVT]], %[[ARG5_PVT]]) {{.*}} : (!fir.ref>, !fir.ref>, !fir.ref>, !fir.ref>, !fir.ref>) -> () !FIRDialect: omp.terminator !FIRDialect: } @@ -117,7 +117,7 @@ !FIRDialect: %[[ARG6_PVT:.*]] = fir.alloca f128 {bindc_name = "arg6", pinned, uniq_name = "_QFfirstprivate_realEarg6"} !FIRDialect: %[[ARG6_VAL:.*]] = fir.load %[[ARG6]] : !fir.ref !FIRDialect: fir.store %[[ARG6_VAL]] to %[[ARG6_PVT]] : !fir.ref -!FIRDialect: fir.call @_QPqux(%[[ARG1_PVT]], %[[ARG2_PVT]], %[[ARG3_PVT]], %[[ARG4_PVT]], %[[ARG5_PVT]], %[[ARG6_PVT]]) : (!fir.ref, !fir.ref, !fir.ref, !fir.ref, !fir.ref, !fir.ref) -> () +!FIRDialect: fir.call @_QPqux(%[[ARG1_PVT]], %[[ARG2_PVT]], %[[ARG3_PVT]], %[[ARG4_PVT]], %[[ARG5_PVT]], %[[ARG6_PVT]]) {{.*}} : (!fir.ref, !fir.ref, !fir.ref, !fir.ref, !fir.ref, !fir.ref) -> () !FIRDialect: omp.terminator !FIRDialect: } @@ -145,7 +145,7 @@ !FIRDialect: %[[B_PRIV_ADDR:.*]] = fir.alloca i32 {bindc_name = "b", pinned, uniq_name = "_QFmultiple_firstprivateEb"} !FIRDialect: %[[B:.*]] = fir.load %[[B_ADDR]] : !fir.ref !FIRDialect: fir.store %[[B]] to %[[B_PRIV_ADDR]] : !fir.ref -!FIRDialect: fir.call @_QPquux(%[[A_PRIV_ADDR]], %[[B_PRIV_ADDR]]) : (!fir.ref, !fir.ref) -> () +!FIRDialect: fir.call @_QPquux(%[[A_PRIV_ADDR]], %[[B_PRIV_ADDR]]) {{.*}} : (!fir.ref, !fir.ref) -> () !FIRDialect: omp.terminator !FIRDialect: } !FIRDialect: return Index: flang/test/Lower/OpenMP/omp-parallel-lastprivate-clause-scalar.f90 =================================================================== --- flang/test/Lower/OpenMP/omp-parallel-lastprivate-clause-scalar.f90 +++ flang/test/Lower/OpenMP/omp-parallel-lastprivate-clause-scalar.f90 @@ -16,7 +16,7 @@ !CHECK-NEXT: %[[ADDR:.*]] = fir.address_of(@_QQcl. !CHECK-NEXT: %[[CVT0:.*]] = fir.convert %[[ADDR]] !CHECK-NEXT: %[[CNST:.*]] = arith.constant -!CHECK-NEXT: %[[CALL_BEGIN_IO:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[NEG_ONE]], %[[CVT0]], %[[CNST]]) : (i32, !fir.ref, i32) -> !fir.ref +!CHECK-NEXT: %[[CALL_BEGIN_IO:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[NEG_ONE]], %[[CVT0]], %[[CNST]]) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref !CHECK-NEXT: %[[CVT_0_1:.*]] = fir.convert %[[ARG1_PVT]] !CHECK-NEXT: %[[CVT_0_2:.*]] = fir.convert %[[FIVE]] !CHECK-NEXT: %[[CALL_OP_ASCII:.*]] = fir.call @_FortranAioOutputAscii(%[[CALL_BEGIN_IO]], %[[CVT_0_1]], %[[CVT_0_2]]) Index: flang/test/Lower/OpenMP/omp-parallel-wsloop-firstpriv.f90 =================================================================== --- flang/test/Lower/OpenMP/omp-parallel-wsloop-firstpriv.f90 +++ flang/test/Lower/OpenMP/omp-parallel-wsloop-firstpriv.f90 @@ -19,13 +19,13 @@ ! CHECK-NEXT: %[[STEP:.*]] = arith.constant 1 : i32 ! CHECK-NEXT: omp.wsloop for (%[[ARG1:.*]]) : i32 = (%[[LB]]) to (%[[UB]]) inclusive step (%[[STEP]]) ! CHECK-NEXT: fir.store %[[ARG1]] to %[[REF]] : !fir.ref - ! CHECK-NEXT: fir.call @_QPfoo(%[[REF]], %[[CLONE]]) : (!fir.ref, !fir.ref) -> () + ! CHECK-NEXT: fir.call @_QPfoo(%[[REF]], %[[CLONE]]) {{.*}} : (!fir.ref, !fir.ref) -> () ! CHECK-NEXT: omp.yield do i=1, a call foo(i, a) end do !$omp end parallel do - !CHECK: fir.call @_QPbar(%[[ARG0]]) : (!fir.ref) -> () + !CHECK: fir.call @_QPbar(%[[ARG0]]) {{.*}} : (!fir.ref) -> () call bar(a) end subroutine omp_do_firstprivate @@ -50,12 +50,12 @@ ! CHECK-NEXT: %[[STEP:.*]] = arith.constant 1 : i32 ! CHECK-NEXT: omp.wsloop for (%[[ARG2:.*]]) : i32 = (%[[LB]]) to (%[[UB]]) inclusive step (%[[STEP]]) ! CHECK-NEXT: fir.store %[[ARG2]] to %[[REF]] : !fir.ref - ! CHECK-NEXT: fir.call @_QPfoo(%[[REF]], %[[CLONE]]) : (!fir.ref, !fir.ref) -> () + ! CHECK-NEXT: fir.call @_QPfoo(%[[REF]], %[[CLONE]]) {{.*}} : (!fir.ref, !fir.ref) -> () ! CHECK-NEXT: omp.yield do i= a, n call foo(i, a) end do !$omp end parallel do - !CHECK: fir.call @_QPbar(%[[ARG1]]) : (!fir.ref) -> () + !CHECK: fir.call @_QPbar(%[[ARG1]]) {{.*}} : (!fir.ref) -> () call bar(n) end subroutine omp_do_firstprivate2 Index: flang/test/Lower/OpenMP/omp-parallel-wsloop.f90 =================================================================== --- flang/test/Lower/OpenMP/omp-parallel-wsloop.f90 +++ flang/test/Lower/OpenMP/omp-parallel-wsloop.f90 @@ -14,7 +14,7 @@ do i=1, 9 ! CHECK: fir.store %[[I]] to %[[IV_ADDR:.*]] : !fir.ref ! CHECK: %[[LOAD_IV:.*]] = fir.load %[[IV_ADDR]] : !fir.ref - ! CHECK: fir.call @_FortranAioOutputInteger32({{.*}}, %[[LOAD_IV]]) : (!fir.ref, i32) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger32({{.*}}, %[[LOAD_IV]]) {{.*}} : (!fir.ref, i32) -> i1 print*, i end do ! CHECK: omp.yield @@ -40,7 +40,7 @@ do i=1, 9 ! CHECK: fir.store %[[I]] to %[[IV_ADDR:.*]] : !fir.ref ! CHECK: %[[LOAD_IV:.*]] = fir.load %[[IV_ADDR]] : !fir.ref - ! CHECK: fir.call @_FortranAioOutputInteger32({{.*}}, %[[LOAD_IV]]) : (!fir.ref, i32) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger32({{.*}}, %[[LOAD_IV]]) {{.*}} : (!fir.ref, i32) -> i1 print*, i end do ! CHECK: omp.yield @@ -63,7 +63,7 @@ do i=1, 9 ! CHECK: fir.store %[[I]] to %[[IV_ADDR:.*]] : !fir.ref ! CHECK: %[[LOAD_IV:.*]] = fir.load %[[IV_ADDR]] : !fir.ref - ! CHECK: fir.call @_FortranAioOutputInteger32({{.*}}, %[[LOAD_IV]]) : (!fir.ref, i32) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger32({{.*}}, %[[LOAD_IV]]) {{.*}} : (!fir.ref, i32) -> i1 print*, i end do ! CHECK: omp.yield @@ -95,12 +95,12 @@ do i=1, 9 ! CHECK: fir.store %[[I]] to %[[IV_ADDR:.*]] : !fir.ref ! CHECK: %[[LOAD_IV:.*]] = fir.load %[[IV_ADDR]] : !fir.ref - ! CHECK: fir.call @_FortranAioOutputInteger32({{.*}}, %[[LOAD_IV]]) : (!fir.ref, i32) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger32({{.*}}, %[[LOAD_IV]]) {{.*}} : (!fir.ref, i32) -> i1 ! CHECK: %[[PRIVATE_COND_VAL:.*]] = fir.load %[[PRIVATE_COND_REF]] : !fir.ref> ! CHECK: %[[PRIVATE_COND_VAL_CVT:.*]] = fir.convert %[[PRIVATE_COND_VAL]] : (!fir.logical<4>) -> i1 - ! CHECK: fir.call @_FortranAioOutputLogical({{.*}}, %[[PRIVATE_COND_VAL_CVT]]) : (!fir.ref, i1) -> i1 + ! CHECK: fir.call @_FortranAioOutputLogical({{.*}}, %[[PRIVATE_COND_VAL_CVT]]) {{.*}} : (!fir.ref, i1) -> i1 ! CHECK: %[[PRIVATE_NT_VAL:.*]] = fir.load %[[PRIVATE_NT_REF]] : !fir.ref - ! CHECK: fir.call @_FortranAioOutputInteger32({{.*}}, %[[PRIVATE_NT_VAL]]) : (!fir.ref, i32) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger32({{.*}}, %[[PRIVATE_NT_VAL]]) {{.*}} : (!fir.ref, i32) -> i1 print*, i, cond, nt end do ! CHECK: omp.yield @@ -142,7 +142,7 @@ ! CHECK: %[[VAL_9:.*]] = arith.constant 1 : i32 ! CHECK: omp.wsloop for (%[[I:.*]]) : i32 = (%[[VAL_7]]) to (%[[VAL_8]]) inclusive step (%[[VAL_9]]) { ! CHECK: fir.store %[[I]] to %[[I_PRIV]] : !fir.ref -! CHECK: fir.call @_QPfoo(%[[I_PRIV]], %[[COND_ADDR]], %[[NT_ADDR]]) : (!fir.ref, !fir.ref>, !fir.ref) -> () +! CHECK: fir.call @_QPfoo(%[[I_PRIV]], %[[COND_ADDR]], %[[NT_ADDR]]) {{.*}} : (!fir.ref, !fir.ref>, !fir.ref) -> () ! CHECK: omp.yield ! CHECK: } ! CHECK: omp.terminator @@ -184,7 +184,7 @@ ! CHECK: %[[VAL_10:.*]] = arith.constant 1 : i32 ! CHECK: omp.wsloop for (%[[I:.*]]) : i32 = (%[[VAL_8]]) to (%[[VAL_9]]) inclusive step (%[[VAL_10]]) { ! CHECK: fir.store %[[I]] to %[[I_PRIV_ADDR]] : !fir.ref -! CHECK: fir.call @_QPbar(%[[I_PRIV_ADDR]], %[[A_PRIV_ADDR]]) : (!fir.ref, !fir.ref) -> () +! CHECK: fir.call @_QPbar(%[[I_PRIV_ADDR]], %[[A_PRIV_ADDR]]) {{.*}} : (!fir.ref, !fir.ref) -> () ! CHECK: omp.yield ! CHECK: } ! CHECK: omp.terminator @@ -226,7 +226,7 @@ ! CHECK: %[[VAL_9:.*]] = arith.constant 1 : i32 ! CHECK: omp.wsloop for (%[[I:.*]]) : i32 = (%[[VAL_7]]) to (%[[VAL_8]]) inclusive step (%[[VAL_9]]) { ! CHECK: fir.store %[[I]] to %[[I_PRIV_ADDR]] : !fir.ref -! CHECK: fir.call @_QPfoo(%[[I_PRIV_ADDR]], %[[COND_ADDR]], %[[NT_ADDR]]) : (!fir.ref, !fir.ref>, !fir.ref) -> () +! CHECK: fir.call @_QPfoo(%[[I_PRIV_ADDR]], %[[COND_ADDR]], %[[NT_ADDR]]) {{.*}} : (!fir.ref, !fir.ref>, !fir.ref) -> () ! CHECK: omp.yield ! CHECK: } ! CHECK: omp.terminator @@ -268,7 +268,7 @@ ! CHECK: %[[VAL_10:.*]] = arith.constant 1 : i32 ! CHECK: omp.wsloop for (%[[I:.*]]) : i32 = (%[[VAL_8]]) to (%[[VAL_9]]) inclusive step (%[[VAL_10]]) { ! CHECK: fir.store %[[I]] to %[[I_PRIV_ADDR]] : !fir.ref -! CHECK: fir.call @_QPbar(%[[I_PRIV_ADDR]], %[[A_PRIV_ADDR]]) : (!fir.ref, !fir.ref) -> () +! CHECK: fir.call @_QPbar(%[[I_PRIV_ADDR]], %[[A_PRIV_ADDR]]) {{.*}} : (!fir.ref, !fir.ref) -> () ! CHECK: omp.yield ! CHECK: } ! CHECK: omp.terminator Index: flang/test/Lower/OpenMP/omp-wsloop-chunks.f90 =================================================================== --- flang/test/Lower/OpenMP/omp-wsloop-chunks.f90 +++ flang/test/Lower/OpenMP/omp-wsloop-chunks.f90 @@ -22,7 +22,7 @@ ! CHECK: omp.wsloop schedule(static = %[[VAL_5]] : i32) nowait for (%[[ARG0:.*]]) : i32 = (%[[VAL_2]]) to (%[[VAL_3]]) inclusive step (%[[VAL_4]]) { ! CHECK: fir.store %[[ARG0]] to %[[STORE_IV:.*]] : !fir.ref ! CHECK: %[[LOAD_IV:.*]] = fir.load %[[STORE_IV]] : !fir.ref -! CHECK: {{.*}} = fir.call @_FortranAioOutputInteger32({{.*}}, %[[LOAD_IV]]) : (!fir.ref, i32) -> i1 +! CHECK: {{.*}} = fir.call @_FortranAioOutputInteger32({{.*}}, %[[LOAD_IV]]) {{.*}} : (!fir.ref, i32) -> i1 ! CHECK: omp.yield ! CHECK: } @@ -42,7 +42,7 @@ ! CHECK: %[[VAL_24:.*]] = arith.constant 2 : i32 ! CHECK: %[[LOAD_IV1:.*]] = fir.load %[[STORE_IV1]] : !fir.ref ! CHECK: %[[VAL_25:.*]] = arith.muli %[[VAL_24]], %[[LOAD_IV1]] : i32 -! CHECK: {{.*}} = fir.call @_FortranAioOutputInteger32({{.*}}, %[[VAL_25]]) : (!fir.ref, i32) -> i1 +! CHECK: {{.*}} = fir.call @_FortranAioOutputInteger32({{.*}}, %[[VAL_25]]) {{.*}} : (!fir.ref, i32) -> i1 ! CHECK: omp.yield ! CHECK: } @@ -66,7 +66,7 @@ ! CHECK: %[[VAL_39:.*]] = arith.constant 3 : i32 ! CHECK: %[[LOAD_IV2:.*]] = fir.load %[[STORE_IV2]] : !fir.ref ! CHECK: %[[VAL_40:.*]] = arith.muli %[[VAL_39]], %[[LOAD_IV2]] : i32 -! CHECK: {{.*}} = fir.call @_FortranAioOutputInteger32({{.*}}, %[[VAL_40]]) : (!fir.ref, i32) -> i1 +! CHECK: {{.*}} = fir.call @_FortranAioOutputInteger32({{.*}}, %[[VAL_40]]) {{.*}} : (!fir.ref, i32) -> i1 ! CHECK: omp.yield ! CHECK: } ! CHECK: return Index: flang/test/Lower/OpenMP/omp-wsloop-monotonic.f90 =================================================================== --- flang/test/Lower/OpenMP/omp-wsloop-monotonic.f90 +++ flang/test/Lower/OpenMP/omp-wsloop-monotonic.f90 @@ -22,8 +22,8 @@ print*, i !CHECK: %[[RTBEGIN:.*]] = fir.call @_FortranAioBeginExternalListOutput !CHECK: %[[LOAD:.*]] = fir.load %[[ALLOCA_IV]] : !fir.ref -!CHECK: fir.call @_FortranAioOutputInteger32(%[[RTBEGIN]], %[[LOAD]]) : (!fir.ref, i32) -> i1 -!CHECK: fir.call @_FortranAioEndIoStatement(%[[RTBEGIN]]) : (!fir.ref) -> i32 +!CHECK: fir.call @_FortranAioOutputInteger32(%[[RTBEGIN]], %[[LOAD]]) {{.*}} : (!fir.ref, i32) -> i1 +!CHECK: fir.call @_FortranAioEndIoStatement(%[[RTBEGIN]]) {{.*}} : (!fir.ref) -> i32 end do !CHECK: omp.yield !CHECK: omp.terminator Index: flang/test/Lower/OpenMP/omp-wsloop-nonmonotonic.f90 =================================================================== --- flang/test/Lower/OpenMP/omp-wsloop-nonmonotonic.f90 +++ flang/test/Lower/OpenMP/omp-wsloop-nonmonotonic.f90 @@ -23,8 +23,8 @@ print*, i !CHECK: %[[RTBEGIN:.*]] = fir.call @_FortranAioBeginExternalListOutput !CHECK: %[[LOAD:.*]] = fir.load %[[ALLOCA_IV]] : !fir.ref -!CHECK: fir.call @_FortranAioOutputInteger32(%[[RTBEGIN]], %[[LOAD]]) : (!fir.ref, i32) -> i1 -!CHECK: fir.call @_FortranAioEndIoStatement(%[[RTBEGIN]]) : (!fir.ref) -> i32 +!CHECK: fir.call @_FortranAioOutputInteger32(%[[RTBEGIN]], %[[LOAD]]) {{.*}} : (!fir.ref, i32) -> i1 +!CHECK: fir.call @_FortranAioEndIoStatement(%[[RTBEGIN]]) {{.*}} : (!fir.ref) -> i32 end do !CHECK: omp.yield !CHECK: } Index: flang/test/Lower/OpenMP/omp-wsloop-simd.f90 =================================================================== --- flang/test/Lower/OpenMP/omp-wsloop-simd.f90 +++ flang/test/Lower/OpenMP/omp-wsloop-simd.f90 @@ -21,8 +21,8 @@ print*, i !CHECK: %[[RTBEGIN:.*]] = fir.call @_FortranAioBeginExternalListOutput !CHECK: %[[LOAD:.*]] = fir.load %[[STORE]] : !fir.ref -!CHECK: fir.call @_FortranAioOutputInteger32(%[[RTBEGIN]], %[[LOAD]]) : (!fir.ref, i32) -> i1 -!CHECK: fir.call @_FortranAioEndIoStatement(%[[RTBEGIN]]) : (!fir.ref) -> i32 +!CHECK: fir.call @_FortranAioOutputInteger32(%[[RTBEGIN]], %[[LOAD]]) {{.*}} : (!fir.ref, i32) -> i1 +!CHECK: fir.call @_FortranAioEndIoStatement(%[[RTBEGIN]]) {{.*}} : (!fir.ref) -> i32 end do !CHECK: omp.yield !CHECK: } Index: flang/test/Lower/OpenMP/omp-wsloop.f90 =================================================================== --- flang/test/Lower/OpenMP/omp-wsloop.f90 +++ flang/test/Lower/OpenMP/omp-wsloop.f90 @@ -16,7 +16,7 @@ do i=1, 9 ! CHECK: fir.store %[[I]] to %[[ALLOCA_IV:.*]] : !fir.ref ! CHECK: %[[LOAD_IV:.*]] = fir.load %[[ALLOCA_IV]] : !fir.ref - ! CHECK: fir.call @_FortranAioOutputInteger32({{.*}}, %[[LOAD_IV]]) : (!fir.ref, i32) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger32({{.*}}, %[[LOAD_IV]]) {{.*}} : (!fir.ref, i32) -> i1 print*, i end do ! CHECK: omp.yield @@ -39,7 +39,7 @@ ! CHECK: %[[LOAD_IV:.*]] = fir.load %[[ALLOCA_IV]] : !fir.ref !$OMP DO do i=1, 9, 2 - ! CHECK: fir.call @_FortranAioOutputInteger32({{.*}}, %[[LOAD_IV]]) : (!fir.ref, i32) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger32({{.*}}, %[[LOAD_IV]]) {{.*}} : (!fir.ref, i32) -> i1 print*, i end do ! CHECK: omp.yield @@ -62,7 +62,7 @@ do i=1, 9 ! CHECK: fir.store %[[I]] to %[[ALLOCA_IV]] : !fir.ref ! CHECK: %[[LOAD_IV:.*]] = fir.load %[[ALLOCA_IV]] : !fir.ref - ! CHECK: fir.call @_FortranAioOutputInteger32({{.*}}, %[[LOAD_IV]]) : (!fir.ref, i32) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger32({{.*}}, %[[LOAD_IV]]) {{.*}} : (!fir.ref, i32) -> i1 print*, i end do ! CHECK: omp.yield Index: flang/test/Lower/OpenMP/sections.f90 =================================================================== --- flang/test/Lower/OpenMP/sections.f90 +++ flang/test/Lower/OpenMP/sections.f90 @@ -33,18 +33,18 @@ !CHECK: %[[PRIVATE_DOUBLE_COUNT:.*]] = fir.alloca i32 {bindc_name = "double_count", pinned, uniq_name = "_QFEdouble_count"} !CHECK: %[[temp:.*]] = fir.load %[[PRIVATE_ETA]] : !fir.ref !CHECK: %[[const:.*]] = arith.constant 7.000000e+00 : f32 -!CHECK: %[[result:.*]] = arith.subf %[[temp]], %[[const]] : f32 +!CHECK: %[[result:.*]] = arith.subf %[[temp]], %[[const]] {{.*}} : f32 !CHECK: fir.store %[[result]] to %[[PRIVATE_ETA]] : !fir.ref !CHECK: {{.*}} = fir.load %[[COUNT]] : !fir.ref !CHECK: %[[temp_count:.*]] = fir.convert {{.*}} : (i32) -> f32 !CHECK: %[[temp_eta:.*]] = fir.load %[[PRIVATE_ETA]] : !fir.ref -!CHECK: {{.*}} = arith.mulf %[[temp_count]], %[[temp_eta]] : f32 +!CHECK: {{.*}} = arith.mulf %[[temp_count]], %[[temp_eta]] {{.*}} : f32 !CHECK: %[[result:.*]] = fir.convert {{.*}} : (f32) -> i32 !CHECK: fir.store %[[result]] to %[[COUNT]] : !fir.ref !CHECK: {{.*}} = fir.load %[[COUNT]] : !fir.ref !CHECK: %[[temp_count:.*]] = fir.convert {{.*}} : (i32) -> f32 !CHECK: %[[temp_eta:.*]] = fir.load %[[PRIVATE_ETA]] : !fir.ref -!CHECK: {{.*}} = arith.subf %[[temp_count]], %[[temp_eta]] : f32 +!CHECK: {{.*}} = arith.subf %[[temp_count]], %[[temp_eta]] {{.*}} : f32 !CHECK: %[[result:.*]] = fir.convert {{.*}} : (f32) -> i32 !CHECK: fir.store %[[result]] to %[[PRIVATE_DOUBLE_COUNT]] : !fir.ref !CHECK: omp.terminator @@ -90,7 +90,7 @@ !CHECK: omp.section { !CHECK: %[[PRIVATE_VAR:.*]] = fir.load %[[ARG]] : !fir.ref !CHECK: %[[CONSTANT:.*]] = arith.constant 5.000000e+00 : f32 -!CHECK: %[[PRIVATE_VAR_2:.*]] = arith.mulf %[[PRIVATE_VAR]], %[[CONSTANT]] : f32 +!CHECK: %[[PRIVATE_VAR_2:.*]] = arith.mulf %[[PRIVATE_VAR]], %[[CONSTANT]] {{.*}} : f32 !CHECK: fir.store %[[PRIVATE_VAR_2]] to %[[ARG]] : !fir.ref !CHECK: omp.terminator !CHECK: } Index: flang/test/Lower/OpenMP/simd.f90 =================================================================== --- flang/test/Lower/OpenMP/simd.f90 +++ flang/test/Lower/OpenMP/simd.f90 @@ -13,7 +13,7 @@ do i=1, 9 ! CHECK: fir.store %[[I]] to %[[LOCAL:.*]] : !fir.ref ! CHECK: %[[LD:.*]] = fir.load %[[LOCAL]] : !fir.ref - ! CHECK: fir.call @_FortranAioOutputInteger32({{.*}}, %[[LD]]) : (!fir.ref, i32) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger32({{.*}}, %[[LD]]) {{.*}} : (!fir.ref, i32) -> i1 print*, i end do !$OMP END SIMD @@ -31,7 +31,7 @@ do i = 1, n ! CHECK: fir.store %[[I]] to %[[LOCAL:.*]] : !fir.ref ! CHECK: %[[LD:.*]] = fir.load %[[LOCAL]] : !fir.ref - ! CHECK: fir.call @_FortranAioOutputInteger32({{.*}}, %[[LD]]) : (!fir.ref, i32) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger32({{.*}}, %[[LD]]) {{.*}} : (!fir.ref, i32) -> i1 print*, i end do !$OMP END SIMD @@ -48,7 +48,7 @@ do i = 1, n ! CHECK: fir.store %[[I]] to %[[LOCAL:.*]] : !fir.ref ! CHECK: %[[LD:.*]] = fir.load %[[LOCAL]] : !fir.ref - ! CHECK: fir.call @_FortranAioOutputInteger32({{.*}}, %[[LD]]) : (!fir.ref, i32) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger32({{.*}}, %[[LD]]) {{.*}} : (!fir.ref, i32) -> i1 print*, i end do !$OMP END SIMD @@ -66,7 +66,7 @@ do i = 1, n ! CHECK: fir.store %[[I]] to %[[LOCAL:.*]] : !fir.ref ! CHECK: %[[LD:.*]] = fir.load %[[LOCAL]] : !fir.ref - ! CHECK: fir.call @_FortranAioOutputInteger32({{.*}}, %[[LD]]) : (!fir.ref, i32) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger32({{.*}}, %[[LD]]) {{.*}} : (!fir.ref, i32) -> i1 print*, i end do !$OMP END SIMD @@ -84,7 +84,7 @@ do i = 1, n ! CHECK: fir.store %[[I]] to %[[LOCAL:.*]] : !fir.ref ! CHECK: %[[LD:.*]] = fir.load %[[LOCAL]] : !fir.ref - ! CHECK: fir.call @_FortranAioOutputInteger32({{.*}}, %[[LD]]) : (!fir.ref, i32) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger32({{.*}}, %[[LD]]) {{.*}} : (!fir.ref, i32) -> i1 print*, i end do !$OMP END SIMD @@ -101,7 +101,7 @@ do i = 1, n ! CHECK: fir.store %[[I]] to %[[LOCAL:.*]] : !fir.ref ! CHECK: %[[LD:.*]] = fir.load %[[LOCAL]] : !fir.ref - ! CHECK: fir.call @_FortranAioOutputInteger32({{.*}}, %[[LD]]) : (!fir.ref, i32) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger32({{.*}}, %[[LD]]) {{.*}} : (!fir.ref, i32) -> i1 print*, i end do !$OMP END SIMD @@ -119,7 +119,7 @@ do i = 1, n ! CHECK: fir.store %[[I]] to %[[LOCAL:.*]] : !fir.ref ! CHECK: %[[LD:.*]] = fir.load %[[LOCAL]] : !fir.ref - ! CHECK: fir.call @_FortranAioOutputInteger32({{.*}}, %[[LD]]) : (!fir.ref, i32) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger32({{.*}}, %[[LD]]) {{.*}} : (!fir.ref, i32) -> i1 print*, i end do !$OMP END SIMD @@ -136,7 +136,7 @@ do i = 1, n ! CHECK: fir.store %[[I]] to %[[LOCAL:.*]] : !fir.ref ! CHECK: %[[LD:.*]] = fir.load %[[LOCAL]] : !fir.ref - ! CHECK: fir.call @_FortranAioOutputInteger32({{.*}}, %[[LD]]) : (!fir.ref, i32) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger32({{.*}}, %[[LD]]) {{.*}} : (!fir.ref, i32) -> i1 print*, i end do !$OMP END SIMD Index: flang/test/Lower/OpenMP/single.f90 =================================================================== --- flang/test/Lower/OpenMP/single.f90 +++ flang/test/Lower/OpenMP/single.f90 @@ -77,7 +77,7 @@ ! CHECK: omp.single { ! CHECK: %[[VAL_4:.*]] = fir.load %[[VAL_1]] : !fir.ref ! CHECK: fir.store %[[VAL_4]] to %[[VAL_3]] : !fir.ref -! CHECK: fir.call @_QPbar(%[[VAL_2]], %[[VAL_3]]) : (!fir.ref, !fir.ref) -> () +! CHECK: fir.call @_QPbar(%[[VAL_2]], %[[VAL_3]]) {{.*}} : (!fir.ref, !fir.ref) -> () ! CHECK: omp.terminator ! CHECK: } ! CHECK: return @@ -101,7 +101,7 @@ ! CHECK: omp.single { ! CHECK: %[[VAL_4:.*]] = fir.load %[[VAL_1]] : !fir.ref ! CHECK: fir.store %[[VAL_4]] to %[[VAL_3]] : !fir.ref -! CHECK: fir.call @_QPbar(%[[VAL_2]], %[[VAL_3]]) : (!fir.ref, !fir.ref) -> () +! CHECK: fir.call @_QPbar(%[[VAL_2]], %[[VAL_3]]) {{.*}} : (!fir.ref, !fir.ref) -> () ! CHECK: omp.terminator ! CHECK: } ! CHECK: omp.terminator Index: flang/test/Lower/OpenMP/task.f90 =================================================================== --- flang/test/Lower/OpenMP/task.f90 +++ flang/test/Lower/OpenMP/task.f90 @@ -4,7 +4,7 @@ subroutine omp_task_simple !CHECK: omp.task { !$omp task - !CHECK: fir.call @_QPfoo() : () -> () + !CHECK: fir.call @_QPfoo() {{.*}} : () -> () call foo() !CHECK: omp.terminator !$omp end task @@ -19,7 +19,7 @@ logical, intent(inout) :: bar !CHECK: omp.task if(%{{.+}}) { !$omp task if(bar) - !CHECK: fir.call @_QPfoo() : () -> () + !CHECK: fir.call @_QPfoo() {{.*}} : () -> () call foo() !CHECK: omp.terminator !$omp end task @@ -34,7 +34,7 @@ logical, intent(inout) :: bar !CHECK: omp.task final(%{{.+}}) { !$omp task final(bar) - !CHECK: fir.call @_QPfoo() : () -> () + !CHECK: fir.call @_QPfoo() {{.*}} : () -> () call foo() !CHECK: omp.terminator !$omp end task @@ -48,7 +48,7 @@ subroutine omp_task_untied() !CHECK: omp.task untied { !$omp task untied - !CHECK: fir.call @_QPfoo() : () -> () + !CHECK: fir.call @_QPfoo() {{.*}} : () -> () call foo() !CHECK: omp.terminator !$omp end task @@ -62,7 +62,7 @@ subroutine omp_task_mergeable() !CHECK: omp.task mergeable { !$omp task mergeable - !CHECK: fir.call @_QPfoo() : () -> () + !CHECK: fir.call @_QPfoo() {{.*}} : () -> () call foo() !CHECK: omp.terminator !$omp end task @@ -77,7 +77,7 @@ integer, intent(inout) :: bar !CHECK: omp.task priority(%{{.+}}) { !$omp task priority(bar) - !CHECK: fir.call @_QPfoo() : () -> () + !CHECK: fir.call @_QPfoo() {{.*}} : () -> () call foo() !CHECK: omp.terminator !$omp end task @@ -113,7 +113,7 @@ integer :: int_var type(mytype) :: mytype_var - !CHECK: fir.call @_QPbar(%[[int_var]], %[[mytype_var]]) : (!fir.ref, !fir.ref>) -> () + !CHECK: fir.call @_QPbar(%[[int_var]], %[[mytype_var]]) {{.*}} : (!fir.ref, !fir.ref>) -> () call bar(int_var, mytype_var) !CHECK: omp.task { @@ -121,7 +121,7 @@ !CHECK: %[[int_var_private:.+]] = fir.alloca i32 !CHECK: %[[mytype_var_private:.+]] = fir.alloca !fir.type<_QFtask_privateTmytype{x:i32}> - !CHECK: fir.call @_QPbar(%[[int_var_private]], %[[mytype_var_private]]) : (!fir.ref, !fir.ref>) -> () + !CHECK: fir.call @_QPbar(%[[int_var_private]], %[[mytype_var_private]]) {{.*}} : (!fir.ref, !fir.ref>) -> () call bar(int_var, mytype_var) !CHECK: omp.terminator !$omp end task @@ -141,7 +141,7 @@ integer :: int_var type(mytype) :: mytype_var - !CHECK: fir.call @_QPbaz(%[[int_var]], %[[mytype_var]]) : (!fir.ref, !fir.ref>) -> () + !CHECK: fir.call @_QPbaz(%[[int_var]], %[[mytype_var]]) {{.*}} : (!fir.ref, !fir.ref>) -> () call baz(int_var, mytype_var) !CHECK: omp.task { @@ -152,7 +152,7 @@ !CHECK: %[[mytype_var_firstprivate:.+]] = fir.alloca !fir.type<_QFtask_firstprivateTmytype{x:i32}> !CHECK: %[[mytype_var_load:.+]] = fir.load %[[mytype_var]] : !fir.ref> !CHECK: fir.store %[[mytype_var_load]] to %[[mytype_var_firstprivate]] - !CHECK: fir.call @_QPbaz(%[[int_var_firstprivate]], %[[mytype_var_firstprivate]]) : (!fir.ref, !fir.ref>) -> () + !CHECK: fir.call @_QPbaz(%[[int_var_firstprivate]], %[[mytype_var_firstprivate]]) {{.*}} : (!fir.ref, !fir.ref>) -> () call baz(int_var, mytype_var) !CHECK: omp.terminator !$omp end task Index: flang/test/Lower/OpenMP/taskgroup.f90 =================================================================== --- flang/test/Lower/OpenMP/taskgroup.f90 +++ flang/test/Lower/OpenMP/taskgroup.f90 @@ -10,7 +10,7 @@ !CHECK: omp.taskgroup allocate(%{{.*}} : i32 -> %0 : !fir.ref) !$omp taskgroup allocate(omp_high_bw_mem_alloc: allocated_x) !$omp task -!CHECK: fir.call @_QPwork() : () -> () +!CHECK: fir.call @_QPwork() {{.*}} : () -> () call work() !CHECK: omp.terminator !$omp end task Index: flang/test/Lower/OpenMP/taskwait.f90 =================================================================== --- flang/test/Lower/OpenMP/taskwait.f90 +++ flang/test/Lower/OpenMP/taskwait.f90 @@ -5,7 +5,7 @@ subroutine omp_taskwait !OMPDialect: omp.taskwait !$omp taskwait - !FIRDialect: fir.call @_QPfoo() : () -> () + !FIRDialect: fir.call @_QPfoo() {{.*}} : () -> () call foo() !OMPDialect: omp.taskwait !$omp taskwait Index: flang/test/Lower/OpenMP/taskyield.f90 =================================================================== --- flang/test/Lower/OpenMP/taskyield.f90 +++ flang/test/Lower/OpenMP/taskyield.f90 @@ -5,7 +5,7 @@ subroutine omp_taskyield !OMPDialect: omp.taskyield !$omp taskyield - !FIRDialect: fir.call @_QPfoo() : () -> () + !FIRDialect: fir.call @_QPfoo() {{.*}} : () -> () call foo() !OMPDialect: omp.taskyield !$omp taskyield Index: flang/test/Lower/OpenMP/threadprivate-use-association-2.f90 =================================================================== --- flang/test/Lower/OpenMP/threadprivate-use-association-2.f90 +++ flang/test/Lower/OpenMP/threadprivate-use-association-2.f90 @@ -13,14 +13,14 @@ ! CHECK-LABEL: func.func @_QMm2Ptest() { ! CHECK: %[[VAL_0:.*]] = fir.address_of(@_QMmEx) : !fir.ref ! CHECK: %[[VAL_1:.*]] = omp.threadprivate %[[VAL_0]] : !fir.ref -> !fir.ref -! CHECK: fir.call @_QPbar(%[[VAL_1]]) : (!fir.ref) -> () +! CHECK: fir.call @_QPbar(%[[VAL_1]]) {{.*}} : (!fir.ref) -> () ! CHECK: return ! CHECK: } ! ! CHECK-LABEL: func.func @_QMm2FtestPinternal_test() { ! CHECK: %[[VAL_0:.*]] = fir.address_of(@_QMmEx) : !fir.ref ! CHECK: %[[VAL_1:.*]] = omp.threadprivate %[[VAL_0]] : !fir.ref -> !fir.ref -! CHECK: fir.call @_QPbar(%[[VAL_1]]) : (!fir.ref) -> () +! CHECK: fir.call @_QPbar(%[[VAL_1]]) {{.*}} : (!fir.ref) -> () ! CHECK: return ! CHECK: } Index: flang/test/Lower/OpenMP/wsloop-reduction-add.f90 =================================================================== --- flang/test/Lower/OpenMP/wsloop-reduction-add.f90 +++ flang/test/Lower/OpenMP/wsloop-reduction-add.f90 @@ -8,7 +8,7 @@ !CHECK: omp.yield(%[[C0_1]] : f64) !CHECK: } combiner { !CHECK: ^bb0(%[[ARG0:.*]]: f64, %[[ARG1:.*]]: f64): -!CHECK: %[[RES:.*]] = arith.addf %[[ARG0]], %[[ARG1]] : f64 +!CHECK: %[[RES:.*]] = arith.addf %[[ARG0]], %[[ARG1]] {{.*}} : f64 !CHECK: omp.yield(%[[RES]] : f64) !CHECK: } @@ -30,7 +30,7 @@ !CHECK: omp.yield(%[[C0_1]] : f32) !CHECK: } combiner { !CHECK: ^bb0(%[[ARG0:.*]]: f32, %[[ARG1:.*]]: f32): -!CHECK: %[[RES:.*]] = arith.addf %[[ARG0]], %[[ARG1]] : f32 +!CHECK: %[[RES:.*]] = arith.addf %[[ARG0]], %[[ARG1]] {{.*}} : f32 !CHECK: omp.yield(%[[RES]] : f32) !CHECK: } Index: flang/test/Lower/OpenMP/wsloop-reduction-mul.f90 =================================================================== --- flang/test/Lower/OpenMP/wsloop-reduction-mul.f90 +++ flang/test/Lower/OpenMP/wsloop-reduction-mul.f90 @@ -8,7 +8,7 @@ !CHECK: omp.yield(%[[C0_1]] : f64) !CHECK: } combiner { !CHECK: ^bb0(%[[ARG0:.*]]: f64, %[[ARG1:.*]]: f64): -!CHECK: %[[RES:.*]] = arith.mulf %[[ARG0]], %[[ARG1]] : f64 +!CHECK: %[[RES:.*]] = arith.mulf %[[ARG0]], %[[ARG1]] {{.*}} : f64 !CHECK: omp.yield(%[[RES]] : f64) !CHECK: } @@ -30,7 +30,7 @@ !CHECK: omp.yield(%[[C0_1]] : f32) !CHECK: } combiner { !CHECK: ^bb0(%[[ARG0:.*]]: f32, %[[ARG1:.*]]: f32): -!CHECK: %[[RES:.*]] = arith.mulf %[[ARG0]], %[[ARG1]] : f32 +!CHECK: %[[RES:.*]] = arith.mulf %[[ARG0]], %[[ARG1]] {{.*}} : f32 !CHECK: omp.yield(%[[RES]] : f32) !CHECK: } Index: flang/test/Lower/allocatable-assignment.f90 =================================================================== --- flang/test/Lower/allocatable-assignment.f90 +++ flang/test/Lower/allocatable-assignment.f90 @@ -116,7 +116,7 @@ ! character assignment ... ! CHECK: %[[VAL_24:.*]] = fir.convert %[[VAL_8]]#1 : (!fir.heap>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_24]], %{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_24]], %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! character assignment ... ! CHECK: fir.if %[[VAL_8]]#0 { @@ -158,7 +158,7 @@ ! character assignment ... ! CHECK: %[[VAL_24:.*]] = fir.convert %[[VAL_9]]#1 : (!fir.heap>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_24]], %{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_24]], %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! character assignment ... ! CHECK: fir.if %[[VAL_9]]#0 { @@ -207,7 +207,7 @@ ! character assignment ... ! CHECK: %[[VAL_24:.*]] = fir.convert %[[VAL_10]]#1 : (!fir.heap>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_24]], %{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_24]], %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! character assignment ... ! CHECK: fir.if %[[VAL_10]]#0 { @@ -570,7 +570,7 @@ end function end interface ! CHECK: %[[VAL_1:.*]] = fir.alloca !fir.box>> {bindc_name = ".result"} -! CHECK: %[[VAL_2:.*]] = fir.call @_QPreturn_pointer() : () -> !fir.box>> +! CHECK: %[[VAL_2:.*]] = fir.call @_QPreturn_pointer() {{.*}} : () -> !fir.box>> ! CHECK: fir.save_result %[[VAL_2]] to %[[VAL_1]] : !fir.box>>, !fir.ref>>> ! CHECK: %[[VAL_3:.*]] = fir.load %[[VAL_1]] : !fir.ref>>> ! CHECK: %[[VAL_4:.*]] = arith.constant 0 : index @@ -678,7 +678,7 @@ ! CHECK: } else { ! CHECK: %[[error_msg_addr:.*]] = fir.address_of(@[[error_message:.*]]) : !fir.ref> ! CHECK: %[[msg_addr_cast:.*]] = fir.convert %[[error_msg_addr]] : (!fir.ref>) -> !fir.ref - ! CHECK: %{{.*}} = fir.call @_FortranAReportFatalUserError(%[[msg_addr_cast]], %{{.*}}, %{{.*}}) : (!fir.ref, !fir.ref, i32) -> none + ! CHECK: %{{.*}} = fir.call @_FortranAReportFatalUserError(%[[msg_addr_cast]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref, !fir.ref, i32) -> none ! CHECK-NOT: allocmem ! CHECK: } x = y @@ -772,7 +772,7 @@ ! CHECK: %[[VAL_38:.*]] = arith.constant false ! CHECK: %[[VAL_39:.*]] = fir.convert %[[VAL_31]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_40:.*]] = fir.convert %[[VAL_30]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_39]], %[[VAL_40]], %[[VAL_37]], %[[VAL_38]]) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_39]], %[[VAL_40]], %[[VAL_37]], %[[VAL_38]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_41:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_42:.*]] = arith.subi %[[VAL_32]], %[[VAL_41]] : index ! CHECK: %[[VAL_43:.*]] = arith.constant 32 : i8 @@ -807,7 +807,7 @@ ! CHECK: %[[VAL_68:.*]] = arith.constant false ! CHECK: %[[VAL_69:.*]] = fir.convert %[[VAL_61]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_70:.*]] = fir.convert %[[VAL_60]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_69]], %[[VAL_70]], %[[VAL_67]], %[[VAL_68]]) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_69]], %[[VAL_70]], %[[VAL_67]], %[[VAL_68]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_71:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_72:.*]] = arith.subi %[[VAL_62]], %[[VAL_71]] : index ! CHECK: %[[VAL_73:.*]] = arith.constant 32 : i8 @@ -846,7 +846,7 @@ ! CHECK: %[[VAL_101:.*]] = arith.constant false ! CHECK: %[[VAL_102:.*]] = fir.convert %[[VAL_94]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_103:.*]] = fir.convert %[[VAL_93]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_102]], %[[VAL_103]], %[[VAL_100]], %[[VAL_101]]) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_102]], %[[VAL_103]], %[[VAL_100]], %[[VAL_101]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_104:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_105:.*]] = arith.subi %[[VAL_95]], %[[VAL_104]] : index ! CHECK: %[[VAL_106:.*]] = arith.constant 32 : i8 @@ -924,7 +924,7 @@ ! CHECK: %[[VAL_43:.*]] = arith.constant false ! CHECK: %[[VAL_44:.*]] = fir.convert %[[VAL_36]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_45:.*]] = fir.convert %[[VAL_35]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_44]], %[[VAL_45]], %[[VAL_42]], %[[VAL_43]]) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_44]], %[[VAL_45]], %[[VAL_42]], %[[VAL_43]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_46:.*]] = arith.constant 1 : i32 ! CHECK: %[[VAL_47:.*]] = arith.subi %[[VAL_9]], %[[VAL_46]] : i32 ! CHECK: %[[VAL_48:.*]] = arith.constant 32 : i8 @@ -960,7 +960,7 @@ ! CHECK: %[[VAL_74:.*]] = arith.constant false ! CHECK: %[[VAL_75:.*]] = fir.convert %[[VAL_67]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_76:.*]] = fir.convert %[[VAL_66]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_75]], %[[VAL_76]], %[[VAL_73]], %[[VAL_74]]) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_75]], %[[VAL_76]], %[[VAL_73]], %[[VAL_74]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_77:.*]] = arith.constant 1 : i32 ! CHECK: %[[VAL_78:.*]] = arith.subi %[[VAL_9]], %[[VAL_77]] : i32 ! CHECK: %[[VAL_79:.*]] = arith.constant 32 : i8 @@ -1001,7 +1001,7 @@ ! CHECK: %[[VAL_109:.*]] = arith.constant false ! CHECK: %[[VAL_110:.*]] = fir.convert %[[VAL_102]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_111:.*]] = fir.convert %[[VAL_101]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_110]], %[[VAL_111]], %[[VAL_108]], %[[VAL_109]]) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_110]], %[[VAL_111]], %[[VAL_108]], %[[VAL_109]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_112:.*]] = arith.constant 1 : i32 ! CHECK: %[[VAL_113:.*]] = arith.subi %[[VAL_9]], %[[VAL_112]] : i32 ! CHECK: %[[VAL_114:.*]] = arith.constant 32 : i8 @@ -1049,7 +1049,7 @@ ! CHECK: %[[VAL_11:.*]] = fir.allocmem !fir.type<_QMalloc_assignFtest_derived_with_initTt{a:!fir.box>>}> {uniq_name = ".auto.alloc"} ! CHECK: %[[VAL_12:.*]] = fir.embox %[[VAL_11]] : (!fir.heap>>}>>) -> !fir.box>>}>>> ! CHECK: %[[VAL_15:.*]] = fir.convert %[[VAL_12]] : (!fir.box>>}>>>) -> !fir.box -! CHECK: fir.call @_FortranAInitialize(%[[VAL_15]], %{{.*}}, %{{.*}}) : (!fir.box, !fir.ref, i32) -> none +! CHECK: fir.call @_FortranAInitialize(%[[VAL_15]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.box, !fir.ref, i32) -> none ! CHECK: fir.result %[[VAL_11]] : !fir.heap>>}>> ! CHECK: } else { ! CHECK: fir.result %{{.*}} : !fir.heap>>}>> @@ -1189,7 +1189,7 @@ ! CHECK: %[[VAL_24:.*]] = fir.do_loop %[[VAL_25:.*]] = %[[VAL_22]] to %[[VAL_23]] step %[[VAL_21]] unordered iter_args(%[[VAL_26:.*]] = %[[VAL_20]]) -> (!fir.array) { ! CHECK: %[[VAL_27:.*]] = arith.addi %[[VAL_25]], %[[VAL_3]]#0 : index ! CHECK: %[[VAL_28:.*]] = fir.array_coor %[[VAL_4]](%[[VAL_5]]) %[[VAL_27]] : (!fir.heap>, !fir.shapeshift<1>, index) -> !fir.ref -! CHECK: %[[VAL_29:.*]] = fir.call @_QPelt(%[[VAL_28]]) : (!fir.ref) -> f32 +! CHECK: %[[VAL_29:.*]] = fir.call @_QPelt(%[[VAL_28]]) {{.*}} : (!fir.ref) -> f32 ! CHECK: %[[VAL_30:.*]] = fir.array_update %[[VAL_26]], %[[VAL_29]], %[[VAL_25]] : (!fir.array, f32, index) -> !fir.array ! CHECK: fir.result %[[VAL_30]] : !fir.array ! CHECK: } @@ -1204,7 +1204,7 @@ ! CHECK: %[[VAL_37:.*]] = fir.do_loop %[[VAL_38:.*]] = %[[VAL_35]] to %[[VAL_36]] step %[[VAL_34]] unordered iter_args(%[[VAL_39:.*]] = %[[VAL_33]]) -> (!fir.array) { ! CHECK: %[[VAL_40:.*]] = arith.addi %[[VAL_38]], %[[VAL_3]]#0 : index ! CHECK: %[[VAL_41:.*]] = fir.array_coor %[[VAL_4]](%[[VAL_5]]) %[[VAL_40]] : (!fir.heap>, !fir.shapeshift<1>, index) -> !fir.ref -! CHECK: %[[VAL_42:.*]] = fir.call @_QPelt(%[[VAL_41]]) : (!fir.ref) -> f32 +! CHECK: %[[VAL_42:.*]] = fir.call @_QPelt(%[[VAL_41]]) {{.*}} : (!fir.ref) -> f32 ! CHECK: %[[VAL_43:.*]] = fir.array_update %[[VAL_39]], %[[VAL_42]], %[[VAL_38]] : (!fir.array, f32, index) -> !fir.array ! CHECK: fir.result %[[VAL_43]] : !fir.array ! CHECK: } @@ -1223,7 +1223,7 @@ ! CHECK: %[[VAL_53:.*]] = fir.do_loop %[[VAL_54:.*]] = %[[VAL_51]] to %[[VAL_52]] step %[[VAL_50]] unordered iter_args(%[[VAL_55:.*]] = %[[VAL_49]]) -> (!fir.array) { ! CHECK: %[[VAL_56:.*]] = arith.addi %[[VAL_54]], %[[VAL_3]]#0 : index ! CHECK: %[[VAL_57:.*]] = fir.array_coor %[[VAL_4]](%[[VAL_5]]) %[[VAL_56]] : (!fir.heap>, !fir.shapeshift<1>, index) -> !fir.ref -! CHECK: %[[VAL_58:.*]] = fir.call @_QPelt(%[[VAL_57]]) : (!fir.ref) -> f32 +! CHECK: %[[VAL_58:.*]] = fir.call @_QPelt(%[[VAL_57]]) {{.*}} : (!fir.ref) -> f32 ! CHECK: %[[VAL_59:.*]] = fir.array_update %[[VAL_55]], %[[VAL_58]], %[[VAL_54]] : (!fir.array, f32, index) -> !fir.array ! CHECK: fir.result %[[VAL_59]] : !fir.array ! CHECK: } Index: flang/test/Lower/allocatable-callee.f90 =================================================================== --- flang/test/Lower/allocatable-callee.f90 +++ flang/test/Lower/allocatable-callee.f90 @@ -36,7 +36,7 @@ ! CHECK-DAG: %[[len:.*]] = fir.box_elesize %[[box]] : (!fir.box>>) -> index ! CHECK-DAG: %[[addr_cast:.*]] = fir.convert %[[addr]] : (!fir.heap>) -> !fir.ref> ! CHECK: %[[boxchar:.*]] = fir.emboxchar %[[addr_cast]], %[[len]] : (!fir.ref>, index) -> !fir.boxchar<1> - ! CHECK: fir.call @_QPfoo1(%[[boxchar]]) : (!fir.boxchar<1>) -> () + ! CHECK: fir.call @_QPfoo1(%[[boxchar]]) {{.*}} : (!fir.boxchar<1>) -> () end subroutine ! CHECK-LABEL: func @_QPtest_char_scalar_explicit_cst( @@ -49,7 +49,7 @@ ! CHECK-DAG: %[[addr:.*]] = fir.box_addr %[[box]] : (!fir.box>>) -> !fir.heap> ! CHECK-DAG: %[[addr_cast:.*]] = fir.convert %[[addr]] : (!fir.heap>) -> !fir.ref> ! CHECK: %[[boxchar:.*]] = fir.emboxchar %[[addr_cast]], %c10{{.*}} : (!fir.ref>, index) -> !fir.boxchar<1> - ! CHECK: fir.call @_QPfoo1(%[[boxchar]]) : (!fir.boxchar<1>) -> () + ! CHECK: fir.call @_QPfoo1(%[[boxchar]]) {{.*}} : (!fir.boxchar<1>) -> () end subroutine ! CHECK-LABEL: func @_QPtest_char_scalar_explicit_dynamic( @@ -71,7 +71,7 @@ ! CHECK-DAG: %[[addr_cast:.*]] = fir.convert %[[addr]] : (!fir.heap>) -> !fir.ref> ! CHECK-DAG: %[[len_cast:.*]] = fir.convert %[[len]] : (i32) -> index ! CHECK: %[[boxchar:.*]] = fir.emboxchar %[[addr_cast]], %[[len_cast]] : (!fir.ref>, index) -> !fir.boxchar<1> - ! CHECK: fir.call @_QPfoo1(%[[boxchar]]) : (!fir.boxchar<1>) -> () + ! CHECK: fir.call @_QPfoo1(%[[boxchar]]) {{.*}} : (!fir.boxchar<1>) -> () end subroutine ! CHECK-LABEL: func @_QPtest_char_array_deferred( @@ -86,7 +86,7 @@ ! CHECK-DAG: %[[len:.*]] = fir.box_elesize %[[box]] : (!fir.box>>>) -> index ! [...] address computation ! CHECK: %[[boxchar:.*]] = fir.emboxchar %{{.*}}, %[[len]] : (!fir.ref>, index) -> !fir.boxchar<1> - ! CHECK: fir.call @_QPfoo1(%[[boxchar]]) : (!fir.boxchar<1>) -> () + ! CHECK: fir.call @_QPfoo1(%[[boxchar]]) {{.*}} : (!fir.boxchar<1>) -> () end subroutine ! CHECK-LABEL: func @_QPtest_char_array_explicit_cst( @@ -99,7 +99,7 @@ ! CHECK-DAG: %[[addr:.*]] = fir.box_addr %[[box]] : (!fir.box>>>) -> !fir.heap>> ! [...] address computation ! CHECK: %[[boxchar:.*]] = fir.emboxchar %{{.*}}, %c10{{.*}} : (!fir.ref>, index) -> !fir.boxchar<1> - ! CHECK: fir.call @_QPfoo1(%[[boxchar]]) : (!fir.boxchar<1>) -> () + ! CHECK: fir.call @_QPfoo1(%[[boxchar]]) {{.*}} : (!fir.boxchar<1>) -> () end subroutine ! CHECK-LABEL: func @_QPtest_char_array_explicit_dynamic( @@ -122,7 +122,7 @@ ! CHECK: fir.coordinate_of ! CHECK-DAG: %[[len_cast:.*]] = fir.convert %[[len]] : (i32) -> index ! CHECK: %[[boxchar:.*]] = fir.emboxchar %{{.*}}, %[[len_cast]] : (!fir.ref>, index) -> !fir.boxchar<1> - ! CHECK: fir.call @_QPfoo1(%[[boxchar]]) : (!fir.boxchar<1>) -> () + ! CHECK: fir.call @_QPfoo1(%[[boxchar]]) {{.*}} : (!fir.boxchar<1>) -> () end subroutine ! Check that when reading allocatable length from descriptor, the width is taking @@ -140,7 +140,7 @@ ! CHECK-DAG: %[[len:.*]] = arith.divsi %[[size]], %c2{{.*}} : index ! CHECK-DAG: %[[addr_cast:.*]] = fir.convert %[[addr]] : (!fir.heap>) -> !fir.ref> ! CHECK: %[[boxchar:.*]] = fir.emboxchar %[[addr_cast]], %[[len]] : (!fir.ref>, index) -> !fir.boxchar<2> - ! CHECK: fir.call @_QPfoo2(%[[boxchar]]) : (!fir.boxchar<2>) -> () + ! CHECK: fir.call @_QPfoo2(%[[boxchar]]) {{.*}} : (!fir.boxchar<2>) -> () end subroutine ! Check that assumed length character allocatables are reading the length from Index: flang/test/Lower/allocatable-caller.f90 =================================================================== --- flang/test/Lower/allocatable-caller.f90 +++ flang/test/Lower/allocatable-caller.f90 @@ -12,7 +12,7 @@ real, allocatable :: x ! CHECK: %[[box:.*]] = fir.alloca !fir.box> {{{.*}}uniq_name = "_QFtest_scalar_callEx"} call test_scalar(x) - ! CHECK: fir.call @_QPtest_scalar(%[[box]]) : (!fir.ref>>) -> () + ! CHECK: fir.call @_QPtest_scalar(%[[box]]) {{.*}} : (!fir.ref>>) -> () end subroutine ! CHECK-LABEL: func @_QPtest_array_call( @@ -25,7 +25,7 @@ integer, allocatable :: x(:) ! CHECK: %[[box:.*]] = fir.alloca !fir.box>> {{{.*}}uniq_name = "_QFtest_array_callEx"} call test_array(x) - ! CHECK: fir.call @_QPtest_array(%[[box]]) : (!fir.ref>>>) -> () + ! CHECK: fir.call @_QPtest_array(%[[box]]) {{.*}} : (!fir.ref>>>) -> () end subroutine ! CHECK-LABEL: func @_QPtest_char_scalar_deferred_call( @@ -38,7 +38,7 @@ character(:), allocatable :: x ! CHECK: %[[box:.*]] = fir.alloca !fir.box>> {{{.*}}uniq_name = "_QFtest_char_scalar_deferred_callEx"} call test_char_scalar_deferred(x) - ! CHECK: fir.call @_QPtest_char_scalar_deferred(%[[box]]) : (!fir.ref>>>) -> () + ! CHECK: fir.call @_QPtest_char_scalar_deferred(%[[box]]) {{.*}} : (!fir.ref>>>) -> () end subroutine ! CHECK-LABEL: func @_QPtest_char_scalar_explicit_call( @@ -54,10 +54,10 @@ ! CHECK-DAG: %[[box:.*]] = fir.alloca !fir.box>> {{{.*}}uniq_name = "_QFtest_char_scalar_explicit_callEx"} ! CHECK-DAG: %[[box2:.*]] = fir.alloca !fir.box>> {{{.*}}uniq_name = "_QFtest_char_scalar_explicit_callEx2"} call test_char_scalar_explicit(x) - ! CHECK: fir.call @_QPtest_char_scalar_explicit(%[[box]]) : (!fir.ref>>>) -> () + ! CHECK: fir.call @_QPtest_char_scalar_explicit(%[[box]]) {{.*}} : (!fir.ref>>>) -> () call test_char_scalar_explicit(x2) ! CHECK: %[[box2cast:.*]] = fir.convert %[[box2]] : (!fir.ref>>>) -> !fir.ref>>> - ! CHECK: fir.call @_QPtest_char_scalar_explicit(%[[box2cast]]) : (!fir.ref>>>) -> () + ! CHECK: fir.call @_QPtest_char_scalar_explicit(%[[box2cast]]) {{.*}} : (!fir.ref>>>) -> () end subroutine ! CHECK-LABEL: func @_QPtest_char_array_deferred_call( @@ -70,7 +70,7 @@ character(:), allocatable :: x(:) ! CHECK: %[[box:.*]] = fir.alloca !fir.box>>> {{{.*}}uniq_name = "_QFtest_char_array_deferred_callEx"} call test_char_array_deferred(x) - ! CHECK: fir.call @_QPtest_char_array_deferred(%[[box]]) : (!fir.ref>>>>) -> () + ! CHECK: fir.call @_QPtest_char_array_deferred(%[[box]]) {{.*}} : (!fir.ref>>>>) -> () end subroutine ! CHECK-LABEL: func @_QPtest_char_array_explicit_call( @@ -86,8 +86,8 @@ ! CHECK-DAG: %[[box:.*]] = fir.alloca !fir.box>>> {{{.*}}uniq_name = "_QFtest_char_array_explicit_callEx"} ! CHECK-DAG: %[[box2:.*]] = fir.alloca !fir.box>>> {{{.*}}uniq_name = "_QFtest_char_array_explicit_callEx2"} call test_char_array_explicit(x) - ! CHECK: fir.call @_QPtest_char_array_explicit(%[[box]]) : (!fir.ref>>>>) -> () + ! CHECK: fir.call @_QPtest_char_array_explicit(%[[box]]) {{.*}} : (!fir.ref>>>>) -> () call test_char_array_explicit(x2) ! CHECK: %[[box2cast:.*]] = fir.convert %[[box2]] : (!fir.ref>>>>) -> !fir.ref>>>> - ! CHECK: fir.call @_QPtest_char_array_explicit(%[[box2cast]]) : (!fir.ref>>>>) -> () + ! CHECK: fir.call @_QPtest_char_array_explicit(%[[box2cast]]) {{.*}} : (!fir.ref>>>>) -> () end subroutine Index: flang/test/Lower/allocatable-polymorphic.f90 =================================================================== --- flang/test/Lower/allocatable-polymorphic.f90 +++ flang/test/Lower/allocatable-polymorphic.f90 @@ -98,9 +98,9 @@ ! CHECK: %[[TYPE_DESC_P1_CAST:.*]] = fir.convert %[[TYPE_DESC_P1]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[RANK:.*]] = arith.constant 0 : i32 ! CHECK: %[[CORANK:.*]] = arith.constant 0 : i32 -! CHECK: %{{.*}} = fir.call @_FortranAPointerNullifyDerived(%[[P_DESC_CAST]], %[[TYPE_DESC_P1_CAST]], %[[RANK]], %[[CORANK]]) : (!fir.ref>, !fir.ref, i32, i32) -> none +! CHECK: %{{.*}} = fir.call @_FortranAPointerNullifyDerived(%[[P_DESC_CAST]], %[[TYPE_DESC_P1_CAST]], %[[RANK]], %[[CORANK]]) {{.*}} : (!fir.ref>, !fir.ref, i32, i32) -> none ! CHECK: %[[P_DESC_CAST:.*]] = fir.convert %[[P_DESC]] : (!fir.ref>>>) -> !fir.ref> -! CHECK: %{{.*}} = fir.call @_FortranAPointerAllocate(%[[P_DESC_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 +! CHECK: %{{.*}} = fir.call @_FortranAPointerAllocate(%[[P_DESC_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 ! call p%proc1() ! CHECK: %[[P_CAST:.*]] = fir.convert %[[P_DESC:.*]] : (!fir.ref>>>) -> !fir.class>> @@ -111,18 +111,18 @@ ! CHECK: %[[TYPE_DESC_P1_CAST:.*]] = fir.convert %[[TYPE_DESC_P1]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[RANK:.*]] = arith.constant 0 : i32 ! CHECK: %[[CORANK:.*]] = arith.constant 0 : i32 -! CHECK: %{{.*}} = fir.call @_FortranAPointerNullifyDerived(%[[C1_DESC_CAST]], %[[TYPE_DESC_P1_CAST]], %[[RANK]], %[[CORANK]]) : (!fir.ref>, !fir.ref, i32, i32) -> none +! CHECK: %{{.*}} = fir.call @_FortranAPointerNullifyDerived(%[[C1_DESC_CAST]], %[[TYPE_DESC_P1_CAST]], %[[RANK]], %[[CORANK]]) {{.*}} : (!fir.ref>, !fir.ref, i32, i32) -> none ! CHECK: %[[C1_DESC_CAST:.*]] = fir.convert %[[C1_DESC]] : (!fir.ref>>>) -> !fir.ref> -! CHECK: %{{.*}} = fir.call @_FortranAPointerAllocate(%[[C1_DESC_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 +! CHECK: %{{.*}} = fir.call @_FortranAPointerAllocate(%[[C1_DESC_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 ! CHECK: %[[TYPE_DESC_P2:.*]] = fir.address_of(@_QMpolyE.dt.p2) : !fir.ref> ! CHECK: %[[C2_DESC_CAST:.*]] = fir.convert %[[C2_DESC]] : (!fir.ref>>>) -> !fir.ref> ! CHECK: %[[TYPE_DESC_P2_CAST:.*]] = fir.convert %[[TYPE_DESC_P2]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[RANK:.*]] = arith.constant 0 : i32 ! CHECK: %[[CORANK:.*]] = arith.constant 0 : i32 -! CHECK: %{{.*}} = fir.call @_FortranAPointerNullifyDerived(%[[C2_DESC_CAST]], %[[TYPE_DESC_P2_CAST]], %[[RANK]], %[[CORANK]]) : (!fir.ref>, !fir.ref, i32, i32) -> none +! CHECK: %{{.*}} = fir.call @_FortranAPointerNullifyDerived(%[[C2_DESC_CAST]], %[[TYPE_DESC_P2_CAST]], %[[RANK]], %[[CORANK]]) {{.*}} : (!fir.ref>, !fir.ref, i32, i32) -> none ! CHECK: %[[C2_DESC_CAST:.*]] = fir.convert %[[C2_DESC]] : (!fir.ref>>>) -> !fir.ref> -! CHECK: %{{.*}} = fir.call @_FortranAPointerAllocate(%[[C2_DESC_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 +! CHECK: %{{.*}} = fir.call @_FortranAPointerAllocate(%[[C2_DESC_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 ! call c1%proc1() ! CHECK: %[[C1_DESC_CAST:.*]] = fir.convert %[[C1_DESC]] : (!fir.ref>>>) -> !fir.class>> @@ -147,22 +147,22 @@ ! CHECK: %[[TYPE_DESC_P1_CAST:.*]] = fir.convert %[[TYPE_DESC_P1]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[RANK:.*]] = arith.constant 1 : i32 ! CHECK: %[[CORANK:.*]] = arith.constant 0 : i32 -! CHECK: %{{.*}} = fir.call @_FortranAPointerNullifyDerived(%[[C3_CAST]], %[[TYPE_DESC_P1_CAST]], %[[RANK]], %[[CORANK]]) : (!fir.ref>, !fir.ref, i32, i32) -> none +! CHECK: %{{.*}} = fir.call @_FortranAPointerNullifyDerived(%[[C3_CAST]], %[[TYPE_DESC_P1_CAST]], %[[RANK]], %[[CORANK]]) {{.*}} : (!fir.ref>, !fir.ref, i32, i32) -> none ! CHECK: %[[C3_CAST:.*]] = fir.convert %[[C3_DESC]] : (!fir.ref>>>>) -> !fir.ref> -! CHECK: %{{.*}} = fir.call @_FortranAPointerSetBounds(%[[C3_CAST]], %{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref>, i32, i64, i64) -> none +! CHECK: %{{.*}} = fir.call @_FortranAPointerSetBounds(%[[C3_CAST]], %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, i32, i64, i64) -> none ! CHECK: %[[C3_CAST:.*]] = fir.convert %[[C3_DESC]] : (!fir.ref>>>>) -> !fir.ref> -! CHECK: %{{.*}} = fir.call @_FortranAPointerAllocate(%[[C3_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 +! CHECK: %{{.*}} = fir.call @_FortranAPointerAllocate(%[[C3_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 ! CHECK: %[[TYPE_DESC_P2:.*]] = fir.address_of(@_QMpolyE.dt.p2) : !fir.ref> ! CHECK: %[[C4_CAST:.*]] = fir.convert %[[C4_DESC]] : (!fir.ref>>>>) -> !fir.ref> ! CHECK: %[[TYPE_DESC_P2_CAST:.*]] = fir.convert %[[TYPE_DESC_P2]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[RANK:.*]] = arith.constant 1 : i32 ! CHECK: %[[CORANK:.*]] = arith.constant 0 : i32 -! CHECK: %{{.*}} = fir.call @_FortranAPointerNullifyDerived(%[[C4_CAST]], %[[TYPE_DESC_P2_CAST]], %[[RANK]], %[[CORANK]]) : (!fir.ref>, !fir.ref, i32, i32) -> none +! CHECK: %{{.*}} = fir.call @_FortranAPointerNullifyDerived(%[[C4_CAST]], %[[TYPE_DESC_P2_CAST]], %[[RANK]], %[[CORANK]]) {{.*}} : (!fir.ref>, !fir.ref, i32, i32) -> none ! CHECK: %[[C4_CAST:.*]] = fir.convert %[[C4_DESC]] : (!fir.ref>>>>) -> !fir.ref> -! CHECK: %{{.*}} = fir.call @_FortranAPointerSetBounds(%[[C4_CAST]], %{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref>, i32, i64, i64) -> none +! CHECK: %{{.*}} = fir.call @_FortranAPointerSetBounds(%[[C4_CAST]], %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, i32, i64, i64) -> none ! CHECK: %[[C4_CAST:.*]] = fir.convert %[[C4_DESC]] : (!fir.ref>>>>) -> !fir.ref> -! CHECK: %{{.*}} = fir.call @_FortranAPointerAllocate(%[[C4_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 +! CHECK: %{{.*}} = fir.call @_FortranAPointerAllocate(%[[C4_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 ! CHECK-LABEL: fir.do_loop ! CHECK: %[[C3_LOAD:.*]] = fir.load %[[C3_DESC]] : !fir.ref>>>> @@ -179,19 +179,19 @@ ! CHECK: fir.dispatch "proc2"(%[[C4_BOXED]] : !fir.class>) (%[[C4_BOXED]] : !fir.class>) {pass_arg_pos = 0 : i32} ! CHECK: %[[P_CAST:.*]] = fir.convert %[[P_DESC]] : (!fir.ref>>>) -> !fir.ref> -! CHECK: %{{.*}} = fir.call @_FortranAPointerDeallocate(%[[P_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 +! CHECK: %{{.*}} = fir.call @_FortranAPointerDeallocate(%[[P_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 ! CHECK: %[[C1_DESC_CAST:.*]] = fir.convert %[[C1_DESC]] : (!fir.ref>>>) -> !fir.ref> -! CHECK: %{{.*}} = fir.call @_FortranAPointerDeallocate(%[[C1_DESC_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 +! CHECK: %{{.*}} = fir.call @_FortranAPointerDeallocate(%[[C1_DESC_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 ! CHECK: %[[C2_DESC_CAST:.*]] = fir.convert %[[C2_DESC]] : (!fir.ref>>>) -> !fir.ref> -! CHECK: %{{.*}} = fir.call @_FortranAPointerDeallocate(%[[C2_DESC_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 +! CHECK: %{{.*}} = fir.call @_FortranAPointerDeallocate(%[[C2_DESC_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 ! CHECK: %[[C3_DESC_CAST:.*]] = fir.convert %[[C3_DESC]] : (!fir.ref>>>>) -> !fir.ref> -! CHECK: %{{.*}} = fir.call @_FortranAPointerDeallocate(%[[C3_DESC_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 +! CHECK: %{{.*}} = fir.call @_FortranAPointerDeallocate(%[[C3_DESC_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 ! CHECK: %[[C4_DESC_CAST:.*]] = fir.convert %[[C4_DESC]] : (!fir.ref>>>>) -> !fir.ref> -! CHECK: %{{.*}} = fir.call @_FortranAPointerDeallocate(%[[C4_DESC_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 +! CHECK: %{{.*}} = fir.call @_FortranAPointerDeallocate(%[[C4_DESC_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 ! ------------------------------------------------------------------------------ ! Test lowering of ALLOCATE statement for polymoprhic allocatable @@ -249,58 +249,58 @@ ! CHECK: %[[TYPE_DESC_P1_CAST:.*]] = fir.convert %[[TYPE_DESC_P1]] : (!fir.ref>, !fir.ref, i32, i32) -> none +! CHECK: fir.call @_FortranAAllocatableInitDerived(%[[P_CAST]], %[[TYPE_DESC_P1_CAST]], %[[RANK]], %[[C0]]) {{.*}} : (!fir.ref>, !fir.ref, i32, i32) -> none ! CHECK: %[[P_CAST:.*]] = fir.convert %[[P]] : (!fir.ref>>>) -> !fir.ref> -! CHECK: %{{.*}} = fir.call @_FortranAAllocatableAllocate(%[[P_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 +! CHECK: %{{.*}} = fir.call @_FortranAAllocatableAllocate(%[[P_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 ! CHECK: %[[TYPE_DESC_P1:.*]] = fir.address_of(@_QMpolyE.dt.p1) : !fir.ref>>>) -> !fir.ref> ! CHECK: %[[TYPE_DESC_P1_CAST:.*]] = fir.convert %[[TYPE_DESC_P1]] : (!fir.ref>, !fir.ref, i32, i32) -> none +! CHECK: fir.call @_FortranAAllocatableInitDerived(%[[C1_CAST]], %[[TYPE_DESC_P1_CAST]], %[[RANK]], %[[C0]]) {{.*}} : (!fir.ref>, !fir.ref, i32, i32) -> none ! CHECK: %[[C1_CAST:.*]] = fir.convert %[[C1]] : (!fir.ref>>>) -> !fir.ref> -! CHECK: %{{.*}} = fir.call @_FortranAAllocatableAllocate(%[[C1_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 +! CHECK: %{{.*}} = fir.call @_FortranAAllocatableAllocate(%[[C1_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 ! CHECK: %[[TYPE_DESC_P2:.*]] = fir.address_of(@_QMpolyE.dt.p2) : !fir.ref>>>) -> !fir.ref> ! CHECK: %[[TYPE_DESC_P2_CAST:.*]] = fir.convert %[[TYPE_DESC_P2]] : (!fir.ref>, !fir.ref, i32, i32) -> none +! CHECK: fir.call @_FortranAAllocatableInitDerived(%[[C2_CAST]], %[[TYPE_DESC_P2_CAST]], %[[RANK]], %[[C0]]) {{.*}} : (!fir.ref>, !fir.ref, i32, i32) -> none ! CHECK: %[[C2_CAST:.*]] = fir.convert %[[C2]] : (!fir.ref>>>) -> !fir.ref> -! CHECK: %{{.*}} = fir.call @_FortranAAllocatableAllocate(%[[C2_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 +! CHECK: %{{.*}} = fir.call @_FortranAAllocatableAllocate(%[[C2_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 ! CHECK: %[[TYPE_DESC_P1:.*]] = fir.address_of(@_QMpolyE.dt.p1) : !fir.ref>>>>) -> !fir.ref> ! CHECK: %[[TYPE_DESC_P1_CAST:.*]] = fir.convert %[[TYPE_DESC_P1]] : (!fir.ref>, !fir.ref, i32, i32) -> none +! CHECK: fir.call @_FortranAAllocatableInitDerived(%[[C3_CAST]], %[[TYPE_DESC_P1_CAST]], %[[RANK]], %[[C0]]) {{.*}} : (!fir.ref>, !fir.ref, i32, i32) -> none ! CHECK: %[[C10:.*]] = arith.constant 10 : i32 ! CHECK: %[[C0:.*]] = arith.constant 0 : i32 ! CHECK: %[[C3_CAST:.*]] = fir.convert %[[C3]] : (!fir.ref>>>>) -> !fir.ref> ! CHECK: %[[C1_I64:.*]] = fir.convert %c1 : (index) -> i64 ! CHECK: %[[C10_I64:.*]] = fir.convert %[[C10]] : (i32) -> i64 -! CHECK: %{{.*}} = fir.call @_FortranAAllocatableSetBounds(%[[C3_CAST]], %[[C0]], %[[C1_I64]], %[[C10_I64]]) : (!fir.ref>, i32, i64, i64) -> none +! CHECK: %{{.*}} = fir.call @_FortranAAllocatableSetBounds(%[[C3_CAST]], %[[C0]], %[[C1_I64]], %[[C10_I64]]) {{.*}} : (!fir.ref>, i32, i64, i64) -> none ! CHECK: %[[C3_CAST:.*]] = fir.convert %[[C3]] : (!fir.ref>>>>) -> !fir.ref> -! CHECK: %{{.*}} = fir.call @_FortranAAllocatableAllocate(%[[C3_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 +! CHECK: %{{.*}} = fir.call @_FortranAAllocatableAllocate(%[[C3_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 ! CHECK: %[[TYPE_DESC_P2:.*]] = fir.address_of(@_QMpolyE.dt.p2) : !fir.ref>>>>) -> !fir.ref> ! CHECK: %[[TYPE_DESC_P2_CAST:.*]] = fir.convert %[[TYPE_DESC_P2]] : (!fir.ref>, !fir.ref, i32, i32) -> none +! CHECK: fir.call @_FortranAAllocatableInitDerived(%[[C4_CAST]], %[[TYPE_DESC_P2_CAST]], %[[RANK]], %[[C0]]) {{.*}} : (!fir.ref>, !fir.ref, i32, i32) -> none ! CHECK: %[[CST1:.*]] = arith.constant 1 : index ! CHECK: %[[C20:.*]] = arith.constant 20 : i32 ! CHECK: %[[C0:.*]] = arith.constant 0 : i32 ! CHECK: %[[C4_CAST:.*]] = fir.convert %[[C4]] : (!fir.ref>>>>) -> !fir.ref> ! CHECK: %[[C1_I64:.*]] = fir.convert %[[CST1]] : (index) -> i64 ! CHECK: %[[C20_I64:.*]] = fir.convert %[[C20]] : (i32) -> i64 -! CHECK: %{{.*}} = fir.call @_FortranAAllocatableSetBounds(%[[C4_CAST]], %[[C0]], %[[C1_I64]], %[[C20_I64]]) : (!fir.ref>, i32, i64, i64) -> none +! CHECK: %{{.*}} = fir.call @_FortranAAllocatableSetBounds(%[[C4_CAST]], %[[C0]], %[[C1_I64]], %[[C20_I64]]) {{.*}} : (!fir.ref>, i32, i64, i64) -> none ! CHECK: %[[C4_CAST:.*]] = fir.convert %[[C4]] : (!fir.ref>>>>) -> !fir.ref> -! CHECK: %{{.*}} = fir.call @_FortranAAllocatableAllocate(%[[C4_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 +! CHECK: %{{.*}} = fir.call @_FortranAAllocatableAllocate(%[[C4_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 ! CHECK: %[[C1_CAST:.*]] = fir.convert %[[C1_DESC]] : (!fir.ref>>>) -> !fir.class>> ! CHECK: fir.dispatch "proc1"(%[[C1_CAST]] : !fir.class>>) @@ -331,19 +331,19 @@ ! CHECK: fir.dispatch "proc2"(%[[C4_EMBOX]] : !fir.class>) (%[[C4_EMBOX]] : !fir.class>) {pass_arg_pos = 0 : i32} ! CHECK: %[[P_CAST:.*]] = fir.convert %[[P]] : (!fir.ref>>>) -> !fir.ref> -! CHECK: %{{.*}} = fir.call @_FortranAAllocatableDeallocate(%[[P_CAST]], %{{.*}}, %{{.*}}, %1{{.*}}, %{{.*}}) : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 +! CHECK: %{{.*}} = fir.call @_FortranAAllocatableDeallocate(%[[P_CAST]], %{{.*}}, %{{.*}}, %1{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 ! CHECK: %[[C1_CAST:.*]] = fir.convert %[[C1]] : (!fir.ref>>>) -> !fir.ref> -! CHECK: %{{.*}} = fir.call @_FortranAAllocatableDeallocate(%[[C1_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 +! CHECK: %{{.*}} = fir.call @_FortranAAllocatableDeallocate(%[[C1_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 ! CHECK: %[[C2_CAST:.*]] = fir.convert %[[C2]] : (!fir.ref>>>) -> !fir.ref> -! CHECK: %{{.*}} = fir.call @_FortranAAllocatableDeallocate(%[[C2_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 +! CHECK: %{{.*}} = fir.call @_FortranAAllocatableDeallocate(%[[C2_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 ! CHECK: %[[C3_CAST:.*]] = fir.convert %[[C3]] : (!fir.ref>>>>) -> !fir.ref> -! CHECK: %{{.*}} = fir.call @_FortranAAllocatableDeallocate(%[[C3_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 +! CHECK: %{{.*}} = fir.call @_FortranAAllocatableDeallocate(%[[C3_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 ! CHECK: %[[C4_CAST:.*]] = fir.convert %[[C4]] : (!fir.ref>>>>) -> !fir.ref> -! CHECK: %{{.*}} = fir.call @_FortranAAllocatableDeallocate(%[[C4_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 +! CHECK: %{{.*}} = fir.call @_FortranAAllocatableDeallocate(%[[C4_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 ! Test code generation of deallocate subroutine test_deallocate() @@ -373,9 +373,9 @@ ! CHECK: %[[TYPE_DESC_P1_CAST:.*]] = fir.convert %[[TYPE_DESC_P1]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[RANK:.*]] = arith.constant 0 : i32 ! CHECK: %[[CORANK:.*]] = arith.constant 0 : i32 -! CHECK: %{{.*}} = fir.call @_FortranAPointerNullifyDerived(%[[ELEMENT_DESC_CAST]], %[[TYPE_DESC_P1_CAST]], %[[RANK]], %[[CORANK]]) : (!fir.ref>, !fir.ref, i32, i32) -> none +! CHECK: %{{.*}} = fir.call @_FortranAPointerNullifyDerived(%[[ELEMENT_DESC_CAST]], %[[TYPE_DESC_P1_CAST]], %[[RANK]], %[[CORANK]]) {{.*}} : (!fir.ref>, !fir.ref, i32, i32) -> none ! CHECK: %[[ELEMENT_DESC_CAST:.*]] = fir.convert %[[ELEMENT_DESC]] : (!fir.ref>>>) -> !fir.ref> -! CHECK: %{{.*}} = fir.call @_FortranAPointerAllocate(%[[ELEMENT_DESC_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 +! CHECK: %{{.*}} = fir.call @_FortranAPointerAllocate(%[[ELEMENT_DESC_CAST]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 program test_alloc use poly Index: flang/test/Lower/allocatable-runtime.f90 =================================================================== --- flang/test/Lower/allocatable-runtime.f90 +++ flang/test/Lower/allocatable-runtime.f90 @@ -28,10 +28,10 @@ ! CHECK-DAG: %[[xBoxCast2:.*]] = fir.convert %[[xBoxAddr]] : (!fir.ref>>>) -> !fir.ref> ! CHECK-DAG: %[[xlbCast:.*]] = fir.convert %[[xlb]] : (i32) -> i64 ! CHECK-DAG: %[[xubCast:.*]] = fir.convert %[[xub]] : (i32) -> i64 - ! CHECK: fir.call @{{.*}}AllocatableSetBounds(%[[xBoxCast2]], %c0{{.*}}, %[[xlbCast]], %[[xubCast]]) : (!fir.ref>, i32, i64, i64) -> none + ! CHECK: fir.call @{{.*}}AllocatableSetBounds(%[[xBoxCast2]], %c0{{.*}}, %[[xlbCast]], %[[xubCast]]) {{.*}} : (!fir.ref>, i32, i64, i64) -> none ! CHECK-DAG: %[[xBoxCast3:.*]] = fir.convert %[[xBoxAddr]] : (!fir.ref>>>) -> !fir.ref> ! CHECK-DAG: %[[sourceFile:.*]] = fir.convert %{{.*}} -> !fir.ref - ! CHECK: fir.call @{{.*}}AllocatableAllocate(%[[xBoxCast3]], %false{{.*}}, %[[errMsg]], %[[sourceFile]], %{{.*}}) : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 + ! CHECK: fir.call @{{.*}}AllocatableAllocate(%[[xBoxCast3]], %false{{.*}}, %[[errMsg]], %[[sourceFile]], %{{.*}}) {{.*}} : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 ! Simply check that we are emitting the right numebr of set bound for y and z. Otherwise, this is just like x. ! CHECK: fir.convert %[[yBoxAddr]] : (!fir.ref>>>) -> !fir.ref> Index: flang/test/Lower/array-character.f90 =================================================================== --- flang/test/Lower/array-character.f90 +++ flang/test/Lower/array-character.f90 @@ -27,7 +27,7 @@ ! CHECK: %[[VAL_21:.*]] = fir.convert %[[VAL_20]] : (index) -> i64 ! CHECK: %[[VAL_22:.*]] = fir.convert %[[VAL_18]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_23:.*]] = fir.convert %[[VAL_17]] : (!fir.ref>) -> !fir.ref - ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_22]], %[[VAL_23]], %[[VAL_21]], %[[VAL_2]]) : (!fir.ref, !fir.ref, i64, i1) -> () + ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_22]], %[[VAL_23]], %[[VAL_21]], %[[VAL_2]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_24:.*]] = fir.undefined !fir.char<1> ! CHECK: %[[VAL_25:.*]] = fir.insert_value %[[VAL_24]], %[[VAL_3]], [0 : index] : (!fir.char<1>, i8) -> !fir.char<1> ! CHECK: %[[VAL_26:.*]] = arith.subi %[[VAL_5]], %[[VAL_20]] : index @@ -62,23 +62,23 @@ ! CHECK: %[[VAL_6:.*]] = fir.address_of(@_QFEc2) : !fir.ref>> ! CHECK: %[[VAL_7:.*]] = fir.address_of(@_QQcl.{{.*}}) : !fir.ref>) -> !fir.ref - ! CHECK: %[[VAL_9:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_2]], %[[VAL_8]], %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref + ! CHECK: %[[VAL_9:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_2]], %[[VAL_8]], %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_10:.*]] = fir.shape %[[VAL_1]] : (index) -> !fir.shape<1> ! CHECK: %[[VAL_11:.*]] = fir.embox %[[VAL_6]](%[[VAL_10]]) : (!fir.ref>>, !fir.shape<1>) -> !fir.box>> ! CHECK: %[[VAL_12:.*]] = fir.convert %[[VAL_11]] : (!fir.box>>) -> !fir.box - ! CHECK: %[[VAL_13:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_9]], %[[VAL_12]]) : (!fir.ref, !fir.box) -> i1 - ! CHECK: %[[VAL_14:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_9]]) : (!fir.ref) -> i32 + ! CHECK: %[[VAL_13:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_9]], %[[VAL_12]]) {{.*}} : (!fir.ref, !fir.box) -> i1 + ! CHECK: %[[VAL_14:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_9]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: %[[VAL_15:.*]] = fir.convert %[[VAL_5]] : (!fir.ref>>) -> !fir.ref> ! CHECK: %[[VAL_16:.*]] = fir.emboxchar %[[VAL_15]], %[[VAL_0]] : (!fir.ref>, index) -> !fir.boxchar<1> ! CHECK: %[[VAL_17:.*]] = fir.convert %[[VAL_6]] : (!fir.ref>>) -> !fir.ref> ! CHECK: %[[VAL_18:.*]] = fir.emboxchar %[[VAL_17]], %[[VAL_0]] : (!fir.ref>, index) -> !fir.boxchar<1> - ! CHECK: fir.call @_QPissue(%[[VAL_16]], %[[VAL_18]]) : (!fir.boxchar<1>, !fir.boxchar<1>) -> () - ! CHECK: %[[VAL_19:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_2]], %[[VAL_8]], %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref + ! CHECK: fir.call @_QPissue(%[[VAL_16]], %[[VAL_18]]) {{.*}} : (!fir.boxchar<1>, !fir.boxchar<1>) -> () + ! CHECK: %[[VAL_19:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_2]], %[[VAL_8]], %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_20:.*]] = fir.embox %[[VAL_5]](%[[VAL_10]]) : (!fir.ref>>, !fir.shape<1>) -> !fir.box>> ! CHECK: %[[VAL_21:.*]] = fir.convert %[[VAL_20]] : (!fir.box>>) -> !fir.box - ! CHECK: %[[VAL_22:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_19]], %[[VAL_21]]) : (!fir.ref, !fir.box) -> i1 - ! CHECK: %[[VAL_23:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_19]]) : (!fir.ref) -> i32 - ! CHECK: fir.call @_QPcharlit() : () -> () + ! CHECK: %[[VAL_22:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_19]], %[[VAL_21]]) {{.*}} : (!fir.ref, !fir.box) -> i1 + ! CHECK: %[[VAL_23:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_19]]) {{.*}} : (!fir.ref) -> i32 + ! CHECK: fir.call @_QPcharlit() {{.*}} : () -> () character(4) :: c1(3) character(4) :: c2(3) = ["abcd", " ", " "] print *, c2 @@ -99,7 +99,7 @@ ! CHECK-DAG: %[[VAL_7:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_8:.*]] = fir.address_of(@_QQcl.{{.*}}) : !fir.ref>) -> !fir.ref - ! CHECK: %[[VAL_10:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_0]], %[[VAL_9]], %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref + ! CHECK: %[[VAL_10:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_0]], %[[VAL_9]], %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_11:.*]] = fir.address_of(@_QQro.4x3xc1.1636b396a657de68ffb870a885ac44b4) : !fir.ref>> ! CHECK: %[[VAL_12:.*]] = fir.shape %[[VAL_5]] : (index) -> !fir.shape<1> ! CHECK: %[[VAL_13:.*]] = fir.allocmem !fir.array<4x!fir.char<1,3>> @@ -114,16 +114,16 @@ ! CHECK: %[[VAL_20:.*]] = fir.convert %[[VAL_3]] : (index) -> i64 ! CHECK: %[[VAL_21:.*]] = fir.convert %[[VAL_19]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_22:.*]] = fir.convert %[[VAL_18]] : (!fir.ref>) -> !fir.ref - ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_21]], %[[VAL_22]], %[[VAL_20]], %[[VAL_4]]) : (!fir.ref, !fir.ref, i64, i1) -> () + ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_21]], %[[VAL_22]], %[[VAL_20]], %[[VAL_4]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_23:.*]] = arith.subi %[[VAL_15]], %[[VAL_7]] : index ! CHECK: cf.br ^bb1(%[[VAL_17]], %[[VAL_23]] : index, index) ! CHECK: ^bb3: ! CHECK: %[[VAL_24:.*]] = fir.embox %[[VAL_13]](%[[VAL_12]]) : (!fir.heap>>, !fir.shape<1>) -> !fir.box>> ! CHECK: %[[VAL_25:.*]] = fir.convert %[[VAL_24]] : (!fir.box>>) -> !fir.box - ! CHECK: %[[VAL_26:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_10]], %[[VAL_25]]) : (!fir.ref, !fir.box) -> i1 + ! CHECK: %[[VAL_26:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_10]], %[[VAL_25]]) {{.*}} : (!fir.ref, !fir.box) -> i1 ! CHECK: fir.freemem %[[VAL_13]] - ! CHECK: %[[VAL_27:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_10]]) : (!fir.ref) -> i32 - ! CHECK: %[[VAL_28:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_0]], %[[VAL_9]], %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref + ! CHECK: %[[VAL_27:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_10]]) {{.*}} : (!fir.ref) -> i32 + ! CHECK: %[[VAL_28:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_0]], %[[VAL_9]], %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_29:.*]] = fir.allocmem !fir.array<4x!fir.char<1,3>> ! CHECK: br ^bb4(%[[VAL_6]], %[[VAL_5]] : index, index) ! CHECK: ^bb4(%[[VAL_30:.*]]: index, %[[VAL_31:.*]]: index): @@ -136,16 +136,16 @@ ! CHECK: %[[VAL_36:.*]] = fir.convert %[[VAL_3]] : (index) -> i64 ! CHECK: %[[VAL_37:.*]] = fir.convert %[[VAL_35]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_38:.*]] = fir.convert %[[VAL_34]] : (!fir.ref>) -> !fir.ref - ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_37]], %[[VAL_38]], %[[VAL_36]], %[[VAL_4]]) : (!fir.ref, !fir.ref, i64, i1) -> () + ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_37]], %[[VAL_38]], %[[VAL_36]], %[[VAL_4]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_39:.*]] = arith.subi %[[VAL_31]], %[[VAL_7]] : index ! CHECK: br ^bb4(%[[VAL_33]], %[[VAL_39]] : index, index) ! CHECK: ^bb6: ! CHECK: %[[VAL_40:.*]] = fir.embox %[[VAL_29]](%[[VAL_12]]) : (!fir.heap>>, !fir.shape<1>) -> !fir.box>> ! CHECK: %[[VAL_41:.*]] = fir.convert %[[VAL_40]] : (!fir.box>>) -> !fir.box - ! CHECK: %[[VAL_42:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_28]], %[[VAL_41]]) : (!fir.ref, !fir.box) -> i1 + ! CHECK: %[[VAL_42:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_28]], %[[VAL_41]]) {{.*}} : (!fir.ref, !fir.box) -> i1 ! CHECK: fir.freemem %[[VAL_29]] : !fir.heap>> - ! CHECK: %[[VAL_43:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_28]]) : (!fir.ref) -> i32 - ! CHECK: %[[VAL_44:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_0]], %[[VAL_9]], %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref + ! CHECK: %[[VAL_43:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_28]]) {{.*}} : (!fir.ref) -> i32 + ! CHECK: %[[VAL_44:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_0]], %[[VAL_9]], %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_45:.*]] = fir.allocmem !fir.array<4x!fir.char<1,3>> ! CHECK: br ^bb7(%[[VAL_6]], %[[VAL_5]] : index, index) ! CHECK: ^bb7(%[[VAL_46:.*]]: index, %[[VAL_47:.*]]: index): @@ -158,15 +158,15 @@ ! CHECK: %[[VAL_52:.*]] = fir.convert %[[VAL_3]] : (index) -> i64 ! CHECK: %[[VAL_53:.*]] = fir.convert %[[VAL_51]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_54:.*]] = fir.convert %[[VAL_50]] : (!fir.ref>) -> !fir.ref - ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_53]], %[[VAL_54]], %[[VAL_52]], %[[VAL_4]]) : (!fir.ref, !fir.ref, i64, i1) -> () + ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_53]], %[[VAL_54]], %[[VAL_52]], %[[VAL_4]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_55:.*]] = arith.subi %[[VAL_47]], %[[VAL_7]] : index ! CHECK: br ^bb7(%[[VAL_49]], %[[VAL_55]] : index, index) ! CHECK: ^bb9: ! CHECK: %[[VAL_56:.*]] = fir.embox %[[VAL_45]](%[[VAL_12]]) : (!fir.heap>>, !fir.shape<1>) -> !fir.box>> ! CHECK: %[[VAL_57:.*]] = fir.convert %[[VAL_56]] : (!fir.box>>) -> !fir.box - ! CHECK: %[[VAL_58:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_44]], %[[VAL_57]]) : (!fir.ref, !fir.box) -> i1 + ! CHECK: %[[VAL_58:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_44]], %[[VAL_57]]) {{.*}} : (!fir.ref, !fir.box) -> i1 ! CHECK: fir.freemem %[[VAL_45]] : !fir.heap>> - ! CHECK: %[[VAL_59:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_44]]) : (!fir.ref) -> i32 + ! CHECK: %[[VAL_59:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_44]]) {{.*}} : (!fir.ref) -> i32 print*, ['AA ', 'MM ', 'MM ', 'ZZ '] print*, ['AA ', 'MM ', 'MM ', 'ZZ '] print*, ['AA ', 'MM ', 'MM ', 'ZZ '] Index: flang/test/Lower/array-constructor-2.f90 =================================================================== --- flang/test/Lower/array-constructor-2.f90 +++ flang/test/Lower/array-constructor-2.f90 @@ -27,10 +27,10 @@ ! Look for the 5 store patterns ! CHECK: %[[tmp:.*]] = fir.allocmem !fir.array<5xf32> - ! CHECK: %[[val:.*]] = fir.call @_QPf(%[[b]]) : (!fir.ref) -> f32 + ! CHECK: %[[val:.*]] = fir.call @_QPf(%[[b]]) {{.*}} : (!fir.ref) -> f32 ! CHECK: %[[loc:.*]] = fir.coordinate_of %{{.*}}, %{{.*}} : (!fir.heap>, index) -> !fir.ref ! CHECK: fir.store %[[val]] to %[[loc]] : !fir.ref - ! CHECK: fir.call @_QPf(%{{.*}}) : (!fir.ref) -> f32 + ! CHECK: fir.call @_QPf(%{{.*}}) {{.*}} : (!fir.ref) -> f32 ! CHECK: fir.coordinate_of %{{.*}}, %{{.*}} : (!fir.heap>, index) -> !fir.ref ! CHECK: fir.store ! CHECK: fir.call @_QPf( @@ -77,8 +77,8 @@ ! CHECK: %[[hp1:.*]] = fir.allocmem !fir.array, %{{.*}} {uniq_name = ".array.expr"} ! CHECK-DAG: %[[rep:.*]] = fir.convert %{{.*}} : (!fir.heap) -> !fir.ref ! CHECK-DAG: %[[res:.*]] = fir.convert %{{.*}} : (index) -> i64 - ! CHECK: %{{.*}} = fir.call @realloc(%[[rep]], %[[res]]) : (!fir.ref, i64) -> !fir.ref - ! CHECK: fir.call @llvm.memcpy.p0.p0.i64(%{{.*}}, %{{.*}}, %{{.*}}, %false{{.*}}) : (!fir.ref, !fir.ref, i64, i1) -> () + ! CHECK: %{{.*}} = fir.call @realloc(%[[rep]], %[[res]]) {{.*}} : (!fir.ref, i64) -> !fir.ref + ! CHECK: fir.call @llvm.memcpy.p0.p0.i64(%{{.*}}, %{{.*}}, %{{.*}}, %false{{.*}}) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: fir.call @_QPtest3c ! CHECK: fir.save_result ! CHECK: %[[tmp2:.*]] = fir.allocmem !fir.array, %{{.*}}#1 {uniq_name = ".array.expr"} @@ -107,9 +107,9 @@ ! CHECK-DAG: fir.alloca index {bindc_name = ".buff.size"} ! CHECK-DAG: %[[c32:.*]] = arith.constant 32 : index ! CHECK: fir.allocmem f32, %[[c32]] - ! CHECK: fir.call @_QPf1(%{{.*}}) : (!fir.ref) -> i32 - ! CHECK: fir.call @_QPf2(%arg2) : (!fir.ref) -> i32 - ! CHECK: fir.call @_QPf3(%{{.*}}) : (!fir.ref) -> i32 + ! CHECK: fir.call @_QPf1(%{{.*}}) {{.*}} : (!fir.ref) -> i32 + ! CHECK: fir.call @_QPf2(%arg2) {{.*}} : (!fir.ref) -> i32 + ! CHECK: fir.call @_QPf3(%{{.*}}) {{.*}} : (!fir.ref) -> i32 ! CHECK: %[[q:.*]] = fir.coordinate_of %arg1, %{{.*}}, %{{.*}} : (!fir.box>, i64, i64) -> !fir.ref ! CHECK: %[[q2:.*]] = fir.load %[[q]] : !fir.ref ! CHECK: fir.store %[[q2]] to %{{.*}} : !fir.ref @@ -130,11 +130,11 @@ ! CHECK: %[[res:.*]] = fir.allocmem !fir.array<4xf32> ! CHECK: fir.address_of(@_QQro.2xr4.057a7f5ab69cb695657046b18832c330) : !fir.ref> ! CHECK: %[[tmp1:.*]] = fir.allocmem !fir.array<2xf32> - ! CHECK: fir.call @llvm.memcpy.p0.p0.i64(%{{.*}}, %{{.*}}, %{{.*}}, %false{{.*}}) : (!fir.ref, !fir.ref, i64, i1) -> () + ! CHECK: fir.call @llvm.memcpy.p0.p0.i64(%{{.*}}, %{{.*}}, %{{.*}}, %false{{.*}}) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[tmp2:.*]] = fir.allocmem !fir.array<2xf32> ! CHECK: = fir.array_coor %[[array2]](%{{.*}}) %{{.*}} : (!fir.ref>, !fir.shape<1>, index) -> !fir.ref ! CHECK: = fir.array_coor %[[tmp2]](%{{.*}}) %{{.*}} : (!fir.heap>, !fir.shape<1>, index) -> !fir.ref - ! CHECK: fir.call @llvm.memcpy.p0.p0.i64(%{{.*}}, %{{.*}}, %{{.*}}, %false{{.*}}) : (!fir.ref, !fir.ref, i64, i1) -> () + ! CHECK: fir.call @llvm.memcpy.p0.p0.i64(%{{.*}}, %{{.*}}, %{{.*}}, %false{{.*}}) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: = fir.array_coor %{{.*}}(%{{.*}}) %{{.*}} : (!fir.heap>, !fir.shape<1>, index) -> !fir.ref ! CHECK: = fir.array_coor %[[a]] %{{.*}} : (!fir.box>, index) -> !fir.ref ! CHECK-DAG: fir.freemem %{{.*}} : !fir.heap> @@ -152,11 +152,11 @@ ! CHECK: fir.call @realloc ! CHECK: %[[t:.*]] = fir.coordinate_of %{{.*}}, %{{.*}} : (!fir.heap>>, index) -> !fir.ref> ! CHECK: %[[to:.*]] = fir.convert %[[t]] : (!fir.ref>) -> !fir.ref - ! CHECK: fir.call @llvm.memcpy.p0.p0.i64(%[[to]], %{{.*}}, %{{.*}}, %false) : (!fir.ref, !fir.ref, i64, i1) -> () + ! CHECK: fir.call @llvm.memcpy.p0.p0.i64(%[[to]], %{{.*}}, %{{.*}}, %false) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: fir.call @realloc ! CHECK: %[[t:.*]] = fir.coordinate_of %{{.*}}, %{{.*}} : (!fir.heap>>, index) -> !fir.ref> ! CHECK: %[[to:.*]] = fir.convert %[[t]] : (!fir.ref>) -> !fir.ref - ! CHECK: fir.call @llvm.memcpy.p0.p0.i64(%[[to]], %{{.*}}, %{{.*}}, %false) : (!fir.ref, !fir.ref, i64, i1) -> () + ! CHECK: fir.call @llvm.memcpy.p0.p0.i64(%[[to]], %{{.*}}, %{{.*}}, %false) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: fir.freemem %{{.*}} : !fir.heap>> c = (/ d, e /) end subroutine test6 Index: flang/test/Lower/array-derived-assignments.f90 =================================================================== --- flang/test/Lower/array-derived-assignments.f90 +++ flang/test/Lower/array-derived-assignments.f90 @@ -50,7 +50,7 @@ ! CHECK: %[[VAL_26:.*]] = fir.convert %[[VAL_3]] : (index) -> i64 ! CHECK: %[[VAL_27:.*]] = fir.convert %[[VAL_24]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_28:.*]] = fir.convert %[[VAL_25]] : (!fir.ref>) -> !fir.ref - ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_27]], %[[VAL_28]], %[[VAL_26]], %[[VAL_4]]) : (!fir.ref, !fir.ref, i64, i1) -> () + ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_27]], %[[VAL_28]], %[[VAL_26]], %[[VAL_4]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_29:.*]] = arith.addi %[[VAL_21]], %[[VAL_6]] : index ! CHECK: %[[VAL_30:.*]] = arith.subi %[[VAL_22]], %[[VAL_6]] : index ! CHECK: br ^bb3(%[[VAL_29]], %[[VAL_30]] : index, index) @@ -92,7 +92,7 @@ ! CHECK: %[[VAL_17:.*]] = fir.convert %[[VAL_6]] : (!fir.ref>>}>>>) -> !fir.ref> ! CHECK: %[[VAL_18:.*]] = fir.convert %[[VAL_15]] : (!fir.box>>}>>) -> !fir.box ! CHECK: %[[VAL_19:.*]] = fir.convert %[[VAL_16]] : (!fir.ref>) -> !fir.ref - ! CHECK: %[[VAL_20:.*]] = fir.call @_FortranAAssign(%[[VAL_17]], %[[VAL_18]], %[[VAL_19]], %{{.*}}) : (!fir.ref>, !fir.box, !fir.ref, i32) -> none + ! CHECK: %[[VAL_20:.*]] = fir.call @_FortranAAssign(%[[VAL_17]], %[[VAL_18]], %[[VAL_19]], %{{.*}}) {{.*}} : (!fir.ref>, !fir.box, !fir.ref, i32) -> none ! CHECK: %[[VAL_21:.*]] = arith.subi %[[VAL_9]], %[[VAL_5]] : index ! CHECK: br ^bb1(%[[VAL_11]], %[[VAL_21]] : index, index) type(deep_copy) :: t1(10), t2(10) Index: flang/test/Lower/array-elemental-calls-2.f90 =================================================================== --- flang/test/Lower/array-elemental-calls-2.f90 +++ flang/test/Lower/array-elemental-calls-2.f90 @@ -35,7 +35,7 @@ ! CHECK: %[[VAL_26:.*]] = fir.array_fetch %{{.*}}, %{{.*}} : (!fir.array<10xi32>, index) -> i32 ! CHECK: %[[VAL_27:.*]] = arith.addi %[[VAL_25]], %[[VAL_26]] : i32 ! CHECK: fir.store %[[VAL_27]] to %[[VAL_0]] : !fir.ref -! CHECK: fir.call @_QPelem_func(%[[VAL_0]]) : (!fir.ref) -> i32 +! CHECK: fir.call @_QPelem_func(%[[VAL_0]]) {{.*}} : (!fir.ref) -> i32 end subroutine ! CHECK-LABEL: func @_QMtest_opsPcheck_binary_ops_2() { @@ -47,7 +47,7 @@ ! CHECK: %[[VAL_25:.*]] = fir.array_fetch %{{.*}}, %{{.*}} : (!fir.array<10xi32>, index) -> i32 ! CHECK: %[[VAL_27:.*]] = arith.muli %[[VAL_25]], %[[VAL_13]] : i32 ! CHECK: fir.store %[[VAL_27]] to %[[VAL_0]] : !fir.ref -! CHECK: fir.call @_QPelem_func(%[[VAL_0]]) : (!fir.ref) -> i32 +! CHECK: fir.call @_QPelem_func(%[[VAL_0]]) {{.*}} : (!fir.ref) -> i32 end subroutine ! CHECK-LABEL: func @_QMtest_opsPcheck_negate() { @@ -59,7 +59,7 @@ ! CHECK: %[[VAL_22:.*]] = arith.constant 0 : i32 ! CHECK: %[[VAL_23:.*]] = arith.subi %[[VAL_22]], %[[VAL_21]] : i32 ! CHECK: fir.store %[[VAL_23]] to %[[VAL_0]] : !fir.ref -! CHECK: fir.call @_QPelem_func(%[[VAL_0]]) : (!fir.ref) -> i32 +! CHECK: fir.call @_QPelem_func(%[[VAL_0]]) {{.*}} : (!fir.ref) -> i32 end subroutine ! CHECK-LABEL: func @_QMtest_opsPcheck_convert() { @@ -70,7 +70,7 @@ ! CHECK: %[[VAL_21:.*]] = fir.array_fetch %{{.*}}, %{{.*}} : (!fir.array<10xf64>, index) -> f64 ! CHECK: %[[VAL_22:.*]] = fir.convert %[[VAL_21]] : (f64) -> i32 ! CHECK: fir.store %[[VAL_22]] to %[[VAL_0]] : !fir.ref -! CHECK: fir.call @_QPelem_func(%[[VAL_0]]) : (!fir.ref) -> i32 +! CHECK: fir.call @_QPelem_func(%[[VAL_0]]) {{.*}} : (!fir.ref) -> i32 end subroutine ! CHECK-LABEL: func @_QMtest_opsPcheck_exteremum() { @@ -83,7 +83,7 @@ ! CHECK: %[[VAL_27:.*]] = arith.cmpi slt, %[[VAL_25]], %[[VAL_26]] : i32 ! CHECK: %[[VAL_28:.*]] = arith.select %[[VAL_27]], %[[VAL_25]], %[[VAL_26]] : i32 ! CHECK: fir.store %[[VAL_28]] to %[[VAL_0]] : !fir.ref -! CHECK: fir.call @_QPelem_func(%[[VAL_0]]) : (!fir.ref) -> i32 +! CHECK: fir.call @_QPelem_func(%[[VAL_0]]) {{.*}} : (!fir.ref) -> i32 end subroutine ! CHECK-LABEL: func @_QMtest_opsPcheck_logical_unary_ops() { @@ -97,7 +97,7 @@ ! CHECK: %[[VAL_24:.*]] = arith.xori %[[VAL_23]], %[[VAL_12]] : i1 ! CHECK: %[[VAL_25:.*]] = fir.convert %[[VAL_24]] : (i1) -> !fir.logical<8> ! CHECK: fir.store %[[VAL_25]] to %[[VAL_0]] : !fir.ref> -! CHECK: fir.call @_QPelem_func_logical(%[[VAL_0]]) : (!fir.ref>) -> i32 +! CHECK: fir.call @_QPelem_func_logical(%[[VAL_0]]) {{.*}} : (!fir.ref>) -> i32 end subroutine ! CHECK-LABEL: func @_QMtest_opsPcheck_logical_binary_ops() { @@ -112,7 +112,7 @@ ! CHECK: %[[VAL_29:.*]] = arith.cmpi eq, %[[VAL_27]], %[[VAL_28]] : i1 ! CHECK: %[[VAL_30:.*]] = fir.convert %[[VAL_29]] : (i1) -> !fir.logical<8> ! CHECK: fir.store %[[VAL_30]] to %[[VAL_0]] : !fir.ref> -! CHECK: fir.call @_QPelem_func_logical(%[[VAL_0]]) : (!fir.ref>) -> i32 +! CHECK: fir.call @_QPelem_func_logical(%[[VAL_0]]) {{.*}} : (!fir.ref>) -> i32 end subroutine ! CHECK-LABEL: func @_QMtest_opsPcheck_compare() { @@ -125,7 +125,7 @@ ! CHECK: %[[VAL_27:.*]] = arith.cmpf olt, %[[VAL_25]], %[[VAL_26]] : f64 ! CHECK: %[[VAL_28:.*]] = fir.convert %[[VAL_27]] : (i1) -> !fir.logical<4> ! CHECK: fir.store %[[VAL_28]] to %[[VAL_0]] : !fir.ref> -! CHECK: fir.call @_QPelem_func_logical4(%[[VAL_0]]) : (!fir.ref>) -> i32 +! CHECK: fir.call @_QPelem_func_logical4(%[[VAL_0]]) {{.*}} : (!fir.ref>) -> i32 end subroutine ! CHECK-LABEL: func @_QMtest_opsPcheck_pow() { @@ -134,8 +134,8 @@ ! CHECK: fir.do_loop ! CHECK: %[[VAL_25:.*]] = fir.array_fetch %{{.*}}, %{{.*}} : (!fir.array<10xf64>, index) -> f64 ! CHECK: %[[VAL_26:.*]] = fir.array_fetch %{{.*}}, %{{.*}} : (!fir.array<10xf64>, index) -> f64 -! CHECK: %[[VAL_27:.*]] = math.powf %[[VAL_25]], %[[VAL_26]] : f64 -! CHECK: %[[VAL_28:.*]] = fir.call @_QPelem_func_real(%[[VAL_27]]) : (f64) -> i32 +! CHECK: %[[VAL_27:.*]] = math.powf %[[VAL_25]], %[[VAL_26]] {{.*}} : f64 +! CHECK: %[[VAL_28:.*]] = fir.call @_QPelem_func_real(%[[VAL_27]]) {{.*}} : (f64) -> i32 end subroutine ! CHECK-LABEL: func @_QMtest_opsPcheck_cmplx_part() { @@ -146,7 +146,7 @@ ! CHECK: %[[VAL_23:.*]] = fir.array_fetch %{{.*}}, %{{.*}} : (!fir.array<10x!fir.complex<8>>, index) -> !fir.complex<8> ! CHECK: %[[VAL_24:.*]] = fir.addc %[[VAL_23]], %[[VAL_13]] : !fir.complex<8> ! CHECK: %[[VAL_25:.*]] = fir.extract_value %[[VAL_24]], [1 : index] : (!fir.complex<8>) -> f64 -! CHECK: fir.call @_QPelem_func_real(%[[VAL_25]]) : (f64) -> i32 +! CHECK: fir.call @_QPelem_func_real(%[[VAL_25]]) {{.*}} : (f64) -> i32 end subroutine ! CHECK-LABEL: func @_QMtest_opsPcheck_parentheses() { @@ -155,7 +155,7 @@ ! CHECK: fir.do_loop ! CHECK: %[[VAL_21:.*]] = fir.array_fetch %{{.*}}, %{{.*}} : (!fir.array<10xf64>, index) -> f64 ! CHECK: %[[VAL_22:.*]] = fir.no_reassoc %[[VAL_21]] : f64 -! CHECK: fir.call @_QPelem_func_real(%[[VAL_22]]) : (f64) -> i32 +! CHECK: fir.call @_QPelem_func_real(%[[VAL_22]]) {{.*}} : (f64) -> i32 end subroutine ! CHECK-LABEL: func @_QMtest_opsPcheck_parentheses_logical() { @@ -166,7 +166,7 @@ ! CHECK: %[[VAL_21:.*]] = fir.array_fetch %{{.*}}, %{{.*}} : (!fir.array<10x!fir.logical<8>>, index) -> !fir.logical<8> ! CHECK: %[[VAL_22:.*]] = fir.no_reassoc %[[VAL_21]] : !fir.logical<8> ! CHECK: fir.store %[[VAL_22]] to %[[VAL_0]] : !fir.ref> -! CHECK: fir.call @_QPelem_func_logical(%[[VAL_0]]) : (!fir.ref>) -> i32 +! CHECK: fir.call @_QPelem_func_logical(%[[VAL_0]]) {{.*}} : (!fir.ref>) -> i32 end subroutine subroutine check_parentheses_derived(a) @@ -191,6 +191,6 @@ ! CHECK: %[[TO:.*]] = fir.coordinate_of %[[VAL_0]], %[[FIELD2]] : (!fir.ref>, !fir.field) -> !fir.ref ! CHECK: %[[VAL:.*]] = fir.load %[[FROM]] : !fir.ref ! CHECK: fir.store %[[VAL]] to %[[TO]] : !fir.ref -! CHECK: %{{.*}} = fir.call @_QPelem_func_derived(%[[VAL_0]]) : (!fir.ref>) -> i32 +! CHECK: %{{.*}} = fir.call @_QPelem_func_derived(%[[VAL_0]]) {{.*}} : (!fir.ref>) -> i32 end subroutine end module Index: flang/test/Lower/array-elemental-calls-char-byval.f90 =================================================================== --- flang/test/Lower/array-elemental-calls-char-byval.f90 +++ flang/test/Lower/array-elemental-calls-char-byval.f90 @@ -36,10 +36,10 @@ ! CHECK: %[[VAL_14:.*]] = fir.convert %[[VAL_4]]#1 : (index) -> i64 ! CHECK: %[[VAL_15:.*]] = fir.convert %[[VAL_13]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_16:.*]] = fir.convert %[[VAL_12]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_15]], %[[VAL_16]], %[[VAL_14]], %[[VAL_0]]) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_15]], %[[VAL_16]], %[[VAL_14]], %[[VAL_0]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_17:.*]] = fir.emboxchar %[[VAL_13]], %[[VAL_4]]#1 : (!fir.ref>, index) -> !fir.boxchar<1> ! CHECK: %[[VAL_18:.*]] = fir.array_coor %[[VAL_19]](%[[VAL_7]]) %[[VAL_11]] : (!fir.ref>, !fir.shape<1>, index) -> !fir.ref -! CHECK: %[[VAL_20:.*]] = fir.call @_QPelem(%[[VAL_17]], %[[VAL_18]]) : (!fir.boxchar<1>, !fir.ref) -> i32 +! CHECK: %[[VAL_20:.*]] = fir.call @_QPelem(%[[VAL_17]], %[[VAL_18]]) {{.*}} : (!fir.boxchar<1>, !fir.ref) -> i32 ! CHECK: %[[VAL_21:.*]] = fir.array_coor %[[VAL_22]](%[[VAL_7]]) %[[VAL_11]] : (!fir.ref>, !fir.shape<1>, index) -> !fir.ref ! CHECK: fir.store %[[VAL_20]] to %[[VAL_21]] : !fir.ref ! CHECK: %[[VAL_23:.*]] = arith.subi %[[VAL_9]], %[[VAL_3]] : index @@ -64,7 +64,7 @@ ! CHECK: %[[VAL_32:.*]] = fir.convert %[[VAL_28]]#1 : (index) -> i64 ! CHECK: %[[VAL_33:.*]] = fir.convert %[[VAL_31]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_34:.*]] = fir.convert %[[VAL_28]]#0 : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_33]], %[[VAL_34]], %[[VAL_32]], %[[VAL_24]]) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_33]], %[[VAL_34]], %[[VAL_32]], %[[VAL_24]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: br ^bb1(%[[VAL_26]], %[[VAL_25]] : index, index) ! CHECK: ^bb1(%[[VAL_35:.*]]: index, %[[VAL_36:.*]]: index): ! CHECK: %[[VAL_37:.*]] = arith.cmpi sgt, %[[VAL_36]], %[[VAL_26]] : index @@ -73,7 +73,7 @@ ! CHECK: %[[VAL_38:.*]] = fir.emboxchar %[[VAL_31]], %[[VAL_28]]#1 : (!fir.ref>, index) -> !fir.boxchar<1> ! CHECK: %[[VAL_39:.*]] = arith.addi %[[VAL_35]], %[[VAL_27]] : index ! CHECK: %[[VAL_40:.*]] = fir.array_coor %[[VAL_41]](%[[VAL_30]]) %[[VAL_39]] : (!fir.ref>, !fir.shape<1>, index) -> !fir.ref -! CHECK: %[[VAL_42:.*]] = fir.call @_QPelem(%[[VAL_38]], %[[VAL_40]]) : (!fir.boxchar<1>, !fir.ref) -> i32 +! CHECK: %[[VAL_42:.*]] = fir.call @_QPelem(%[[VAL_38]], %[[VAL_40]]) {{.*}} : (!fir.boxchar<1>, !fir.ref) -> i32 ! CHECK: %[[VAL_43:.*]] = fir.array_coor %[[VAL_44]](%[[VAL_30]]) %[[VAL_39]] : (!fir.ref>, !fir.shape<1>, index) -> !fir.ref ! CHECK: fir.store %[[VAL_42]] to %[[VAL_43]] : !fir.ref ! CHECK: %[[VAL_45:.*]] = arith.subi %[[VAL_36]], %[[VAL_27]] : index @@ -106,7 +106,7 @@ ! CHECK: fir.store %[[VAL_59]] to %[[VAL_60]] : !fir.ref> ! CHECK: %[[VAL_61:.*]] = fir.convert %[[VAL_60]] : (!fir.ref>) -> !fir.ref> ! CHECK: %[[VAL_62:.*]] = fir.emboxchar %[[VAL_61]], %[[VAL_48]] : (!fir.ref>, index) -> !fir.boxchar<1> -! CHECK: %[[VAL_63:.*]] = fir.call @_QPelem(%[[VAL_62]], %[[VAL_54]]) : (!fir.boxchar<1>, !fir.ref) -> i32 +! CHECK: %[[VAL_63:.*]] = fir.call @_QPelem(%[[VAL_62]], %[[VAL_54]]) {{.*}} : (!fir.boxchar<1>, !fir.ref) -> i32 ! CHECK: %[[VAL_64:.*]] = fir.array_coor %[[VAL_65]](%[[VAL_49]]) %[[VAL_53]] : (!fir.ref>, !fir.shape<1>, index) -> !fir.ref ! CHECK: fir.store %[[VAL_63]] to %[[VAL_64]] : !fir.ref ! CHECK: %[[VAL_66:.*]] = arith.subi %[[VAL_51]], %[[VAL_48]] : index @@ -137,7 +137,7 @@ ! CHECK: %[[VAL_81:.*]] = fir.convert %[[VAL_71]] : (index) -> i64 ! CHECK: %[[VAL_82:.*]] = fir.convert %[[VAL_80]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_83:.*]] = fir.convert %[[VAL_66]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_82]], %[[VAL_83]], %[[VAL_81]], %[[VAL_68]]) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_82]], %[[VAL_83]], %[[VAL_81]], %[[VAL_68]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: br ^bb1(%[[VAL_70]], %[[VAL_69]] : index, index) ! CHECK: ^bb1(%[[VAL_84:.*]]: index, %[[VAL_85:.*]]: index): ! CHECK: %[[VAL_86:.*]] = arith.cmpi sgt, %[[VAL_85]], %[[VAL_70]] : index @@ -147,7 +147,7 @@ ! CHECK: %[[VAL_88:.*]] = fir.emboxchar %[[VAL_87]], %[[VAL_71]] : (!fir.ref>, index) -> !fir.boxchar<1> ! CHECK: %[[VAL_89:.*]] = arith.addi %[[VAL_84]], %[[VAL_71]] : index ! CHECK: %[[VAL_90:.*]] = fir.array_coor %[[VAL_74]](%[[VAL_72]]) %[[VAL_89]] : (!fir.ref>, !fir.shape<1>, index) -> !fir.ref -! CHECK: %[[VAL_91:.*]] = fir.call @_QPelem(%[[VAL_88]], %[[VAL_90]]) : (!fir.boxchar<1>, !fir.ref) -> i32 +! CHECK: %[[VAL_91:.*]] = fir.call @_QPelem(%[[VAL_88]], %[[VAL_90]]) {{.*}} : (!fir.boxchar<1>, !fir.ref) -> i32 ! CHECK: %[[VAL_92:.*]] = fir.array_coor %[[VAL_93]](%[[VAL_72]]) %[[VAL_89]] : (!fir.ref>, !fir.shape<1>, index) -> !fir.ref ! CHECK: fir.store %[[VAL_91]] to %[[VAL_92]] : !fir.ref ! CHECK: %[[VAL_94:.*]] = arith.subi %[[VAL_85]], %[[VAL_71]] : index @@ -175,7 +175,7 @@ ! CHECK: %[[VAL_103:.*]] = fir.convert %[[VAL_95]] : (index) -> i64 ! CHECK: %[[VAL_104:.*]] = fir.convert %[[VAL_102]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_105:.*]] = fir.convert %[[VAL_101]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_104]], %[[VAL_105]], %[[VAL_103]], %[[VAL_96]]) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_104]], %[[VAL_105]], %[[VAL_103]], %[[VAL_96]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: br ^bb1(%[[VAL_98]], %[[VAL_97]] : index, index) ! CHECK: ^bb1(%[[VAL_106:.*]]: index, %[[VAL_107:.*]]: index): ! CHECK: %[[VAL_108:.*]] = arith.cmpi sgt, %[[VAL_107]], %[[VAL_98]] : index @@ -185,7 +185,7 @@ ! CHECK: %[[VAL_110:.*]] = fir.emboxchar %[[VAL_109]], %[[VAL_95]] : (!fir.ref>, index) -> !fir.boxchar<1> ! CHECK: %[[VAL_111:.*]] = arith.addi %[[VAL_106]], %[[VAL_99]] : index ! CHECK: %[[VAL_112:.*]] = fir.array_coor %[[VAL_113]](%[[VAL_100]]) %[[VAL_111]] : (!fir.ref>, !fir.shape<1>, index) -> !fir.ref -! CHECK: %[[VAL_114:.*]] = fir.call @_QPelem(%[[VAL_110]], %[[VAL_112]]) : (!fir.boxchar<1>, !fir.ref) -> i32 +! CHECK: %[[VAL_114:.*]] = fir.call @_QPelem(%[[VAL_110]], %[[VAL_112]]) {{.*}} : (!fir.boxchar<1>, !fir.ref) -> i32 ! CHECK: %[[VAL_115:.*]] = fir.array_coor %[[VAL_116]](%[[VAL_100]]) %[[VAL_111]] : (!fir.ref>, !fir.shape<1>, index) -> !fir.ref ! CHECK: fir.store %[[VAL_114]] to %[[VAL_115]] : !fir.ref ! CHECK: %[[VAL_117:.*]] = arith.subi %[[VAL_107]], %[[VAL_99]] : index Index: flang/test/Lower/array-elemental-calls-char.f90 =================================================================== --- flang/test/Lower/array-elemental-calls-char.f90 +++ flang/test/Lower/array-elemental-calls-char.f90 @@ -37,7 +37,7 @@ ! CHECK: %[[VAL_10:.*]] = arith.addi %[[VAL_7]], %[[VAL_2]] : index ! CHECK: %[[VAL_11:.*]] = fir.array_coor %[[VAL_5]](%[[VAL_6]]) %[[VAL_10]] typeparams %[[VAL_3]]#1 : (!fir.ref>>, !fir.shape<1>, index, index) -> !fir.ref> ! CHECK: %[[VAL_12:.*]] = fir.emboxchar %[[VAL_11]], %[[VAL_3]]#1 : (!fir.ref>, index) -> !fir.boxchar<1> -! CHECK: %[[VAL_13:.*]] = fir.call @_QPelem(%[[VAL_12]]) : (!fir.boxchar<1>) -> i32 +! CHECK: %[[VAL_13:.*]] = fir.call @_QPelem(%[[VAL_12]]) {{.*}} : (!fir.boxchar<1>) -> i32 ! CHECK: %[[VAL_14:.*]] = fir.array_coor %[[VAL_15]](%[[VAL_6]]) %[[VAL_10]] : (!fir.ref>, !fir.shape<1>, index) -> !fir.ref ! CHECK: fir.store %[[VAL_13]] to %[[VAL_14]] : !fir.ref ! CHECK: %[[VAL_16:.*]] = arith.subi %[[VAL_8]], %[[VAL_2]] : index @@ -67,7 +67,7 @@ ! CHECK: %[[VAL_28:.*]] = fir.array_coor %[[VAL_22]](%[[VAL_23]]) %[[VAL_27]] : (!fir.ref>>, !fir.shape<1>, index) -> !fir.ref> ! CHECK: %[[VAL_29:.*]] = fir.convert %[[VAL_28]] : (!fir.ref>) -> !fir.ref> ! CHECK: %[[VAL_30:.*]] = fir.emboxchar %[[VAL_29]], %[[VAL_17]] : (!fir.ref>, index) -> !fir.boxchar<1> -! CHECK: %[[VAL_31:.*]] = fir.call @_QPelem(%[[VAL_30]]) : (!fir.boxchar<1>) -> i32 +! CHECK: %[[VAL_31:.*]] = fir.call @_QPelem(%[[VAL_30]]) {{.*}} : (!fir.boxchar<1>) -> i32 ! CHECK: %[[VAL_32:.*]] = fir.array_coor %[[VAL_33]](%[[VAL_23]]) %[[VAL_27]] : (!fir.ref>, !fir.shape<1>, index) -> !fir.ref ! CHECK: fir.store %[[VAL_31]] to %[[VAL_32]] : !fir.ref ! CHECK: %[[VAL_34:.*]] = arith.subi %[[VAL_25]], %[[VAL_19]] : index @@ -93,7 +93,7 @@ ! CHECK: %[[VAL_44:.*]] = fir.emboxchar %[[VAL_38]]#0, %[[VAL_38]]#1 : (!fir.ref>, index) -> !fir.boxchar<1> ! CHECK: %[[VAL_45:.*]] = arith.addi %[[VAL_41]], %[[VAL_37]] : index ! CHECK: %[[VAL_46:.*]] = fir.array_coor %[[VAL_47]](%[[VAL_40]]) %[[VAL_45]] : (!fir.ref>, !fir.shape<1>, index) -> !fir.ref -! CHECK: %[[VAL_48:.*]] = fir.call @_QPelem2(%[[VAL_44]], %[[VAL_46]]) : (!fir.boxchar<1>, !fir.ref) -> i32 +! CHECK: %[[VAL_48:.*]] = fir.call @_QPelem2(%[[VAL_44]], %[[VAL_46]]) {{.*}} : (!fir.boxchar<1>, !fir.ref) -> i32 ! CHECK: %[[VAL_49:.*]] = fir.array_coor %[[VAL_50]](%[[VAL_40]]) %[[VAL_45]] : (!fir.ref>, !fir.shape<1>, index) -> !fir.ref ! CHECK: fir.store %[[VAL_48]] to %[[VAL_49]] : !fir.ref ! CHECK: %[[VAL_51:.*]] = arith.subi %[[VAL_42]], %[[VAL_37]] : index @@ -123,7 +123,7 @@ ! CHECK: %[[VAL_61:.*]] = fir.emboxchar %[[VAL_55]]#0, %[[VAL_52]] : (!fir.ref>, index) -> !fir.boxchar<1> ! CHECK: %[[VAL_62:.*]] = arith.addi %[[VAL_58]], %[[VAL_54]] : index ! CHECK: %[[VAL_63:.*]] = fir.array_coor %[[VAL_64]](%[[VAL_57]]) %[[VAL_62]] : (!fir.ref>, !fir.shape<1>, index) -> !fir.ref -! CHECK: %[[VAL_65:.*]] = fir.call @_QPelem2(%[[VAL_61]], %[[VAL_63]]) : (!fir.boxchar<1>, !fir.ref) -> i32 +! CHECK: %[[VAL_65:.*]] = fir.call @_QPelem2(%[[VAL_61]], %[[VAL_63]]) {{.*}} : (!fir.boxchar<1>, !fir.ref) -> i32 ! CHECK: %[[VAL_66:.*]] = fir.array_coor %[[VAL_67]](%[[VAL_57]]) %[[VAL_62]] : (!fir.ref>, !fir.shape<1>, index) -> !fir.ref ! CHECK: fir.store %[[VAL_65]] to %[[VAL_66]] : !fir.ref ! CHECK: %[[VAL_68:.*]] = arith.subi %[[VAL_59]], %[[VAL_54]] : index @@ -156,7 +156,7 @@ ! CHECK: fir.store %[[VAL_83]] to %[[VAL_72]] : !fir.ref> ! CHECK: %[[VAL_84:.*]] = fir.convert %[[VAL_72]] : (!fir.ref>) -> !fir.ref> ! CHECK: %[[VAL_85:.*]] = fir.emboxchar %[[VAL_84]], %[[VAL_71]] : (!fir.ref>, index) -> !fir.boxchar<1> -! CHECK: %[[VAL_86:.*]] = fir.call @_QPelem(%[[VAL_85]]) : (!fir.boxchar<1>) -> i32 +! CHECK: %[[VAL_86:.*]] = fir.call @_QPelem(%[[VAL_85]]) {{.*}} : (!fir.boxchar<1>) -> i32 ! CHECK: %[[VAL_87:.*]] = fir.array_coor %[[VAL_88]](%[[VAL_73]]) %[[VAL_77]] : (!fir.ref>, !fir.shape<1>, index) -> !fir.ref ! CHECK: fir.store %[[VAL_86]] to %[[VAL_87]] : !fir.ref ! CHECK: %[[VAL_89:.*]] = arith.subi %[[VAL_75]], %[[VAL_71]] : index @@ -185,7 +185,7 @@ ! CHECK: %[[VAL_100:.*]] = fir.emboxchar %[[VAL_99]], %[[VAL_90]] : (!fir.ref>, index) -> !fir.boxchar<1> ! CHECK: %[[VAL_101:.*]] = arith.addi %[[VAL_96]], %[[VAL_93]] : index ! CHECK: %[[VAL_102:.*]] = fir.array_coor %[[VAL_103]](%[[VAL_94]]) %[[VAL_101]] : (!fir.ref>, !fir.shape<1>, index) -> !fir.ref -! CHECK: %[[VAL_104:.*]] = fir.call @_QPelem2(%[[VAL_100]], %[[VAL_102]]) : (!fir.boxchar<1>, !fir.ref) -> i32 +! CHECK: %[[VAL_104:.*]] = fir.call @_QPelem2(%[[VAL_100]], %[[VAL_102]]) {{.*}} : (!fir.boxchar<1>, !fir.ref) -> i32 ! CHECK: %[[VAL_105:.*]] = fir.array_coor %[[VAL_106]](%[[VAL_94]]) %[[VAL_101]] : (!fir.ref>, !fir.shape<1>, index) -> !fir.ref ! CHECK: fir.store %[[VAL_104]] to %[[VAL_105]] : !fir.ref ! CHECK: %[[VAL_107:.*]] = arith.subi %[[VAL_97]], %[[VAL_93]] : index @@ -228,15 +228,15 @@ ! CHECK: %[[VAL_16:.*]] = fir.convert %[[VAL_15]] : (i32) -> index ! CHECK: %[[CMPI:.*]] = arith.cmpi sgt, %[[VAL_16]], %{{.*}} : index ! CHECK: %[[SELECT:.*]] = arith.select %[[CMPI]], %[[VAL_16]], %{{.*}} : index - ! CHECK: %[[VAL_17:.*]] = fir.call @llvm.stacksave() : () -> !fir.ref + ! CHECK: %[[VAL_17:.*]] = fir.call @llvm.stacksave() {{.*}} : () -> !fir.ref ! CHECK: %[[VAL_18:.*]] = fir.alloca !fir.char<1,?>(%[[SELECT]] : index) {bindc_name = ".result"} - ! CHECK: %[[VAL_19:.*]] = fir.call @_QMchar_elemPelem_return_char(%[[VAL_18]], %[[SELECT]], %[[VAL_14]]) : (!fir.ref>, index, !fir.boxchar<1>) -> !fir.boxchar<1> + ! CHECK: %[[VAL_19:.*]] = fir.call @_QMchar_elemPelem_return_char(%[[VAL_18]], %[[SELECT]], %[[VAL_14]]) {{.*}} : (!fir.ref>, index, !fir.boxchar<1>) -> !fir.boxchar<1> ! CHECK: %[[VAL_20:.*]] = arith.cmpi slt, %[[VAL_6]]#1, %[[SELECT]] : index ! CHECK: %[[VAL_21:.*]] = arith.select %[[VAL_20]], %[[VAL_6]]#1, %[[SELECT]] : index ! CHECK: %[[VAL_22:.*]] = fir.convert %[[VAL_21]] : (index) -> i64 ! CHECK: %[[VAL_23:.*]] = fir.convert %[[VAL_13]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_24:.*]] = fir.convert %[[VAL_18]] : (!fir.ref>) -> !fir.ref - ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_23]], %[[VAL_24]], %[[VAL_22]], %[[VAL_4]]) : (!fir.ref, !fir.ref, i64, i1) -> () + ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_23]], %[[VAL_24]], %[[VAL_22]], %[[VAL_4]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_25:.*]] = arith.subi %[[VAL_6]]#1, %[[VAL_2]] : index ! CHECK: %[[VAL_26:.*]] = fir.undefined !fir.char<1> ! CHECK: %[[VAL_27:.*]] = fir.insert_value %[[VAL_26]], %[[VAL_5]], [0 : index] : (!fir.char<1>, i8) -> !fir.char<1> @@ -254,7 +254,7 @@ ! CHECK: %[[VAL_36:.*]] = arith.subi %[[VAL_31]], %[[VAL_2]] : index ! CHECK: br ^bb3(%[[VAL_35]], %[[VAL_36]] : index, index) ! CHECK: ^bb5: - ! CHECK: fir.call @llvm.stackrestore(%[[VAL_17]]) : (!fir.ref) -> () + ! CHECK: fir.call @llvm.stackrestore(%[[VAL_17]]) {{.*}} : (!fir.ref) -> () ! CHECK: %[[VAL_37:.*]] = arith.subi %[[VAL_10]], %[[VAL_2]] : index ! CHECK: br ^bb1(%[[VAL_12]], %[[VAL_37]] : index, index) ! CHECK: ^bb6: Index: flang/test/Lower/array-elemental-calls.f90 =================================================================== --- flang/test/Lower/array-elemental-calls.f90 +++ flang/test/Lower/array-elemental-calls.f90 @@ -25,7 +25,7 @@ ! CHECK: fir.do_loop ! CHECK: %[[j:.*]] = fir.array_coor %[[arg1]](%{{.*}}) %{{.*}} : (!fir.ref>, !fir.shape<1>, index) -> !fir.ref - ! CHECK: fir.call @_QMscalar_in_elemPelem_by_ref(%[[j]], %[[tmp]]) : (!fir.ref, !fir.ref) -> i32 + ! CHECK: fir.call @_QMscalar_in_elemPelem_by_ref(%[[j]], %[[tmp]]) {{.*}} : (!fir.ref, !fir.ref) -> i32 ! CHECK: fir.result i = elem_by_ref(j, 42.) end @@ -39,7 +39,7 @@ ! CHECK: fir.do_loop ! CHECK: %[[j:.*]] = fir.array_fetch %[[jload]], %{{.*}} : (!fir.array<100xi32>, index) -> i32 - ! CHECK: fir.call @_QMscalar_in_elemPelem_by_valueref(%[[j]], %[[cst]]) : (i32, f32) -> i32 + ! CHECK: fir.call @_QMscalar_in_elemPelem_by_valueref(%[[j]], %[[cst]]) {{.*}} : (i32, f32) -> i32 ! CHECK: fir.result i = elem_by_valueref(j, 42.) end @@ -75,7 +75,7 @@ ! CHECK: %[[VAL_12:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_13:.*]] = arith.addi %[[VAL_10]], %[[VAL_12]] : index ! CHECK: %[[VAL_14:.*]] = fir.array_coor %[[VAL_1]] %[[VAL_13]] : (!fir.box>, index) -> !fir.ref -! CHECK: %[[VAL_15:.*]] = fir.call @_QPpure_func(%[[VAL_14]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_15:.*]] = fir.call @_QPpure_func(%[[VAL_14]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: %[[VAL_16:.*]] = arith.addi %[[VAL_5]], %[[VAL_15]] : i32 ! CHECK: %[[VAL_17:.*]] = fir.array_update %[[VAL_11]], %[[VAL_16]], %[[VAL_10]] : (!fir.array, i32, index) -> !fir.array ! CHECK: fir.result %[[VAL_17]] : !fir.array @@ -92,7 +92,7 @@ ! CHECK: %[[VAL_29:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_30:.*]] = arith.addi %[[VAL_27]], %[[VAL_29]] : index ! CHECK: %[[VAL_31:.*]] = fir.array_coor %[[VAL_1]] %[[VAL_30]] : (!fir.box>, index) -> !fir.ref -! CHECK: %[[VAL_32:.*]] = fir.call @_QPimpure_func(%[[VAL_31]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_32:.*]] = fir.call @_QPimpure_func(%[[VAL_31]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: %[[VAL_33:.*]] = arith.addi %[[VAL_22]], %[[VAL_32]] : i32 ! CHECK: %[[VAL_34:.*]] = fir.array_update %[[VAL_28]], %[[VAL_33]], %[[VAL_27]] : (!fir.array, i32, index) -> !fir.array ! CHECK: fir.result %[[VAL_34]] : !fir.array Index: flang/test/Lower/array-elemental-subroutines.f90 =================================================================== --- flang/test/Lower/array-elemental-subroutines.f90 +++ flang/test/Lower/array-elemental-subroutines.f90 @@ -25,7 +25,7 @@ ! CHECK: %[[VAL_24:.*]] = fir.array_coor %[[VAL_1]] {{\[}}%[[VAL_13]]] %[[VAL_23]] : (!fir.box>>, !fir.slice<1>, index) -> !fir.ref> ! CHECK: %[[VAL_25:.*]] = fir.box_elesize %[[VAL_1]] : (!fir.box>>) -> index ! CHECK: %[[VAL_26:.*]] = fir.emboxchar %[[VAL_24]], %[[VAL_25]] : (!fir.ref>, index) -> !fir.boxchar<1> -! CHECK: fir.call @_QPfoo(%[[VAL_21]], %[[VAL_26]], %[[VAL_2]], %[[VAL_14]]) : (!fir.ref, !fir.boxchar<1>, !fir.ref, !fir.complex<4>) -> () +! CHECK: fir.call @_QPfoo(%[[VAL_21]], %[[VAL_26]], %[[VAL_2]], %[[VAL_14]]) {{.*}} : (!fir.ref, !fir.boxchar<1>, !fir.ref, !fir.complex<4>) -> () ! CHECK: } ! CHECK: return ! CHECK: } @@ -58,5 +58,5 @@ end subroutine end interface call bar(i, j) - ! CHECK: fir.call @_QPbar(%[[VAL_0]], %[[VAL_1]]) : (!fir.ref, !fir.ref) -> () + ! CHECK: fir.call @_QPbar(%[[VAL_0]], %[[VAL_1]]) {{.*}} : (!fir.ref, !fir.ref) -> () end subroutine Index: flang/test/Lower/array-expression-slice-1.f90 =================================================================== --- flang/test/Lower/array-expression-slice-1.f90 +++ flang/test/Lower/array-expression-slice-1.f90 @@ -43,7 +43,7 @@ ! CHECK: fir.store %[[VAL_41]] to %[[VAL_31]] : !fir.ref ! CHECK: %[[VAL_42:.*]] = fir.load %[[VAL_31]] : !fir.ref ! CHECK: %[[VAL_43:.*]] = fir.convert %[[VAL_42]] : (i32) -> f32 -! CHECK: %[[VAL_44:.*]] = fir.call @fir.cos.f32.f32(%[[VAL_43]]) : (f32) -> f32 +! CHECK: %[[VAL_44:.*]] = fir.call @fir.cos.f32.f32(%[[VAL_43]]) {{.*}} : (f32) -> f32 ! CHECK: %[[VAL_45:.*]] = fir.load %[[VAL_28]] : !fir.ref ! CHECK: %[[VAL_46:.*]] = fir.convert %[[VAL_45]] : (i32) -> i64 ! CHECK: %[[VAL_47:.*]] = arith.subi %[[VAL_46]], %[[VAL_20]] : i64 @@ -60,7 +60,7 @@ ! CHECK: fir.store %[[VAL_36]] to %[[VAL_28]] : !fir.ref ! CHECK: %[[VAL_55:.*]] = fir.load %[[VAL_31]] : !fir.ref ! CHECK: %[[VAL_56:.*]] = fir.convert %[[VAL_55]] : (i32) -> f32 -! CHECK: %[[VAL_57:.*]] = fir.call @fir.sin.f32.f32(%[[VAL_56]]) : (f32) -> f32 +! CHECK: %[[VAL_57:.*]] = fir.call @fir.sin.f32.f32(%[[VAL_56]]) {{.*}} : (f32) -> f32 ! CHECK: %[[VAL_58:.*]] = fir.load %[[VAL_30]] : !fir.ref ! CHECK: %[[VAL_59:.*]] = fir.convert %[[VAL_58]] : (i32) -> i64 ! CHECK: %[[VAL_60:.*]] = arith.subi %[[VAL_59]], %[[VAL_20]] : i64 @@ -98,16 +98,16 @@ ! CHECK: ^bb10: ! CHECK: %[[VAL_82:.*]] = fir.address_of(@_QQcl.{{.*}}) : !fir.ref>) -> !fir.ref -! CHECK: %[[VAL_84:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_18]], %[[VAL_83]], %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref +! CHECK: %[[VAL_84:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_18]], %[[VAL_83]], %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_85:.*]] = fir.address_of(@_QQcl.6D69736D617463682031) : !fir.ref> ! CHECK: %[[VAL_86:.*]] = fir.convert %[[VAL_85]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_87:.*]] = fir.convert %[[VAL_0]] : (index) -> i64 -! CHECK: %[[VAL_88:.*]] = fir.call @_FortranAioOutputAscii(%[[VAL_84]], %[[VAL_86]], %[[VAL_87]]) : (!fir.ref, !fir.ref, i64) -> i1 +! CHECK: %[[VAL_88:.*]] = fir.call @_FortranAioOutputAscii(%[[VAL_84]], %[[VAL_86]], %[[VAL_87]]) {{.*}} : (!fir.ref, !fir.ref, i64) -> i1 ! CHECK: %[[VAL_89:.*]] = fir.load %[[VAL_79]] : !fir.ref -! CHECK: %[[VAL_90:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_84]], %[[VAL_89]]) : (!fir.ref, f32) -> i1 +! CHECK: %[[VAL_90:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_84]], %[[VAL_89]]) {{.*}} : (!fir.ref, f32) -> i1 ! CHECK: %[[VAL_91:.*]] = fir.load %[[VAL_77]] : !fir.ref -! CHECK: %[[VAL_92:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_84]], %[[VAL_91]]) : (!fir.ref, f32) -> i1 -! CHECK: %[[VAL_93:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_84]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_92:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_84]], %[[VAL_91]]) {{.*}} : (!fir.ref, f32) -> i1 +! CHECK: %[[VAL_93:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_84]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: br ^bb11 ! CHECK: ^bb11: ! CHECK: %[[VAL_94:.*]] = fir.coordinate_of %[[VAL_25]], %[[VAL_21]], %[[VAL_16]] : (!fir.ref>, i64, i64) -> !fir.ref @@ -119,16 +119,16 @@ ! CHECK: ^bb12: ! CHECK: %[[VAL_99:.*]] = fir.address_of(@_QQcl.{{.*}}) : !fir.ref>) -> !fir.ref -! CHECK: %[[VAL_101:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_18]], %[[VAL_100]], %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref +! CHECK: %[[VAL_101:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_18]], %[[VAL_100]], %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_102:.*]] = fir.address_of(@_QQcl.6D69736D617463682032) : !fir.ref> ! CHECK: %[[VAL_103:.*]] = fir.convert %[[VAL_102]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_104:.*]] = fir.convert %[[VAL_0]] : (index) -> i64 -! CHECK: %[[VAL_105:.*]] = fir.call @_FortranAioOutputAscii(%[[VAL_101]], %[[VAL_103]], %[[VAL_104]]) : (!fir.ref, !fir.ref, i64) -> i1 +! CHECK: %[[VAL_105:.*]] = fir.call @_FortranAioOutputAscii(%[[VAL_101]], %[[VAL_103]], %[[VAL_104]]) {{.*}} : (!fir.ref, !fir.ref, i64) -> i1 ! CHECK: %[[VAL_106:.*]] = fir.load %[[VAL_96]] : !fir.ref -! CHECK: %[[VAL_107:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_101]], %[[VAL_106]]) : (!fir.ref, f32) -> i1 +! CHECK: %[[VAL_107:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_101]], %[[VAL_106]]) {{.*}} : (!fir.ref, f32) -> i1 ! CHECK: %[[VAL_108:.*]] = fir.load %[[VAL_94]] : !fir.ref -! CHECK: %[[VAL_109:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_101]], %[[VAL_108]]) : (!fir.ref, f32) -> i1 -! CHECK: %[[VAL_110:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_101]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_109:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_101]], %[[VAL_108]]) {{.*}} : (!fir.ref, f32) -> i1 +! CHECK: %[[VAL_110:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_101]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: br ^bb13 ! CHECK: ^bb13: ! CHECK: %[[VAL_111:.*]] = fir.coordinate_of %[[VAL_25]], %[[VAL_21]], %[[VAL_14]] : (!fir.ref>, i64, i64) -> !fir.ref @@ -140,16 +140,16 @@ ! CHECK: ^bb14: ! CHECK: %[[VAL_116:.*]] = fir.address_of(@_QQcl.{{.*}} : !fir.ref>) -> !fir.ref -! CHECK: %[[VAL_118:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_18]], %[[VAL_117]], %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref +! CHECK: %[[VAL_118:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_18]], %[[VAL_117]], %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_119:.*]] = fir.address_of(@_QQcl.6D69736D617463682033) : !fir.ref> ! CHECK: %[[VAL_120:.*]] = fir.convert %[[VAL_119]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_121:.*]] = fir.convert %[[VAL_0]] : (index) -> i64 -! CHECK: %[[VAL_122:.*]] = fir.call @_FortranAioOutputAscii(%[[VAL_118]], %[[VAL_120]], %[[VAL_121]]) : (!fir.ref, !fir.ref, i64) -> i1 +! CHECK: %[[VAL_122:.*]] = fir.call @_FortranAioOutputAscii(%[[VAL_118]], %[[VAL_120]], %[[VAL_121]]) {{.*}} : (!fir.ref, !fir.ref, i64) -> i1 ! CHECK: %[[VAL_123:.*]] = fir.load %[[VAL_113]] : !fir.ref -! CHECK: %[[VAL_124:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_118]], %[[VAL_123]]) : (!fir.ref, f32) -> i1 +! CHECK: %[[VAL_124:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_118]], %[[VAL_123]]) {{.*}} : (!fir.ref, f32) -> i1 ! CHECK: %[[VAL_125:.*]] = fir.load %[[VAL_111]] : !fir.ref -! CHECK: %[[VAL_126:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_118]], %[[VAL_125]]) : (!fir.ref, f32) -> i1 -! CHECK: %[[VAL_127:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_118]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_126:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_118]], %[[VAL_125]]) {{.*}} : (!fir.ref, f32) -> i1 +! CHECK: %[[VAL_127:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_118]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: br ^bb15 ! CHECK: ^bb15: ! CHECK: %[[VAL_128:.*]] = fir.shape %[[VAL_0]] : (index) -> !fir.shape<1> @@ -175,16 +175,16 @@ ! CHECK: ^bb19: ! CHECK: %[[VAL_142:.*]] = fir.address_of(@_QQcl.{{.*}}) : !fir.ref>) -> !fir.ref -! CHECK: %[[VAL_144:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_18]], %[[VAL_143]], %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref +! CHECK: %[[VAL_144:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_18]], %[[VAL_143]], %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_145:.*]] = fir.address_of(@_QQcl.6D69736D617463682034) : !fir.ref> ! CHECK: %[[VAL_146:.*]] = fir.convert %[[VAL_145]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_147:.*]] = fir.convert %[[VAL_0]] : (index) -> i64 -! CHECK: %[[VAL_148:.*]] = fir.call @_FortranAioOutputAscii(%[[VAL_144]], %[[VAL_146]], %[[VAL_147]]) : (!fir.ref, !fir.ref, i64) -> i1 +! CHECK: %[[VAL_148:.*]] = fir.call @_FortranAioOutputAscii(%[[VAL_144]], %[[VAL_146]], %[[VAL_147]]) {{.*}} : (!fir.ref, !fir.ref, i64) -> i1 ! CHECK: %[[VAL_149:.*]] = fir.load %[[VAL_77]] : !fir.ref -! CHECK: %[[VAL_150:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_144]], %[[VAL_149]]) : (!fir.ref, f32) -> i1 +! CHECK: %[[VAL_150:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_144]], %[[VAL_149]]) {{.*}} : (!fir.ref, f32) -> i1 ! CHECK: %[[VAL_151:.*]] = fir.load %[[VAL_139]] : !fir.ref -! CHECK: %[[VAL_152:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_144]], %[[VAL_151]]) : (!fir.ref, f32) -> i1 -! CHECK: %[[VAL_153:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_144]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_152:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_144]], %[[VAL_151]]) {{.*}} : (!fir.ref, f32) -> i1 +! CHECK: %[[VAL_153:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_144]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: br ^bb20 ! CHECK: ^bb20: ! CHECK: %[[VAL_154:.*]] = fir.load %[[VAL_94]] : !fir.ref @@ -195,16 +195,16 @@ ! CHECK: ^bb21: ! CHECK: %[[VAL_158:.*]] = fir.address_of(@_QQcl.{{.*}}) : !fir.ref>) -> !fir.ref -! CHECK: %[[VAL_160:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_18]], %[[VAL_159]], %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref +! CHECK: %[[VAL_160:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_18]], %[[VAL_159]], %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_161:.*]] = fir.address_of(@_QQcl.6D69736D617463682035) : !fir.ref> ! CHECK: %[[VAL_162:.*]] = fir.convert %[[VAL_161]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_163:.*]] = fir.convert %[[VAL_0]] : (index) -> i64 -! CHECK: %[[VAL_164:.*]] = fir.call @_FortranAioOutputAscii(%[[VAL_160]], %[[VAL_162]], %[[VAL_163]]) : (!fir.ref, !fir.ref, i64) -> i1 +! CHECK: %[[VAL_164:.*]] = fir.call @_FortranAioOutputAscii(%[[VAL_160]], %[[VAL_162]], %[[VAL_163]]) {{.*}} : (!fir.ref, !fir.ref, i64) -> i1 ! CHECK: %[[VAL_165:.*]] = fir.load %[[VAL_94]] : !fir.ref -! CHECK: %[[VAL_166:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_160]], %[[VAL_165]]) : (!fir.ref, f32) -> i1 +! CHECK: %[[VAL_166:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_160]], %[[VAL_165]]) {{.*}} : (!fir.ref, f32) -> i1 ! CHECK: %[[VAL_167:.*]] = fir.load %[[VAL_155]] : !fir.ref -! CHECK: %[[VAL_168:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_160]], %[[VAL_167]]) : (!fir.ref, f32) -> i1 -! CHECK: %[[VAL_169:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_160]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_168:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_160]], %[[VAL_167]]) {{.*}} : (!fir.ref, f32) -> i1 +! CHECK: %[[VAL_169:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_160]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: br ^bb22 ! CHECK: ^bb22: ! CHECK: %[[VAL_170:.*]] = fir.load %[[VAL_111]] : !fir.ref @@ -215,16 +215,16 @@ ! CHECK: ^bb23: ! CHECK: %[[VAL_174:.*]] = fir.address_of(@_QQcl.{{.*}}) : !fir.ref>) -> !fir.ref -! CHECK: %[[VAL_176:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_18]], %[[VAL_175]], %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref +! CHECK: %[[VAL_176:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_18]], %[[VAL_175]], %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_177:.*]] = fir.address_of(@_QQcl.6D69736D617463682036) : !fir.ref> ! CHECK: %[[VAL_178:.*]] = fir.convert %[[VAL_177]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_179:.*]] = fir.convert %[[VAL_0]] : (index) -> i64 -! CHECK: %[[VAL_180:.*]] = fir.call @_FortranAioOutputAscii(%[[VAL_176]], %[[VAL_178]], %[[VAL_179]]) : (!fir.ref, !fir.ref, i64) -> i1 +! CHECK: %[[VAL_180:.*]] = fir.call @_FortranAioOutputAscii(%[[VAL_176]], %[[VAL_178]], %[[VAL_179]]) {{.*}} : (!fir.ref, !fir.ref, i64) -> i1 ! CHECK: %[[VAL_181:.*]] = fir.load %[[VAL_111]] : !fir.ref -! CHECK: %[[VAL_182:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_176]], %[[VAL_181]]) : (!fir.ref, f32) -> i1 +! CHECK: %[[VAL_182:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_176]], %[[VAL_181]]) {{.*}} : (!fir.ref, f32) -> i1 ! CHECK: %[[VAL_183:.*]] = fir.load %[[VAL_171]] : !fir.ref -! CHECK: %[[VAL_184:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_176]], %[[VAL_183]]) : (!fir.ref, f32) -> i1 -! CHECK: %[[VAL_185:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_176]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_184:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_176]], %[[VAL_183]]) {{.*}} : (!fir.ref, f32) -> i1 +! CHECK: %[[VAL_185:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_176]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: br ^bb24 ! CHECK: ^bb24: ! CHECK: %[[VAL_186:.*]] = fir.address_of(@_QQro.3xi4.b7f1b733471804c07debf489e49d9c2f) : !fir.ref> @@ -288,16 +288,16 @@ ! CHECK: ^bb35: ! CHECK: %[[VAL_227:.*]] = fir.address_of(@_QQcl.{{.*}}) : !fir.ref>) -> !fir.ref -! CHECK: %[[VAL_229:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_18]], %[[VAL_228]], %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref +! CHECK: %[[VAL_229:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_18]], %[[VAL_228]], %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_230:.*]] = fir.address_of(@_QQcl.6D69736D617463682037) : !fir.ref> ! CHECK: %[[VAL_231:.*]] = fir.convert %[[VAL_230]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_232:.*]] = fir.convert %[[VAL_0]] : (index) -> i64 -! CHECK: %[[VAL_233:.*]] = fir.call @_FortranAioOutputAscii(%[[VAL_229]], %[[VAL_231]], %[[VAL_232]]) : (!fir.ref, !fir.ref, i64) -> i1 +! CHECK: %[[VAL_233:.*]] = fir.call @_FortranAioOutputAscii(%[[VAL_229]], %[[VAL_231]], %[[VAL_232]]) {{.*}} : (!fir.ref, !fir.ref, i64) -> i1 ! CHECK: %[[VAL_234:.*]] = fir.load %[[VAL_77]] : !fir.ref -! CHECK: %[[VAL_235:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_229]], %[[VAL_234]]) : (!fir.ref, f32) -> i1 +! CHECK: %[[VAL_235:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_229]], %[[VAL_234]]) {{.*}} : (!fir.ref, f32) -> i1 ! CHECK: %[[VAL_236:.*]] = fir.load %[[VAL_96]] : !fir.ref -! CHECK: %[[VAL_237:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_229]], %[[VAL_236]]) : (!fir.ref, f32) -> i1 -! CHECK: %[[VAL_238:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_229]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_237:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_229]], %[[VAL_236]]) {{.*}} : (!fir.ref, f32) -> i1 +! CHECK: %[[VAL_238:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_229]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: br ^bb36 ! CHECK: ^bb36: ! CHECK: %[[VAL_239:.*]] = fir.load %[[VAL_94]] : !fir.ref @@ -307,16 +307,16 @@ ! CHECK: ^bb37: ! CHECK: %[[VAL_242:.*]] = fir.address_of(@_QQcl.{{.*}}) : !fir.ref>) -> !fir.ref -! CHECK: %[[VAL_244:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_18]], %[[VAL_243]], %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref +! CHECK: %[[VAL_244:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_18]], %[[VAL_243]], %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_245:.*]] = fir.address_of(@_QQcl.6D69736D617463682038) : !fir.ref> ! CHECK: %[[VAL_246:.*]] = fir.convert %[[VAL_245]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_247:.*]] = fir.convert %[[VAL_0]] : (index) -> i64 -! CHECK: %[[VAL_248:.*]] = fir.call @_FortranAioOutputAscii(%[[VAL_244]], %[[VAL_246]], %[[VAL_247]]) : (!fir.ref, !fir.ref, i64) -> i1 +! CHECK: %[[VAL_248:.*]] = fir.call @_FortranAioOutputAscii(%[[VAL_244]], %[[VAL_246]], %[[VAL_247]]) {{.*}} : (!fir.ref, !fir.ref, i64) -> i1 ! CHECK: %[[VAL_249:.*]] = fir.load %[[VAL_94]] : !fir.ref -! CHECK: %[[VAL_250:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_244]], %[[VAL_249]]) : (!fir.ref, f32) -> i1 +! CHECK: %[[VAL_250:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_244]], %[[VAL_249]]) {{.*}} : (!fir.ref, f32) -> i1 ! CHECK: %[[VAL_251:.*]] = fir.load %[[VAL_113]] : !fir.ref -! CHECK: %[[VAL_252:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_244]], %[[VAL_251]]) : (!fir.ref, f32) -> i1 -! CHECK: %[[VAL_253:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_244]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_252:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_244]], %[[VAL_251]]) {{.*}} : (!fir.ref, f32) -> i1 +! CHECK: %[[VAL_253:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_244]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: br ^bb38 ! CHECK: ^bb38: ! CHECK: %[[VAL_254:.*]] = fir.load %[[VAL_111]] : !fir.ref @@ -326,16 +326,16 @@ ! CHECK: ^bb39: ! CHECK: %[[VAL_257:.*]] = fir.address_of(@_QQcl.{{.*}}) : !fir.ref>) -> !fir.ref -! CHECK: %[[VAL_259:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_18]], %[[VAL_258]], %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref +! CHECK: %[[VAL_259:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_18]], %[[VAL_258]], %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_260:.*]] = fir.address_of(@_QQcl.6D69736D617463682039) : !fir.ref> ! CHECK: %[[VAL_261:.*]] = fir.convert %[[VAL_260]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_262:.*]] = fir.convert %[[VAL_0]] : (index) -> i64 -! CHECK: %[[VAL_263:.*]] = fir.call @_FortranAioOutputAscii(%[[VAL_259]], %[[VAL_261]], %[[VAL_262]]) : (!fir.ref, !fir.ref, i64) -> i1 +! CHECK: %[[VAL_263:.*]] = fir.call @_FortranAioOutputAscii(%[[VAL_259]], %[[VAL_261]], %[[VAL_262]]) {{.*}} : (!fir.ref, !fir.ref, i64) -> i1 ! CHECK: %[[VAL_264:.*]] = fir.load %[[VAL_111]] : !fir.ref -! CHECK: %[[VAL_265:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_259]], %[[VAL_264]]) : (!fir.ref, f32) -> i1 +! CHECK: %[[VAL_265:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_259]], %[[VAL_264]]) {{.*}} : (!fir.ref, f32) -> i1 ! CHECK: %[[VAL_266:.*]] = fir.load %[[VAL_79]] : !fir.ref -! CHECK: %[[VAL_267:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_259]], %[[VAL_266]]) : (!fir.ref, f32) -> i1 -! CHECK: %[[VAL_268:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_259]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_267:.*]] = fir.call @_FortranAioOutputReal32(%[[VAL_259]], %[[VAL_266]]) {{.*}} : (!fir.ref, f32) -> i1 +! CHECK: %[[VAL_268:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_259]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: br ^bb40 ! CHECK: ^bb40: ! CHECK: return @@ -391,17 +391,17 @@ ! CHECK: %[[VAL_9:.*]] = fir.convert %[[VAL_8]]#0 : (!fir.ref>) -> !fir.ref>> ! CHECK: %[[VAL_10:.*]] = fir.address_of(@_QQcl.{{.*}}) : !fir.ref>) -> !fir.ref -! CHECK: %[[VAL_12:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_6]], %[[VAL_11]], %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref +! CHECK: %[[VAL_12:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_6]], %[[VAL_11]], %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_13:.*]] = fir.address_of(@_QQcl.61203D20) : !fir.ref> ! CHECK: %[[VAL_14:.*]] = fir.convert %[[VAL_13]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_15:.*]] = fir.convert %[[VAL_4]] : (index) -> i64 -! CHECK: %[[VAL_16:.*]] = fir.call @_FortranAioOutputAscii(%[[VAL_12]], %[[VAL_14]], %[[VAL_15]]) : (!fir.ref, !fir.ref, i64) -> i1 +! CHECK: %[[VAL_16:.*]] = fir.call @_FortranAioOutputAscii(%[[VAL_12]], %[[VAL_14]], %[[VAL_15]]) {{.*}} : (!fir.ref, !fir.ref, i64) -> i1 ! CHECK: %[[VAL_17:.*]] = fir.shape %[[VAL_7]] : (index) -> !fir.shape<1> ! CHECK: %[[VAL_18:.*]] = fir.slice %[[VAL_3]], %[[VAL_1]], %[[VAL_2]] : (index, index, index) -> !fir.slice<1> ! CHECK: %[[VAL_19:.*]] = fir.embox %[[VAL_9]](%[[VAL_17]]) {{\[}}%[[VAL_18]]] : (!fir.ref>>, !fir.shape<1>, !fir.slice<1>) -> !fir.box>> ! CHECK: %[[VAL_20:.*]] = fir.convert %[[VAL_19]] : (!fir.box>>) -> !fir.box -! CHECK: %[[VAL_21:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_12]], %[[VAL_20]]) : (!fir.ref, !fir.box) -> i1 -! CHECK: %[[VAL_22:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_12]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_21:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_12]], %[[VAL_20]]) {{.*}} : (!fir.ref, !fir.box) -> i1 +! CHECK: %[[VAL_22:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_12]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: return ! CHECK: } Index: flang/test/Lower/array-expression.f90 =================================================================== --- flang/test/Lower/array-expression.f90 +++ flang/test/Lower/array-expression.f90 @@ -50,7 +50,7 @@ ! CHECK: %[[VAL_11:.*]] = fir.do_loop %[[VAL_12:.*]] = %[[VAL_9]] to %[[VAL_10]] step %[[VAL_8]] unordered iter_args(%[[VAL_13:.*]] = %[[VAL_5]]) -> (!fir.array) { ! CHECK: %[[VAL_14:.*]] = fir.array_fetch %[[VAL_6]], %[[VAL_12]] : (!fir.array, index) -> f32 ! CHECK: %[[VAL_15:.*]] = fir.array_fetch %[[VAL_7]], %[[VAL_12]] : (!fir.array, index) -> f32 -! CHECK: %[[VAL_16:.*]] = arith.addf %[[VAL_14]], %[[VAL_15]] : f32 +! CHECK: %[[VAL_16:.*]] = arith.addf %[[VAL_14]], %[[VAL_15]] {{.*}} : f32 ! CHECK: %[[VAL_17:.*]] = fir.array_update %[[VAL_13]], %[[VAL_16]], %[[VAL_12]] : (!fir.array, f32, index) -> !fir.array ! CHECK: fir.result %[[VAL_17]] : !fir.array ! CHECK: } @@ -149,7 +149,7 @@ ! CHECK: %[[VAL_32:.*]] = arith.subi %[[VAL_23]], %[[VAL_30]] : index ! CHECK: %[[VAL_33:.*]] = fir.do_loop %[[VAL_34:.*]] = %[[VAL_31]] to %[[VAL_32]] step %[[VAL_30]] unordered iter_args(%[[VAL_35:.*]] = %[[VAL_26]]) -> (!fir.array) { ! CHECK: %[[VAL_36:.*]] = fir.array_fetch %[[VAL_28]], %[[VAL_34]] : (!fir.array, index) -> f32 -! CHECK: %[[VAL_37:.*]] = arith.addf %[[VAL_36]], %[[VAL_29]] : f32 +! CHECK: %[[VAL_37:.*]] = arith.addf %[[VAL_36]], %[[VAL_29]] {{.*}} : f32 ! CHECK: %[[VAL_38:.*]] = fir.array_update %[[VAL_35]], %[[VAL_37]], %[[VAL_34]] : (!fir.array, f32, index) -> !fir.array ! CHECK: fir.result %[[VAL_38]] : !fir.array ! CHECK: } @@ -276,7 +276,7 @@ ! CHECK: %[[VAL_18:.*]] = fir.do_loop %[[VAL_19:.*]] = %[[VAL_16]] to %[[VAL_17]] step %[[VAL_15]] unordered iter_args(%[[VAL_20:.*]] = %[[VAL_10]]) -> (!fir.array) { ! CHECK: %[[VAL_21:.*]] = fir.array_fetch %[[VAL_12]], %[[VAL_19]] : (!fir.array, index) -> f32 ! CHECK: %[[VAL_22:.*]] = fir.array_fetch %[[VAL_14]], %[[VAL_19]] : (!fir.array, index) -> f32 -! CHECK: %[[VAL_23:.*]] = arith.addf %[[VAL_21]], %[[VAL_22]] : f32 +! CHECK: %[[VAL_23:.*]] = arith.addf %[[VAL_21]], %[[VAL_22]] {{.*}} : f32 ! CHECK: %[[VAL_24:.*]] = fir.array_update %[[VAL_20]], %[[VAL_23]], %[[VAL_19]] : (!fir.array, f32, index) -> !fir.array ! CHECK: fir.result %[[VAL_24]] : !fir.array ! CHECK: } @@ -362,19 +362,19 @@ ! CHECK: %[[VAL_24:.*]] = fir.do_loop %[[VAL_25:.*]] = %[[VAL_22]] to %[[VAL_23]] step %[[VAL_21]] unordered iter_args(%[[VAL_26:.*]] = %[[VAL_20]]) -> (!fir.array<100xf32>) { ! CHECK: %[[VAL_27:.*]] = fir.array_fetch %[[VAL_15]], %[[VAL_25]] : (!fir.array<100xf32>, index) -> f32 ! CHECK: %[[VAL_28:.*]] = fir.array_fetch %[[VAL_17]], %[[VAL_25]] : (!fir.array<100xf32>, index) -> f32 -! CHECK: %[[VAL_29:.*]] = arith.addf %[[VAL_27]], %[[VAL_28]] : f32 +! CHECK: %[[VAL_29:.*]] = arith.addf %[[VAL_27]], %[[VAL_28]] {{.*}} : f32 ! CHECK: %[[VAL_30:.*]] = fir.array_update %[[VAL_26]], %[[VAL_29]], %[[VAL_25]] : (!fir.array<100xf32>, f32, index) -> !fir.array<100xf32> ! CHECK: fir.result %[[VAL_30]] : !fir.array<100xf32> ! CHECK: } ! CHECK: fir.array_merge_store %[[VAL_20]], %[[VAL_31:.*]] to %[[VAL_18]] : !fir.array<100xf32>, !fir.array<100xf32>, !fir.heap> ! CHECK: %[[VAL_32:.*]] = fir.convert %[[VAL_18]] : (!fir.heap>) -> !fir.ref> -! CHECK: %[[VAL_33:.*]] = fir.call @_QPbar(%[[VAL_32]]) : (!fir.ref>) -> f32 +! CHECK: %[[VAL_33:.*]] = fir.call @_QPbar(%[[VAL_32]]) {{.*}} : (!fir.ref>) -> f32 ! CHECK: %[[VAL_34:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_35:.*]] = arith.constant 0 : index ! CHECK: %[[VAL_36:.*]] = arith.subi %[[VAL_4]], %[[VAL_34]] : index ! CHECK: %[[VAL_37:.*]] = fir.do_loop %[[VAL_38:.*]] = %[[VAL_35]] to %[[VAL_36]] step %[[VAL_34]] unordered iter_args(%[[VAL_39:.*]] = %[[VAL_9]]) -> (!fir.array<100xf32>) { ! CHECK: %[[VAL_40:.*]] = fir.array_fetch %[[VAL_11]], %[[VAL_38]] : (!fir.array<100xf32>, index) -> f32 -! CHECK: %[[VAL_41:.*]] = arith.addf %[[VAL_40]], %[[VAL_33]] : f32 +! CHECK: %[[VAL_41:.*]] = arith.addf %[[VAL_40]], %[[VAL_33]] {{.*}} : f32 ! CHECK: %[[VAL_42:.*]] = fir.array_update %[[VAL_39]], %[[VAL_41]], %[[VAL_38]] : (!fir.array<100xf32>, f32, index) -> !fir.array<100xf32> ! CHECK: fir.result %[[VAL_42]] : !fir.array<100xf32> ! CHECK: } @@ -455,7 +455,7 @@ ! CHECK: %[[loop:.*]] = fir.do_loop %[[i:.*]] = %{{.*}} to %{{.*}} step %{{.*}} iter_args(%[[bth:.*]] = %[[barr]]) -> (!fir.array<100xf32>) { ! CHECK: %[[ishift:.*]] = arith.addi %[[i]], %c1{{.*}} : index ! CHECK: %[[tmp:.*]] = fir.array_coor %[[a]](%{{.*}}) %[[ishift]] : (!fir.ref>, !fir.shape<1>, index) -> !fir.ref - ! CHECK: %[[fres:.*]] = fir.call @_QPf1(%[[tmp]]) : (!fir.ref) -> f32 + ! CHECK: %[[fres:.*]] = fir.call @_QPf1(%[[tmp]]) {{.*}} : (!fir.ref) -> f32 ! CHECK: %[[res:.*]] = fir.array_update %[[bth]], %[[fres]], %[[i]] : (!fir.array<100xf32>, f32, index) -> !fir.array<100xf32> ! CHECK: fir.result %[[res]] : !fir.array<100xf32> ! CHECK: fir.array_merge_store %[[barr]], %[[loop]] to %[[b]] @@ -471,7 +471,7 @@ real :: a(100), b(100) ! CHECK: %[[loop:.*]] = fir.do_loop %[[i:.*]] = %{{.*}} to %{{.*}} step %{{.*}} iter_args(%[[bth:.*]] = %[[barr]]) -> (!fir.array<100xf32>) { ! CHECK: %[[val:.*]] = fir.array_fetch %[[aarr]], %[[i]] : (!fir.array<100xf32>, index) -> f32 - ! CHECK: %[[fres:.*]] = math.absf %[[val]] : f32 + ! CHECK: %[[fres:.*]] = math.absf %[[val]] {{.*}} : f32 ! CHECK: %[[res:.*]] = fir.array_update %[[bth]], %[[fres]], %[[i]] : (!fir.array<100xf32>, f32, index) -> !fir.array<100xf32> ! CHECK: fir.result %[[res]] : !fir.array<100xf32> ! CHECK: fir.array_merge_store %[[barr]], %[[loop]] to %[[b]] @@ -492,7 +492,7 @@ real :: a(100), b(100) ! CHECK: %[[loop:.*]] = fir.do_loop %[[i:.*]] = %{{.*}} to %{{.*}} step %{{.*}} iter_args(%[[bth:.*]] = %[[barr]]) -> (!fir.array<100xf32>) { ! CHECK: %[[val:.*]] = fir.array_fetch %[[aarr]], %[[i]] : (!fir.array<100xf32>, index) -> f32 - ! CHECK: %[[fres:.*]] = fir.call @_QPf2(%[[val]]) : (f32) -> f32 + ! CHECK: %[[fres:.*]] = fir.call @_QPf2(%[[val]]) {{.*}} : (f32) -> f32 ! CHECK: %[[res:.*]] = fir.array_update %[[bth]], %[[fres]], %[[i]] : (!fir.array<100xf32>, f32, index) -> !fir.array<100xf32> ! CHECK: fir.result %[[res]] : !fir.array<100xf32> ! CHECK: fir.array_merge_store %[[barr]], %[[loop]] to %[[b]] @@ -520,8 +520,8 @@ ! CHECK-DAG: %[[bcoor:.*]] = fir.array_coor %[[b]](%{{.*}}) %[[ib]] : (!fir.ref>, !fir.shapeshift<1>, index) -> !fir.ref ! CHECK-DAG: %[[ia:.*]] = arith.addi %[[i]], %c1{{.*}} : index ! CHECK-DAG: %[[acoor:.*]] = fir.array_coor %[[a]](%{{.*}}) %[[ia]] : (!fir.ref>, !fir.shape<1>, index) -> !fir.ref - ! CHECK: %[[fres:.*]] = fir.call @_QPf3(%[[ccoor]], %[[bcoor]], %[[acoor]]) : (!fir.ref, !fir.ref, !fir.ref) -> f32 - ! CHECK: %[[fadd:.*]] = arith.addf %[[val]], %[[fres]] : f32 + ! CHECK: %[[fres:.*]] = fir.call @_QPf3(%[[ccoor]], %[[bcoor]], %[[acoor]]) {{.*}} : (!fir.ref, !fir.ref, !fir.ref) -> f32 + ! CHECK: %[[fadd:.*]] = arith.addf %[[val]], %[[fres]] {{.*}} : f32 ! CHECK: %[[res:.*]] = fir.array_update %[[bth]], %[[fadd]], %[[i]] : (!fir.array<100xf32>, f32, index) -> !fir.array<100xf32> ! See 10.1.4.p2 note 1. The expression below is illegal if `f3` defines the @@ -655,7 +655,7 @@ ! CHECK: %[[VAL_24:.*]] = arith.constant false ! CHECK: %[[VAL_25:.*]] = fir.convert %[[VAL_19]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_26:.*]] = fir.convert %[[VAL_18]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_25]], %[[VAL_26]], %[[VAL_23]], %[[VAL_24]]) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_25]], %[[VAL_26]], %[[VAL_23]], %[[VAL_24]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_27:.*]] = fir.array_amend %[[VAL_17]], %[[VAL_19]] : (!fir.array<10x!fir.char<1,10>>, !fir.ref>) -> !fir.array<10x!fir.char<1,10>> ! CHECK: fir.result %[[VAL_27]] : !fir.array<10x!fir.char<1,10>> ! CHECK: } @@ -697,7 +697,7 @@ ! CHECK: %[[VAL_27:.*]] = arith.constant false ! CHECK: %[[VAL_28:.*]] = fir.convert %[[VAL_20]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_29:.*]] = fir.convert %[[VAL_19]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_28]], %[[VAL_29]], %[[VAL_26]], %[[VAL_27]]) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_28]], %[[VAL_29]], %[[VAL_26]], %[[VAL_27]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_30:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_31:.*]] = arith.subi %[[VAL_21]], %[[VAL_30]] : index ! CHECK: %[[VAL_32:.*]] = arith.constant 32 : i16 @@ -754,7 +754,7 @@ ! CHECK: %[[VAL_32:.*]] = arith.constant false ! CHECK: %[[VAL_33:.*]] = fir.convert %[[VAL_25]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_34:.*]] = fir.convert %[[VAL_24]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_33]], %[[VAL_34]], %[[VAL_31]], %[[VAL_32]]) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_33]], %[[VAL_34]], %[[VAL_31]], %[[VAL_32]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_35:.*]] = arith.constant 1 : i32 ! CHECK: %[[VAL_36:.*]] = arith.subi %[[VAL_11]], %[[VAL_35]] : i32 ! CHECK: %[[VAL_37:.*]] = arith.constant 32 : i32 @@ -816,7 +816,7 @@ ! CHECK: %[[VAL_37:.*]] = arith.constant false ! CHECK: %[[VAL_38:.*]] = fir.convert %[[VAL_29]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_39:.*]] = fir.convert %[[VAL_28]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_38]], %[[VAL_39]], %[[VAL_36]], %[[VAL_37]]) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_38]], %[[VAL_39]], %[[VAL_36]], %[[VAL_37]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_40:.*]] = arith.constant 1 : i32 ! CHECK: %[[VAL_41:.*]] = arith.subi %[[VAL_8]], %[[VAL_40]] : i32 ! CHECK: %[[VAL_42:.*]] = arith.constant 32 : i8 @@ -868,7 +868,7 @@ ! CHECK: %[[VAL_25:.*]] = arith.constant false ! CHECK: %[[VAL_26:.*]] = fir.convert %[[VAL_19]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_27:.*]] = fir.convert %[[VAL_18]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_26]], %[[VAL_27]], %[[VAL_24]], %[[VAL_25]]) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_26]], %[[VAL_27]], %[[VAL_24]], %[[VAL_25]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_28:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_29:.*]] = arith.subi %[[VAL_2]]#1, %[[VAL_28]] : index ! CHECK: %[[VAL_30:.*]] = arith.constant 32 : i8 @@ -920,7 +920,7 @@ ! CHECK: %[[VAL_26:.*]] = arith.constant false ! CHECK: %[[VAL_27:.*]] = fir.convert %[[VAL_22]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_28:.*]] = fir.convert %[[VAL_10]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_27]], %[[VAL_28]], %[[VAL_25]], %[[VAL_26]]) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_27]], %[[VAL_28]], %[[VAL_25]], %[[VAL_26]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_29:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_30:.*]] = arith.subi %[[VAL_21]], %[[VAL_29]] : index ! CHECK: fir.do_loop %[[VAL_31:.*]] = %[[VAL_11]] to %[[VAL_30]] step %[[VAL_29]] { @@ -941,7 +941,7 @@ ! CHECK: %[[VAL_44:.*]] = arith.constant false ! CHECK: %[[VAL_45:.*]] = fir.convert %[[VAL_38]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_46:.*]] = fir.convert %[[VAL_22]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_45]], %[[VAL_46]], %[[VAL_43]], %[[VAL_44]]) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_45]], %[[VAL_46]], %[[VAL_43]], %[[VAL_44]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_47:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_48:.*]] = arith.subi %[[VAL_2]]#1, %[[VAL_47]] : index ! CHECK: %[[VAL_49:.*]] = arith.constant 32 : i8 @@ -1024,7 +1024,7 @@ ! CHECK: %[[VAL_54:.*]] = arith.constant false ! CHECK: %[[VAL_55:.*]] = fir.convert %[[VAL_46]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_56:.*]] = fir.convert %[[char_temp]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_55]], %[[VAL_56]], %[[VAL_53]], %[[VAL_54]]) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_55]], %[[VAL_56]], %[[VAL_53]], %[[VAL_54]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_57:.*]] = arith.constant 1 : i32 ! CHECK: %[[VAL_58:.*]] = arith.subi %[[VAL_11]], %[[VAL_57]] : i32 ! CHECK: %[[VAL_59:.*]] = arith.constant 32 : i32 @@ -1093,7 +1093,7 @@ ! CHECK: %[[VAL_41:.*]] = arith.constant false ! CHECK: %[[VAL_42:.*]] = fir.convert %[[VAL_34]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_43:.*]] = fir.convert %[[VAL_33]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_42]], %[[VAL_43]], %[[VAL_40]], %[[VAL_41]]) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_42]], %[[VAL_43]], %[[VAL_40]], %[[VAL_41]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_44:.*]] = arith.constant 1 : i32 ! CHECK: %[[VAL_45:.*]] = arith.subi %[[VAL_8]], %[[VAL_44]] : i32 ! CHECK: %[[VAL_46:.*]] = arith.constant 32 : i8 @@ -1132,7 +1132,7 @@ ! CHECK: %[[VAL_10:.*]] = fir.address_of(@_QQcl.{{.*}}) : !fir.ref>) -> !fir.ref ! CHECK: %[[VAL_12:.*]] = arith.constant {{.*}} : i32 -! CHECK: %[[VAL_13:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_9]], %[[VAL_11]], %[[VAL_12]]) : (i32, !fir.ref, i32) -> !fir.ref +! CHECK: %[[VAL_13:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_9]], %[[VAL_11]], %[[VAL_12]]) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_15:.*]] = arith.constant 10 : index ! CHECK: %[[VAL_16:.*]] = fir.shape %[[VAL_4]] : (index) -> !fir.shape<1> ! CHECK: %[[VAL_17:.*]] = fir.shape_shift %[[VAL_7]], %[[VAL_8]] : (index, index) -> !fir.shapeshift<1> @@ -1153,7 +1153,7 @@ ! CHECK: %[[VAL_34:.*]] = fir.convert %[[VAL_2]]#1 : (index) -> i64 ! CHECK: %[[VAL_35:.*]] = fir.convert %[[VAL_31]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_36:.*]] = fir.convert %[[VAL_5]]#1 : (index) -> i64 -! CHECK: %[[VAL_37:.*]] = fir.call @_FortranAScan1(%[[VAL_33]], %[[VAL_34]], %[[VAL_35]], %[[VAL_36]], %[[VAL_32]]) : (!fir.ref, i64, !fir.ref, i64, i1) -> i64 +! CHECK: %[[VAL_37:.*]] = fir.call @_FortranAScan1(%[[VAL_33]], %[[VAL_34]], %[[VAL_35]], %[[VAL_36]], %[[VAL_32]]) {{.*}} : (!fir.ref, i64, !fir.ref, i64, i1) -> i64 ! CHECK: %[[VAL_38:.*]] = fir.convert %[[VAL_37]] : (i64) -> i32 ! CHECK: %[[VAL_39:.*]] = fir.array_update %[[VAL_26]], %[[VAL_38]], %[[VAL_25]] : (!fir.array<10xi32>, i32, index) -> !fir.array<10xi32> ! CHECK: fir.result %[[VAL_39]] : !fir.array<10xi32> @@ -1162,9 +1162,9 @@ ! CHECK: %[[VAL_41:.*]] = fir.shape %[[VAL_15]] : (index) -> !fir.shape<1> ! CHECK: %[[VAL_42:.*]] = fir.embox %[[VAL_18]](%[[VAL_41]]) : (!fir.heap>, !fir.shape<1>) -> !fir.box> ! CHECK: %[[VAL_43:.*]] = fir.convert %[[VAL_42]] : (!fir.box>) -> !fir.box -! CHECK: %[[VAL_44:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_13]], %[[VAL_43]]) : (!fir.ref, !fir.box) -> i1 +! CHECK: %[[VAL_44:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_13]], %[[VAL_43]]) {{.*}} : (!fir.ref, !fir.box) -> i1 ! CHECK: fir.freemem %[[VAL_18]] : !fir.heap> -! CHECK: %[[VAL_45:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_13]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_45:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_13]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: return ! CHECK: } Index: flang/test/Lower/array-substring.f90 =================================================================== --- flang/test/Lower/array-substring.f90 +++ flang/test/Lower/array-substring.f90 @@ -26,7 +26,7 @@ ! CHECK: %[[VAL_21:.*]] = fir.convert %[[VAL_19]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_22:.*]] = fir.convert %[[VAL_20]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_23:.*]] = fir.convert %[[VAL_4]] : (index) -> i64 -! CHECK: %[[VAL_24:.*]] = fir.call @_FortranACharacterCompareScalar1(%[[VAL_21]], %[[VAL_22]], %[[VAL_23]], %[[VAL_23]]) : (!fir.ref, !fir.ref, i64, i64) -> i32 +! CHECK: %[[VAL_24:.*]] = fir.call @_FortranACharacterCompareScalar1(%[[VAL_21]], %[[VAL_22]], %[[VAL_23]], %[[VAL_23]]) {{.*}} : (!fir.ref, !fir.ref, i64, i64) -> i32 ! CHECK: %[[VAL_25:.*]] = arith.cmpi eq, %[[VAL_24]], %[[VAL_3]] : i32 ! CHECK: %[[VAL_26:.*]] = fir.convert %[[VAL_25]] : (i1) -> !fir.logical<4> ! CHECK: %[[VAL_27:.*]] = fir.array_coor %[[VAL_8]](%[[VAL_9]]) %[[VAL_15]] : (!fir.ref>>, !fir.shape<1>, index) -> !fir.ref> Index: flang/test/Lower/array-temp.f90 =================================================================== --- flang/test/Lower/array-temp.f90 +++ flang/test/Lower/array-temp.f90 @@ -100,7 +100,7 @@ ! CHECK: %[[VAL_42:.*]] = arith.addi %[[VAL_39]], %[[VAL_3]] : index ! CHECK: %[[VAL_43:.*]] = fir.array_coor %[[VAL_12]](%[[VAL_13]]) {{\[}}%[[VAL_38]]] %[[VAL_42]] : (!fir.ref>, !fir.shape<1>, !fir.slice<1>, index) -> !fir.ref ! CHECK: %[[VAL_44:.*]] = fir.load %[[VAL_43]] : !fir.ref -! CHECK: %[[VAL_45:.*]] = arith.addf %[[VAL_44]], %[[VAL_7]] : f32 +! CHECK: %[[VAL_45:.*]] = arith.addf %[[VAL_44]], %[[VAL_7]] {{.*}} : f32 ! CHECK: %[[VAL_46:.*]] = fir.array_coor %[[VAL_27]](%[[VAL_13]]) {{\[}}%[[VAL_26]]] %[[VAL_42]] : (!fir.heap>, !fir.shape<1>, !fir.slice<1>, index) -> !fir.ref ! CHECK: fir.store %[[VAL_45]] to %[[VAL_46]] : !fir.ref ! CHECK: %[[VAL_47:.*]] = arith.subi %[[VAL_40]], %[[VAL_3]] : index @@ -118,11 +118,11 @@ ! CHECK: br ^bb9(%[[VAL_51]], %[[VAL_55]] : index, index) ! CHECK: ^bb11: ! CHECK: fir.freemem %[[VAL_27]] : !fir.heap> -! CHECK: %[[VAL_58:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_8]], %{{.*}}, %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref +! CHECK: %[[VAL_58:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_8]], %{{.*}}, %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_59:.*]] = fir.slice %[[VAL_3]], %[[VAL_5]], %[[VAL_3]] : (index, index, index) -> !fir.slice<1> ! CHECK: %[[VAL_60:.*]] = fir.embox %[[VAL_12]](%[[VAL_13]]) {{\[}}%[[VAL_59]]] : (!fir.ref>, !fir.shape<1>, !fir.slice<1>) -> !fir.box> ! CHECK: %[[VAL_61:.*]] = fir.convert %[[VAL_60]] : (!fir.box>) -> !fir.box -! CHECK: %[[VAL_62:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_58]], %[[VAL_61]]) : (!fir.ref, !fir.box) -> i1 +! CHECK: %[[VAL_62:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_58]], %[[VAL_61]]) {{.*}} : (!fir.ref, !fir.box) -> i1 ! CHECK: %[[VAL_63:.*]] = fir.load %[[VAL_0]] : !fir.ref ! CHECK: %[[VAL_64:.*]] = arith.subi %[[VAL_63]], %[[VAL_6]] : i32 ! CHECK: %[[VAL_65:.*]] = fir.convert %[[VAL_64]] : (i32) -> index @@ -130,8 +130,8 @@ ! CHECK: %[[VAL_67:.*]] = fir.slice %[[VAL_65]], %[[VAL_66]], %[[VAL_3]] : (index, index, index) -> !fir.slice<1> ! CHECK: %[[VAL_68:.*]] = fir.embox %[[VAL_12]](%[[VAL_13]]) {{\[}}%[[VAL_67]]] : (!fir.ref>, !fir.shape<1>, !fir.slice<1>) -> !fir.box> ! CHECK: %[[VAL_69:.*]] = fir.convert %[[VAL_68]] : (!fir.box>) -> !fir.box -! CHECK: %[[VAL_70:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_58]], %[[VAL_69]]) : (!fir.ref, !fir.box) -> i1 -! CHECK: %[[VAL_71:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_58]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_70:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_58]], %[[VAL_69]]) {{.*}} : (!fir.ref, !fir.box) -> i1 +! CHECK: %[[VAL_71:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_58]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: return ! CHECK: } @@ -214,7 +214,7 @@ ! CHECK: %[[VAL_58:.*]] = arith.addi %[[VAL_51]], %[[VAL_3]] : index ! CHECK: %[[VAL_59:.*]] = fir.array_coor %[[VAL_12]](%[[VAL_13]]) {{\[}}%[[VAL_50]]] %[[VAL_57]], %[[VAL_58]] : (!fir.ref>, !fir.shape<2>, !fir.slice<2>, index, index) -> !fir.ref ! CHECK: %[[VAL_60:.*]] = fir.load %[[VAL_59]] : !fir.ref -! CHECK: %[[VAL_61:.*]] = arith.addf %[[VAL_60]], %[[VAL_7]] : f32 +! CHECK: %[[VAL_61:.*]] = arith.addf %[[VAL_60]], %[[VAL_7]] {{.*}} : f32 ! CHECK: %[[VAL_62:.*]] = fir.array_coor %[[VAL_33]](%[[VAL_13]]) {{\[}}%[[VAL_32]]] %[[VAL_57]], %[[VAL_58]] : (!fir.heap>, !fir.shape<2>, !fir.slice<2>, index, index) -> !fir.ref ! CHECK: fir.store %[[VAL_61]] to %[[VAL_62]] : !fir.ref ! CHECK: %[[VAL_63:.*]] = arith.subi %[[VAL_55]], %[[VAL_3]] : index @@ -244,11 +244,11 @@ ! CHECK: br ^bb15(%[[VAL_78]], %[[VAL_79]] : index, index) ! CHECK: ^bb19: ! CHECK: fir.freemem %[[VAL_33]] : !fir.heap> -! CHECK: %[[VAL_82:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_8]], %{{.*}}, %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref +! CHECK: %[[VAL_82:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_8]], %{{.*}}, %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_83:.*]] = fir.slice %[[VAL_3]], %[[VAL_2]], %[[VAL_3]], %[[VAL_3]], %[[VAL_2]], %[[VAL_3]] : (index, index, index, index, index, index) -> !fir.slice<2> ! CHECK: %[[VAL_84:.*]] = fir.embox %[[VAL_12]](%[[VAL_13]]) {{\[}}%[[VAL_83]]] : (!fir.ref>, !fir.shape<2>, !fir.slice<2>) -> !fir.box> ! CHECK: %[[VAL_85:.*]] = fir.convert %[[VAL_84]] : (!fir.box>) -> !fir.box -! CHECK: %[[VAL_86:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_82]], %[[VAL_85]]) : (!fir.ref, !fir.box) -> i1 +! CHECK: %[[VAL_86:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_82]], %[[VAL_85]]) {{.*}} : (!fir.ref, !fir.box) -> i1 ! CHECK: %[[VAL_87:.*]] = fir.load %[[VAL_0]] : !fir.ref ! CHECK: %[[VAL_88:.*]] = arith.subi %[[VAL_87]], %[[VAL_6]] : i32 ! CHECK: %[[VAL_89:.*]] = fir.convert %[[VAL_88]] : (i32) -> index @@ -256,8 +256,8 @@ ! CHECK: %[[VAL_91:.*]] = fir.slice %[[VAL_3]], %[[VAL_2]], %[[VAL_3]], %[[VAL_89]], %[[VAL_90]], %[[VAL_3]] : (index, index, index, index, index, index) -> !fir.slice<2> ! CHECK: %[[VAL_92:.*]] = fir.embox %[[VAL_12]](%[[VAL_13]]) {{\[}}%[[VAL_91]]] : (!fir.ref>, !fir.shape<2>, !fir.slice<2>) -> !fir.box> ! CHECK: %[[VAL_93:.*]] = fir.convert %[[VAL_92]] : (!fir.box>) -> !fir.box -! CHECK: %[[VAL_94:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_82]], %[[VAL_93]]) : (!fir.ref, !fir.box) -> i1 -! CHECK: %[[VAL_95:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_82]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_94:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_82]], %[[VAL_93]]) {{.*}} : (!fir.ref, !fir.box) -> i1 +! CHECK: %[[VAL_95:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_82]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: return ! CHECK: } @@ -340,7 +340,7 @@ ! CHECK: %[[VAL_58:.*]] = arith.addi %[[VAL_51]], %[[VAL_3]] : index ! CHECK: %[[VAL_59:.*]] = fir.array_coor %[[VAL_12]](%[[VAL_13]]) {{\[}}%[[VAL_50]]] %[[VAL_57]], %[[VAL_58]] : (!fir.ref>, !fir.shape<2>, !fir.slice<2>, index, index) -> !fir.ref ! CHECK: %[[VAL_60:.*]] = fir.load %[[VAL_59]] : !fir.ref -! CHECK: %[[VAL_61:.*]] = arith.addf %[[VAL_60]], %[[VAL_7]] : f32 +! CHECK: %[[VAL_61:.*]] = arith.addf %[[VAL_60]], %[[VAL_7]] {{.*}} : f32 ! CHECK: %[[VAL_62:.*]] = fir.array_coor %[[VAL_33]](%[[VAL_13]]) {{\[}}%[[VAL_32]]] %[[VAL_57]], %[[VAL_58]] : (!fir.heap>, !fir.shape<2>, !fir.slice<2>, index, index) -> !fir.ref ! CHECK: fir.store %[[VAL_61]] to %[[VAL_62]] : !fir.ref ! CHECK: %[[VAL_63:.*]] = arith.subi %[[VAL_55]], %[[VAL_3]] : index @@ -370,11 +370,11 @@ ! CHECK: br ^bb15(%[[VAL_78]], %[[VAL_79]] : index, index) ! CHECK: ^bb19: ! CHECK: fir.freemem %[[VAL_33]] : !fir.heap> -! CHECK: %[[VAL_82:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_8]], %{{.*}}, %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref +! CHECK: %[[VAL_82:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_8]], %{{.*}}, %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_83:.*]] = fir.slice %[[VAL_3]], %[[VAL_2]], %[[VAL_3]], %[[VAL_3]], %[[VAL_2]], %[[VAL_3]] : (index, index, index, index, index, index) -> !fir.slice<2> ! CHECK: %[[VAL_84:.*]] = fir.embox %[[VAL_12]](%[[VAL_13]]) {{\[}}%[[VAL_83]]] : (!fir.ref>, !fir.shape<2>, !fir.slice<2>) -> !fir.box> ! CHECK: %[[VAL_85:.*]] = fir.convert %[[VAL_84]] : (!fir.box>) -> !fir.box -! CHECK: %[[VAL_86:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_82]], %[[VAL_85]]) : (!fir.ref, !fir.box) -> i1 +! CHECK: %[[VAL_86:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_82]], %[[VAL_85]]) {{.*}} : (!fir.ref, !fir.box) -> i1 ! CHECK: %[[VAL_87:.*]] = fir.load %[[VAL_0]] : !fir.ref ! CHECK: %[[VAL_88:.*]] = arith.subi %[[VAL_87]], %[[VAL_6]] : i32 ! CHECK: %[[VAL_89:.*]] = fir.convert %[[VAL_88]] : (i32) -> index @@ -382,8 +382,8 @@ ! CHECK: %[[VAL_91:.*]] = fir.slice %[[VAL_89]], %[[VAL_90]], %[[VAL_3]], %[[VAL_3]], %[[VAL_2]], %[[VAL_3]] : (index, index, index, index, index, index) -> !fir.slice<2> ! CHECK: %[[VAL_92:.*]] = fir.embox %[[VAL_12]](%[[VAL_13]]) {{\[}}%[[VAL_91]]] : (!fir.ref>, !fir.shape<2>, !fir.slice<2>) -> !fir.box> ! CHECK: %[[VAL_93:.*]] = fir.convert %[[VAL_92]] : (!fir.box>) -> !fir.box -! CHECK: %[[VAL_94:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_82]], %[[VAL_93]]) : (!fir.ref, !fir.box) -> i1 -! CHECK: %[[VAL_95:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_82]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_94:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_82]], %[[VAL_93]]) {{.*}} : (!fir.ref, !fir.box) -> i1 +! CHECK: %[[VAL_95:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_82]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: return ! CHECK: } Index: flang/test/Lower/array-user-def-assignments.f90 =================================================================== --- flang/test/Lower/array-user-def-assignments.f90 +++ flang/test/Lower/array-user-def-assignments.f90 @@ -46,7 +46,7 @@ ! CHECK: %[[VAL_16:.*]] = fir.do_loop %[[VAL_17:.*]] = %[[VAL_14]] to %[[VAL_15]] step %[[VAL_13]] unordered iter_args(%[[VAL_18:.*]] = %[[VAL_3]]) -> (!fir.array<100x!fir.type<_QMdefined_assignmentsTt{i:i32}>>) { ! CHECK: %[[VAL_19:.*]] = fir.array_access %[[VAL_12]], %[[VAL_17]] : (!fir.array<100x!fir.type<_QMdefined_assignmentsTt{i:i32}>>, index) -> !fir.ref> ! CHECK: %[[VAL_20:.*]]:2 = fir.array_modify %[[VAL_18]], %[[VAL_17]] : (!fir.array<100x!fir.type<_QMdefined_assignmentsTt{i:i32}>>, index) -> (!fir.ref>, !fir.array<100x!fir.type<_QMdefined_assignmentsTt{i:i32}>>) -! CHECK: fir.call @_QPassign_t(%[[VAL_20]]#0, %[[VAL_19]]) : (!fir.ref>, !fir.ref>) -> () +! CHECK: fir.call @_QPassign_t(%[[VAL_20]]#0, %[[VAL_19]]) {{.*}} : (!fir.ref>, !fir.ref>) -> () ! CHECK: fir.result %[[VAL_20]]#1 : !fir.array<100x!fir.type<_QMdefined_assignmentsTt{i:i32}>> ! CHECK: } ! CHECK: fir.array_merge_store %[[VAL_3]], %[[VAL_21:.*]] to %[[VAL_0]] : !fir.array<100x!fir.type<_QMdefined_assignmentsTt{i:i32}>>, !fir.array<100x!fir.type<_QMdefined_assignmentsTt{i:i32}>>, !fir.ref>> @@ -78,7 +78,7 @@ ! CHECK: %[[VAL_23:.*]]:2 = fir.array_modify %[[VAL_20]], %[[VAL_19]] : (!fir.array<100xf32>, index) -> (!fir.ref, !fir.array<100xf32>) ! CHECK: %[[VAL_24:.*]] = fir.convert %[[VAL_22]] : (i1) -> !fir.logical<4> ! CHECK: fir.store %[[VAL_24]] to %[[VAL_1]] : !fir.ref> -! CHECK: fir.call @_QPassign_logical_to_real(%[[VAL_23]]#0, %[[VAL_1]]) : (!fir.ref, !fir.ref>) -> () +! CHECK: fir.call @_QPassign_logical_to_real(%[[VAL_23]]#0, %[[VAL_1]]) {{.*}} : (!fir.ref, !fir.ref>) -> () ! CHECK: fir.result %[[VAL_23]]#1 : !fir.array<100xf32> ! CHECK: } ! CHECK: fir.array_merge_store %[[VAL_4]], %[[VAL_25:.*]] to %[[VAL_0]] : !fir.array<100xf32>, !fir.array<100xf32>, !fir.ref> @@ -101,7 +101,7 @@ ! CHECK: %[[VAL_15:.*]] = fir.array_fetch %[[VAL_8]], %[[VAL_13]] : (!fir.array<100xf32>, index) -> f32 ! CHECK: %[[VAL_16:.*]]:2 = fir.array_modify %[[VAL_14]], %[[VAL_13]] : (!fir.array<100x!fir.logical<4>>, index) -> (!fir.ref>, !fir.array<100x!fir.logical<4>>) ! CHECK: fir.store %[[VAL_15]] to %[[VAL_2]] : !fir.ref -! CHECK: fir.call @_QPassign_real_to_logical(%[[VAL_16]]#0, %[[VAL_2]]) : (!fir.ref>, !fir.ref) -> () +! CHECK: fir.call @_QPassign_real_to_logical(%[[VAL_16]]#0, %[[VAL_2]]) {{.*}} : (!fir.ref>, !fir.ref) -> () ! CHECK: fir.result %[[VAL_16]]#1 : !fir.array<100x!fir.logical<4>> ! CHECK: } ! CHECK: fir.array_merge_store %[[VAL_6]], %[[VAL_17:.*]] to %[[VAL_0]] : !fir.array<100x!fir.logical<4>>, !fir.array<100x!fir.logical<4>>, !fir.ref>> @@ -125,7 +125,7 @@ ! CHECK: %[[VAL_16:.*]] = fir.box_elesize %[[VAL_1]] : (!fir.box>>) -> index ! CHECK: %[[VAL_17:.*]]:2 = fir.array_modify %[[VAL_14]], %[[VAL_13]] : (!fir.array, index) -> (!fir.ref, !fir.array) ! CHECK: %[[VAL_18:.*]] = fir.emboxchar %[[VAL_15]], %[[VAL_16]] : (!fir.ref>, index) -> !fir.boxchar<1> -! CHECK: fir.call @_QPsfrom_char(%[[VAL_17]]#0, %[[VAL_18]]) : (!fir.ref, !fir.boxchar<1>) -> () +! CHECK: fir.call @_QPsfrom_char(%[[VAL_17]]#0, %[[VAL_18]]) {{.*}} : (!fir.ref, !fir.boxchar<1>) -> () ! CHECK: fir.result %[[VAL_17]]#1 : !fir.array ! CHECK: } ! CHECK: fir.array_merge_store %[[VAL_4]], %[[VAL_19:.*]] to %[[VAL_0]] : !fir.array, !fir.array, !fir.box> @@ -148,7 +148,7 @@ ! CHECK: %[[VAL_15:.*]] = fir.box_elesize %[[VAL_1]] : (!fir.box>>) -> index ! CHECK: %[[VAL_16:.*]] = fir.emboxchar %[[VAL_14]]#0, %[[VAL_15]] : (!fir.ref>, index) -> !fir.boxchar<1> ! CHECK: fir.store %[[VAL_13]] to %[[VAL_2]] : !fir.ref -! CHECK: fir.call @_QPsto_char(%[[VAL_16]], %[[VAL_2]]) : (!fir.boxchar<1>, !fir.ref) -> () +! CHECK: fir.call @_QPsto_char(%[[VAL_16]], %[[VAL_2]]) {{.*}} : (!fir.boxchar<1>, !fir.ref) -> () ! CHECK: fir.result %[[VAL_14]]#1 : !fir.array> ! CHECK: } ! CHECK: fir.array_merge_store %[[VAL_5]], %[[VAL_17:.*]] to %[[VAL_1]] : !fir.array>, !fir.array>, !fir.box>> @@ -233,7 +233,7 @@ ! CHECK: %[[VAL_29:.*]] = arith.subi %[[VAL_28]], %[[VAL_25]] : index ! CHECK: %[[VAL_30:.*]]:2 = fir.array_modify %[[VAL_17]], %[[VAL_29]] : (!fir.array<10x!fir.logical<4>>, index) -> (!fir.ref>, !fir.array<10x!fir.logical<4>>) ! CHECK: fir.store %[[VAL_24]] to %[[VAL_2]] : !fir.ref -! CHECK: fir.call @_QPassign_real_to_logical(%[[VAL_30]]#0, %[[VAL_2]]) : (!fir.ref>, !fir.ref) -> () +! CHECK: fir.call @_QPassign_real_to_logical(%[[VAL_30]]#0, %[[VAL_2]]) {{.*}} : (!fir.ref>, !fir.ref) -> () ! CHECK: fir.result %[[VAL_30]]#1 : !fir.array<10x!fir.logical<4>> ! CHECK: } ! CHECK: fir.array_merge_store %[[VAL_12]], %[[VAL_31:.*]] to %[[VAL_0]] : !fir.array<10x!fir.logical<4>>, !fir.array<10x!fir.logical<4>>, !fir.ref>> @@ -271,7 +271,7 @@ ! CHECK: %[[VAL_29:.*]]:2 = fir.array_modify %[[VAL_14]], %[[VAL_28]] : (!fir.array<10xf32>, index) -> (!fir.ref, !fir.array<10xf32>) ! CHECK: %[[VAL_30:.*]] = fir.convert %[[VAL_23]] : (i1) -> !fir.logical<4> ! CHECK: fir.store %[[VAL_30]] to %[[VAL_2]] : !fir.ref> -! CHECK: fir.call @_QPassign_logical_to_real(%[[VAL_29]]#0, %[[VAL_2]]) : (!fir.ref, !fir.ref>) -> () +! CHECK: fir.call @_QPassign_logical_to_real(%[[VAL_29]]#0, %[[VAL_2]]) {{.*}} : (!fir.ref, !fir.ref>) -> () ! CHECK: fir.result %[[VAL_29]]#1 : !fir.array<10xf32> ! CHECK: } ! CHECK: fir.array_merge_store %[[VAL_11]], %[[VAL_31:.*]] to %[[VAL_1]] : !fir.array<10xf32>, !fir.array<10xf32>, !fir.ref> @@ -317,7 +317,7 @@ ! CHECK: %[[VAL_40:.*]] = fir.array_fetch %[[VAL_27]], %[[VAL_32]] : (!fir.array<10xf32>, index) -> f32 ! CHECK: %[[VAL_41:.*]]:2 = fir.array_modify %[[VAL_33]], %[[VAL_32]] : (!fir.array<10x!fir.logical<4>>, index) -> (!fir.ref>, !fir.array<10x!fir.logical<4>>) ! CHECK: fir.store %[[VAL_40]] to %[[VAL_3]] : !fir.ref -! CHECK: fir.call @_QPassign_real_to_logical(%[[VAL_41]]#0, %[[VAL_3]]) : (!fir.ref>, !fir.ref) -> () +! CHECK: fir.call @_QPassign_real_to_logical(%[[VAL_41]]#0, %[[VAL_3]]) {{.*}} : (!fir.ref>, !fir.ref) -> () ! CHECK: fir.result %[[VAL_41]]#1 : !fir.array<10x!fir.logical<4>> ! CHECK: } else { ! CHECK: fir.result %[[VAL_33]] : !fir.array<10x!fir.logical<4>> @@ -370,7 +370,7 @@ ! CHECK: %[[VAL_42:.*]]:2 = fir.array_modify %[[VAL_33]], %[[VAL_32]] : (!fir.array<10xf32>, index) -> (!fir.ref, !fir.array<10xf32>) ! CHECK: %[[VAL_43:.*]] = fir.convert %[[VAL_41]] : (i1) -> !fir.logical<4> ! CHECK: fir.store %[[VAL_43]] to %[[VAL_3]] : !fir.ref> -! CHECK: fir.call @_QPassign_logical_to_real(%[[VAL_42]]#0, %[[VAL_3]]) : (!fir.ref, !fir.ref>) -> () +! CHECK: fir.call @_QPassign_logical_to_real(%[[VAL_42]]#0, %[[VAL_3]]) {{.*}} : (!fir.ref, !fir.ref>) -> () ! CHECK: fir.result %[[VAL_42]]#1 : !fir.array<10xf32> ! CHECK: } else { ! CHECK: fir.result %[[VAL_33]] : !fir.array<10xf32> @@ -413,7 +413,7 @@ ! CHECK: %[[VAL_29:.*]] = arith.subi %[[VAL_28]], %[[VAL_25]] : index ! CHECK: %[[VAL_30:.*]]:2 = fir.array_modify %[[VAL_17]], %[[VAL_29]] : (!fir.array<100x!fir.logical<4>>, index) -> (!fir.ref>, !fir.array<100x!fir.logical<4>>) ! CHECK: fir.store %[[VAL_24]] to %[[VAL_2]] : !fir.ref -! CHECK: fir.call @_QPassign_integer_to_logical(%[[VAL_30]]#0, %[[VAL_2]]) : (!fir.ref>, !fir.ref) -> () +! CHECK: fir.call @_QPassign_integer_to_logical(%[[VAL_30]]#0, %[[VAL_2]]) {{.*}} : (!fir.ref>, !fir.ref) -> () ! CHECK: fir.result %[[VAL_30]]#1 : !fir.array<100x!fir.logical<4>> ! CHECK: } ! CHECK: fir.array_merge_store %[[VAL_12]], %[[VAL_31:.*]] to %[[VAL_0]] : !fir.array<100x!fir.logical<4>>, !fir.array<100x!fir.logical<4>>, !fir.ref>> @@ -435,7 +435,7 @@ ! CHECK: %[[VAL_12:.*]] = fir.do_loop %[[VAL_13:.*]] = %[[VAL_6]] to %[[VAL_8]] step %[[VAL_9]] unordered iter_args(%[[VAL_14:.*]] = %[[VAL_11]]) -> (!fir.array<10x!fir.logical<4>>) { ! CHECK: %[[VAL_15:.*]] = fir.convert %[[VAL_13]] : (index) -> i32 ! CHECK: fir.store %[[VAL_15]] to %[[VAL_3]] : !fir.ref -! CHECK: %[[VAL_16:.*]] = fir.call @_QPreturns_alloc(%[[VAL_3]]) : (!fir.ref) -> !fir.box> +! CHECK: %[[VAL_16:.*]] = fir.call @_QPreturns_alloc(%[[VAL_3]]) {{.*}} : (!fir.ref) -> !fir.box> ! CHECK: fir.save_result %[[VAL_16]] to %[[VAL_2]] : !fir.box>, !fir.ref>> ! CHECK: %[[VAL_17:.*]] = fir.load %[[VAL_2]] : !fir.ref>> ! CHECK: %[[VAL_18:.*]] = fir.box_addr %[[VAL_17]] : (!fir.box>) -> !fir.heap @@ -446,7 +446,7 @@ ! CHECK: %[[VAL_23:.*]] = arith.subi %[[VAL_22]], %[[VAL_19]] : index ! CHECK: %[[VAL_24:.*]]:2 = fir.array_modify %[[VAL_14]], %[[VAL_23]] : (!fir.array<10x!fir.logical<4>>, index) -> (!fir.ref>, !fir.array<10x!fir.logical<4>>) ! CHECK: %[[VAL_25:.*]] = fir.convert %[[VAL_18]] : (!fir.heap) -> !fir.ref -! CHECK: fir.call @_QPassign_real_to_logical(%[[VAL_24]]#0, %[[VAL_25]]) : (!fir.ref>, !fir.ref) -> () +! CHECK: fir.call @_QPassign_real_to_logical(%[[VAL_24]]#0, %[[VAL_25]]) {{.*}} : (!fir.ref>, !fir.ref) -> () ! CHECK: %[[VAL_26:.*]] = fir.load %[[VAL_2]] : !fir.ref>> ! CHECK: %[[VAL_27:.*]] = fir.box_addr %[[VAL_26]] : (!fir.box>) -> !fir.heap ! CHECK: %[[VAL_28:.*]] = fir.convert %[[VAL_27]] : (!fir.heap) -> i64 @@ -570,7 +570,7 @@ ! CHECK: %[[VAL_51:.*]] = arith.addi %[[VAL_49]], %[[VAL_50]] : index ! CHECK: %[[VAL_52:.*]]:2 = fir.array_modify %[[VAL_44]], %[[VAL_21]], %[[VAL_51]] : (!fir.array>, index, index) -> (!fir.ref>, !fir.array>) ! CHECK: fir.store %[[VAL_48]] to %[[VAL_2]] : !fir.ref -! CHECK: fir.call @_QPassign_real_to_logical(%[[VAL_52]]#0, %[[VAL_2]]) : (!fir.ref>, !fir.ref) -> () +! CHECK: fir.call @_QPassign_real_to_logical(%[[VAL_52]]#0, %[[VAL_2]]) {{.*}} : (!fir.ref>, !fir.ref) -> () ! CHECK: fir.result %[[VAL_52]]#1 : !fir.array> ! CHECK: } ! CHECK: fir.result %[[VAL_53:.*]] : !fir.array> @@ -616,7 +616,7 @@ ! CHECK: %[[VAL_28:.*]] = arith.subi %[[VAL_27]], %[[VAL_24]] : index ! CHECK: %[[VAL_29:.*]]:2 = fir.array_modify %[[VAL_12]], %[[VAL_28]] : (!fir.array, index) -> (!fir.ref, !fir.array) ! CHECK: %[[VAL_30:.*]] = fir.emboxchar %[[VAL_22]], %[[VAL_23]] : (!fir.ref>, index) -> !fir.boxchar<1> -! CHECK: fir.call @_QPsfrom_char(%[[VAL_29]]#0, %[[VAL_30]]) : (!fir.ref, !fir.boxchar<1>) -> () +! CHECK: fir.call @_QPsfrom_char(%[[VAL_29]]#0, %[[VAL_30]]) {{.*}} : (!fir.ref, !fir.boxchar<1>) -> () ! CHECK: fir.result %[[VAL_29]]#1 : !fir.array ! CHECK: } ! CHECK: fir.array_merge_store %[[VAL_8]], %[[VAL_31:.*]] to %[[VAL_0]] : !fir.array, !fir.array, !fir.box> @@ -652,7 +652,7 @@ ! CHECK: %[[VAL_27:.*]] = fir.box_elesize %[[VAL_1]] : (!fir.box>>) -> index ! CHECK: %[[VAL_28:.*]] = fir.emboxchar %[[VAL_26]]#0, %[[VAL_27]] : (!fir.ref>, index) -> !fir.boxchar<1> ! CHECK: fir.store %[[VAL_20]] to %[[VAL_2]] : !fir.ref -! CHECK: fir.call @_QPsto_char(%[[VAL_28]], %[[VAL_2]]) : (!fir.boxchar<1>, !fir.ref) -> () +! CHECK: fir.call @_QPsto_char(%[[VAL_28]], %[[VAL_2]]) {{.*}} : (!fir.boxchar<1>, !fir.ref) -> () ! CHECK: fir.result %[[VAL_26]]#1 : !fir.array> ! CHECK: } ! CHECK: fir.array_merge_store %[[VAL_9]], %[[VAL_29:.*]] to %[[VAL_1]] : !fir.array>, !fir.array>, !fir.box>> @@ -737,7 +737,7 @@ ! CHECK: %[[VAL_54:.*]] = arith.addi %[[VAL_52]], %[[VAL_53]] : index ! CHECK: %[[VAL_55:.*]]:2 = fir.array_modify %[[VAL_43]], %[[VAL_20]], %[[VAL_54]] : (!fir.array, index, index) -> (!fir.ref, !fir.array) ! CHECK: %[[VAL_56:.*]] = fir.emboxchar %[[VAL_50]], %[[VAL_51]] : (!fir.ref>, index) -> !fir.boxchar<1> -! CHECK: fir.call @_QPsfrom_char(%[[VAL_55]]#0, %[[VAL_56]]) : (!fir.ref, !fir.boxchar<1>) -> () +! CHECK: fir.call @_QPsfrom_char(%[[VAL_55]]#0, %[[VAL_56]]) {{.*}} : (!fir.ref, !fir.boxchar<1>) -> () ! CHECK: fir.result %[[VAL_55]]#1 : !fir.array ! CHECK: } ! CHECK: fir.result %[[VAL_57:.*]] : !fir.array @@ -799,7 +799,7 @@ ! CHECK: %[[VAL_53:.*]] = fir.box_elesize %[[VAL_1]] : (!fir.box>>) -> index ! CHECK: %[[VAL_54:.*]] = fir.emboxchar %[[VAL_52]]#0, %[[VAL_53]] : (!fir.ref>, index) -> !fir.boxchar<1> ! CHECK: fir.store %[[VAL_48]] to %[[VAL_2]] : !fir.ref -! CHECK: fir.call @_QPsto_char(%[[VAL_54]], %[[VAL_2]]) : (!fir.boxchar<1>, !fir.ref) -> () +! CHECK: fir.call @_QPsto_char(%[[VAL_54]], %[[VAL_2]]) {{.*}} : (!fir.boxchar<1>, !fir.ref) -> () ! CHECK: fir.result %[[VAL_52]]#1 : !fir.array> ! CHECK: } ! CHECK: fir.result %[[VAL_55:.*]] : !fir.array> Index: flang/test/Lower/assignment.f90 =================================================================== --- flang/test/Lower/assignment.f90 +++ flang/test/Lower/assignment.f90 @@ -47,7 +47,7 @@ ! CHECK-SAME: %[[A:.*]]: !fir.ref {fir.bindc_name = "a"}) -> f32 { ! CHECK: %[[FCTRES:.*]] = fir.alloca f32 {bindc_name = "negr", uniq_name = "_QFnegrEnegr"} ! CHECK: %[[A_VAL:.*]] = fir.load %[[A]] : !fir.ref -! CHECK: %[[NEG:.*]] = arith.negf %[[A_VAL]] : f32 +! CHECK: %[[NEG:.*]] = arith.negf %[[A_VAL]] {{.*}} : f32 ! CHECK: fir.store %[[NEG]] to %[[FCTRES]] : !fir.ref ! CHECK: %[[RET:.*]] = fir.load %[[FCTRES]] : !fir.ref ! CHECK: return %[[RET]] : f32 @@ -139,7 +139,7 @@ ! CHECK: %[[FCTRES:.*]] = fir.alloca f32 ! CHECK: %[[A_VAL:.*]] = fir.load %[[A]] : !fir.ref ! CHECK: %[[B_VAL:.*]] = fir.load %[[B]] : !fir.ref -! CHECK: %[[ADD:.*]] = arith.addf %[[A_VAL]], %[[B_VAL]] : f32 +! CHECK: %[[ADD:.*]] = arith.addf %[[A_VAL]], %[[B_VAL]] {{.*}} : f32 ! CHECK: fir.store %[[ADD]] to %[[FCTRES]] : !fir.ref ! CHECK: %[[RET:.*]] = fir.load %[[FCTRES]] : !fir.ref ! CHECK: return %[[RET]] : f32 @@ -155,7 +155,7 @@ ! CHECK: %[[FCTRES:.*]] = fir.alloca f32 ! CHECK: %[[A_VAL:.*]] = fir.load %[[A]] : !fir.ref ! CHECK: %[[B_VAL:.*]] = fir.load %[[B]] : !fir.ref -! CHECK: %[[SUB:.*]] = arith.subf %[[A_VAL]], %[[B_VAL]] : f32 +! CHECK: %[[SUB:.*]] = arith.subf %[[A_VAL]], %[[B_VAL]] {{.*}} : f32 ! CHECK: fir.store %[[SUB]] to %[[FCTRES]] : !fir.ref ! CHECK: %[[RET:.*]] = fir.load %[[FCTRES]] : !fir.ref ! CHECK: return %[[RET]] : f32 @@ -171,7 +171,7 @@ ! CHECK: %[[FCTRES:.*]] = fir.alloca f32 ! CHECK: %[[A_VAL:.*]] = fir.load %[[A]] : !fir.ref ! CHECK: %[[B_VAL:.*]] = fir.load %[[B]] : !fir.ref -! CHECK: %[[MUL:.*]] = arith.mulf %[[A_VAL]], %[[B_VAL]] : f32 +! CHECK: %[[MUL:.*]] = arith.mulf %[[A_VAL]], %[[B_VAL]] {{.*}} : f32 ! CHECK: fir.store %[[MUL]] to %[[FCTRES]] : !fir.ref ! CHECK: %[[RET:.*]] = fir.load %[[FCTRES]] : !fir.ref ! CHECK: return %[[RET]] : f32 @@ -187,7 +187,7 @@ ! CHECK: %[[FCTRES:.*]] = fir.alloca f32 ! CHECK: %[[A_VAL:.*]] = fir.load %[[A]] : !fir.ref ! CHECK: %[[B_VAL:.*]] = fir.load %[[B]] : !fir.ref -! CHECK: %[[DIV:.*]] = arith.divf %[[A_VAL]], %[[B_VAL]] : f32 +! CHECK: %[[DIV:.*]] = arith.divf %[[A_VAL]], %[[B_VAL]] {{.*}} : f32 ! CHECK: fir.store %[[DIV]] to %[[FCTRES]] : !fir.ref ! CHECK: %[[RET:.*]] = fir.load %[[FCTRES]] : !fir.ref ! CHECK: return %[[RET]] : f32 Index: flang/test/Lower/associate-construct-2.f90 =================================================================== --- flang/test/Lower/associate-construct-2.f90 +++ flang/test/Lower/associate-construct-2.f90 @@ -15,7 +15,7 @@ ! CHECK: %[[VAL_14:.*]] = fir.shape %[[VAL_4]] : (index) -> !fir.shape<1> ! CHECK: %[[VAL_15:.*]] = fir.slice %[[VAL_7]], %[[VAL_13]], %[[VAL_10]] : (index, index, index) -> !fir.slice<1> ! CHECK: %[[VAL_16:.*]] = fir.embox %[[VAL_0]](%[[VAL_14]]) {{\[}}%[[VAL_15]]] : (!fir.ref>, !fir.shape<1>, !fir.slice<1>) -> !fir.box> -! CHECK: fir.call @_QPbob(%[[VAL_16]]) : (!fir.box>) -> () +! CHECK: fir.call @_QPbob(%[[VAL_16]]) {{.*}} : (!fir.box>) -> () ! CHECK: return ! CHECK: } @@ -42,7 +42,7 @@ ! CHECK: %[[n:.*]] = fir.load %[[nadd]] : !fir.ref ! CHECK: %[[n10:.*]] = arith.addi %[[n]], %c10{{.*}} : i32 ! CHECK: fir.store %[[n10]] to %{{.*}} : !fir.ref - ! CHECK: %[[foo:.*]] = fir.call @_QPfoo(%{{.*}}) : (!fir.ref) -> i32 + ! CHECK: %[[foo:.*]] = fir.call @_QPfoo(%{{.*}}) {{.*}} : (!fir.ref) -> i32 ! CHECK: fir.store %[[foo]] to %{{.*}} : !fir.ref associate (i => n, j => n + 10, k => foo(20)) print *, i, j, k, n Index: flang/test/Lower/assumed-shape-callee.f90 =================================================================== --- flang/test/Lower/assumed-shape-callee.f90 +++ flang/test/Lower/assumed-shape-callee.f90 @@ -22,7 +22,7 @@ ! CHECK: %[[shape:.*]] = fir.shape_shift %[[c1]], %[[dims]]#1 : (index, index) -> !fir.shapeshift<1> ! CHECK: %[[newbox:.*]] = fir.embox %[[addr]](%[[shape]]) : (!fir.ref>, !fir.shapeshift<1>) -> !fir.box> ! CHECK: %[[castedBox:.*]] = fir.convert %[[newbox]] : (!fir.box>) -> !fir.box - ! CHECK: fir.call @_FortranAioOutputDescriptor(%[[cookie]], %[[castedBox]]) : (!fir.ref, !fir.box) -> i1 + ! CHECK: fir.call @_FortranAioOutputDescriptor(%[[cookie]], %[[castedBox]]) {{.*}} : (!fir.ref, !fir.box) -> i1 end subroutine ! lower bounds all ones Index: flang/test/Lower/assumed-shape-caller.f90 =================================================================== --- flang/test/Lower/assumed-shape-caller.f90 +++ flang/test/Lower/assumed-shape-caller.f90 @@ -21,7 +21,7 @@ ! CHECK: %[[shape:.*]] = fir.shape %[[c42]], %[[c55]], %[[c12]] : (index, index, index) -> !fir.shape<3> ! CHECK: %[[embox:.*]] = fir.embox %[[addr]](%[[shape]]) : (!fir.ref>, !fir.shape<3>) -> !fir.box> ! CHECK: %[[castedBox:.*]] = fir.convert %[[embox]] : (!fir.box>) -> !fir.box> - ! CHECK: fir.call @_QPbar(%[[castedBox]]) : (!fir.box>) -> () + ! CHECK: fir.call @_QPbar(%[[castedBox]]) {{.*}} : (!fir.box>) -> () end subroutine @@ -44,7 +44,7 @@ ! CHECK: %[[shape:.*]] = fir.shape %[[c42]], %[[c55]], %[[c12]] : (index, index, index) -> !fir.shape<3> ! CHECK: %[[embox:.*]] = fir.embox %[[addr]](%[[shape]]) typeparams %[[x]]#1 : (!fir.ref>>, !fir.shape<3>, index) -> !fir.box>> ! CHECK: %[[castedBox:.*]] = fir.convert %[[embox]] : (!fir.box>>) -> !fir.box>> - ! CHECK: fir.call @_QPbar_char(%[[castedBox]]) : (!fir.box>>) -> () + ! CHECK: fir.call @_QPbar_char(%[[castedBox]]) {{.*}} : (!fir.box>>) -> () end subroutine ! CHECK-LABEL: func @_QPtest_vector_subcripted_section_to_box( @@ -87,7 +87,7 @@ ! CHECK: fir.array_merge_store %[[VAL_13]], %[[VAL_25:.*]] to %[[VAL_11]] : !fir.array, !fir.array, !fir.heap> ! CHECK: %[[VAL_26:.*]] = fir.shape %[[VAL_9]] : (index) -> !fir.shape<1> ! CHECK: %[[VAL_27:.*]] = fir.embox %[[VAL_11]](%[[VAL_26]]) : (!fir.heap>, !fir.shape<1>) -> !fir.box> -! CHECK: fir.call @_QPtakes_box(%[[VAL_27]]) : (!fir.box>) -> () +! CHECK: fir.call @_QPtakes_box(%[[VAL_27]]) {{.*}} : (!fir.box>) -> () ! CHECK: fir.freemem %[[VAL_11]] : !fir.heap> end subroutine Index: flang/test/Lower/basic-call.f90 =================================================================== --- flang/test/Lower/basic-call.f90 +++ flang/test/Lower/basic-call.f90 @@ -9,7 +9,7 @@ end ! CHECK-LABEL: func @_QPsub2() -! CHECK: fir.call @_QPsub1() : () -> () +! CHECK: fir.call @_QPsub1() {{.*}} : () -> () subroutine sub3(a, b) integer :: a @@ -31,7 +31,7 @@ ! CHECK: fir.store %[[C2]] to %[[INT_VALUE]] : !fir.ref ! CHECK: %[[C3:.*]] = arith.constant 3.000000e+00 : f32 ! CHECK: fir.store %[[C3]] to %[[REAL_VALUE]] : !fir.ref -! CHECK: fir.call @_QPsub3(%[[INT_VALUE]], %[[REAL_VALUE]]) : (!fir.ref, !fir.ref) -> () +! CHECK: fir.call @_QPsub3(%[[INT_VALUE]], %[[REAL_VALUE]]) {{.*}} : (!fir.ref, !fir.ref) -> () subroutine call_fct1() real :: a, b, c @@ -42,7 +42,7 @@ ! CHECK: %[[A:.*]] = fir.alloca f32 {bindc_name = "a", uniq_name = "_QFcall_fct1Ea"} ! CHECK: %[[B:.*]] = fir.alloca f32 {bindc_name = "b", uniq_name = "_QFcall_fct1Eb"} ! CHECK: %[[C:.*]] = fir.alloca f32 {bindc_name = "c", uniq_name = "_QFcall_fct1Ec"} -! CHECK: %[[RES:.*]] = fir.call @_QPfct1(%[[A]], %[[B]]) : (!fir.ref, !fir.ref) -> f32 +! CHECK: %[[RES:.*]] = fir.call @_QPfct1(%[[A]], %[[B]]) {{.*}} : (!fir.ref, !fir.ref) -> f32 ! CHECK: fir.store %[[RES]] to %[[C]] : !fir.ref ! CHECK: return Index: flang/test/Lower/big-integer-parameter.f90 =================================================================== --- flang/test/Lower/big-integer-parameter.f90 +++ flang/test/Lower/big-integer-parameter.f90 @@ -14,7 +14,7 @@ end ! CHECK-LABEL: func.func @_QQmain() { -! CHECK-COUNT-2: %{{.*}} = fir.call @_FortranAioOutputInteger128(%{{.*}}, %{{.*}}) : (!fir.ref, i128) -> i1 +! CHECK-COUNT-2: %{{.*}} = fir.call @_FortranAioOutputInteger128(%{{.*}}, %{{.*}}) {{.*}} : (!fir.ref, i128) -> i1 ! CHECK-LABEL: fir.global internal @_QFECmaxi128 constant : i128 { Index: flang/test/Lower/c-interoperability-c-pointer.f90 =================================================================== --- flang/test/Lower/c-interoperability-c-pointer.f90 +++ flang/test/Lower/c-interoperability-c-pointer.f90 @@ -11,7 +11,7 @@ ! CHECK: %[[VAL_7:.*]] = fir.coordinate_of %[[VAL_1]], %[[VAL_6]] : (!fir.ref>, !fir.field) -> !fir.ref ! CHECK: %[[VAL_8:.*]] = fir.load %[[VAL_7]] : !fir.ref ! CHECK: %[[VAL_9:.*]] = fir.convert %[[VAL_8]] : (i64) -> !fir.ref -! CHECK: fir.call @c_func(%[[VAL_5]], %[[VAL_9]]) : (!fir.ref, !fir.ref) -> () +! CHECK: fir.call @c_func(%[[VAL_5]], %[[VAL_9]]) {{.*}} : (!fir.ref, !fir.ref) -> () ! CHECK: return ! CHECK: } Index: flang/test/Lower/call-by-value-attr.f90 =================================================================== --- flang/test/Lower/call-by-value-attr.f90 +++ flang/test/Lower/call-by-value-attr.f90 @@ -24,7 +24,7 @@ !CHECK: %[[CONST:.*]] = arith.constant 17 !CHECK: fir.store %[[CONST]] to %[[VALUE]] !CHECK: %[[LOAD:.*]] = fir.load %[[VALUE]] - !CHECK: fir.call @_QPsubri(%[[LOAD]]) : {{.*}} + !CHECK: fir.call @_QPsubri(%[[LOAD]]) {{.*}} : {{.*}} a = (/ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 /) !CHECK: %[[SHAPE_1:.*]] = fir.shape %[[CONST_10_1]] !CHECK: %[[ARRAY_LOAD_1:.*]] = fir.array_load %[[ARRAY_A]](%[[SHAPE_1]]) : {{.*}} @@ -66,7 +66,7 @@ !CHECK: %[[SLICE:.*]] = fir.slice %[[CONV_5]], %[[CONV_15]], %[[CONV_1]] : (index, index, index) -> !fir.slice<1> !CHECK: %[[BOX:.*]] = fir.embox %[[ARRAY_B]](%[[SHAPE_7]]) [%[[SLICE]]] : (!fir.ref>, !fir.shape<1>, !fir.slice<1>) -> !fir.box> !CHECK: %[[BOX_NONE:.*]] = fir.convert %[[BOX]] : (!fir.box>) -> !fir.box - !CHECK: %[[IS_CONTIGUOUS:.*]] = fir.call @_FortranAIsContiguous(%[[BOX_NONE]]) : (!fir.box) -> i1 + !CHECK: %[[IS_CONTIGUOUS:.*]] = fir.call @_FortranAIsContiguous(%[[BOX_NONE]]) {{.*}} : (!fir.box) -> i1 !CHECK: %[[ADDR:.*]] = fir.if %[[IS_CONTIGUOUS]] -> (!fir.heap>) { !CHECK: %[[BOX_ADDR:.*]] = fir.box_addr %[[BOX]] : (!fir.box>) -> !fir.heap> !CHECKL fir.result %[[BOXADDR]] : !fir.heap> @@ -89,7 +89,7 @@ ! CHECK-SAME: %[[VAL_0:.*]]: i32 {fir.bindc_name = "val"}) { ! CHECK: %[[VAL_1:.*]] = fir.alloca i32 ! CHECK: fir.store %[[VAL_0]] to %[[VAL_1]] : !fir.ref -! CHECK: fir.call @_QPtest_numeric_scalar_value(%[[VAL_1]]) : (!fir.ref) -> () +! CHECK: fir.call @_QPtest_numeric_scalar_value(%[[VAL_1]]) {{.*}} : (!fir.ref) -> () ! CHECK: return ! CHECK: } @@ -115,7 +115,7 @@ ! CHECK: } ! CHECK: fir.array_merge_store %{{.*}}, %{{.*}} to %[[VAL_5]] : !fir.array<100xi32>, !fir.array<100xi32>, !fir.heap> ! CHECK: %[[VAL_17:.*]] = fir.convert %[[VAL_5]] : (!fir.heap>) -> !fir.ref> - ! CHECK: fir.call @_QPtakes_array_value(%[[VAL_17]]) : (!fir.ref>) -> () + ! CHECK: fir.call @_QPtakes_array_value(%[[VAL_17]]) {{.*}} : (!fir.ref>) -> () call takes_array_value(p) ! CHECK: fir.freemem %[[VAL_5]] : !fir.heap> end subroutine @@ -136,9 +136,9 @@ ! CHECK: %[[VAL_6:.*]] = arith.constant false ! CHECK: %[[VAL_7:.*]] = fir.convert %[[VAL_2]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_8:.*]] = fir.convert %[[VAL_0]] : (!fir.ref>) -> !fir.ref - ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_7]], %[[VAL_8]], %[[VAL_5]], %[[VAL_6]]) : (!fir.ref, !fir.ref, i64, i1) -> () + ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_7]], %[[VAL_8]], %[[VAL_5]], %[[VAL_6]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_9:.*]] = fir.convert %[[VAL_2]] : (!fir.ref>) -> !fir.ref> ! CHECK: %[[VAL_10:.*]] = fir.emboxchar %[[VAL_9]], %[[VAL_1]] : (!fir.ref>, index) -> !fir.boxchar<1> - ! CHECK: fir.call @_QPtakes_char_value(%[[VAL_10]]) : (!fir.boxchar<1>) -> () + ! CHECK: fir.call @_QPtakes_char_value(%[[VAL_10]]) {{.*}} : (!fir.boxchar<1>) -> () call takes_char_value("a character string litteral that could be locally modfied by the callee") end subroutine Index: flang/test/Lower/call-by-value.f90 =================================================================== --- flang/test/Lower/call-by-value.f90 +++ flang/test/Lower/call-by-value.f90 @@ -7,7 +7,7 @@ !CHECK: %[[VALUE:.*]] = fir.convert %false : (i1) -> !fir.logical<4> !CHECK: fir.store %[[VALUE]] to %[[LOGICAL]] !CHECK: %[[LOAD:.*]] = fir.load %[[LOGICAL]] -!CHECK: fir.call @omp_set_nested(%[[LOAD]]) : {{.*}} +!CHECK: fir.call @omp_set_nested(%[[LOAD]]) {{.*}} : {{.*}} program call_by_value interface @@ -25,7 +25,7 @@ ! CHECK-SAME: %[[VAL_0:.*]]: i32 {fir.bindc_name = "x"}) attributes {fir.bindc_name = "test_integer_value"} { ! CHECK: %[[VAL_1:.*]] = fir.alloca i32 ! CHECK: fir.store %[[VAL_0]] to %[[VAL_1]] : !fir.ref -! CHECK: fir.call @_QPinternal_call(%[[VAL_1]]) : (!fir.ref) -> () +! CHECK: fir.call @_QPinternal_call(%[[VAL_1]]) {{.*}} : (!fir.ref) -> () ! CHECK: return ! CHECK: } @@ -38,7 +38,7 @@ ! CHECK-SAME: %[[VAL_0:.*]]: f32 {fir.bindc_name = "x"}) attributes {fir.bindc_name = "test_real_value"} { ! CHECK: %[[VAL_1:.*]] = fir.alloca f32 ! CHECK: fir.store %[[VAL_0]] to %[[VAL_1]] : !fir.ref -! CHECK: fir.call @_QPinternal_call2(%[[VAL_1]]) : (!fir.ref) -> () +! CHECK: fir.call @_QPinternal_call2(%[[VAL_1]]) {{.*}} : (!fir.ref) -> () ! CHECK: return ! CHECK: } @@ -51,7 +51,7 @@ ! CHECK-SAME: %[[VAL_0:.*]]: !fir.complex<4> {fir.bindc_name = "x"}) attributes {fir.bindc_name = "test_complex_value"} { ! CHECK: %[[VAL_1:.*]] = fir.alloca !fir.complex<4> ! CHECK: fir.store %[[VAL_0]] to %[[VAL_1]] : !fir.ref> -! CHECK: fir.call @_QPinternal_call3(%[[VAL_1]]) : (!fir.ref>) -> () +! CHECK: fir.call @_QPinternal_call3(%[[VAL_1]]) {{.*}} : (!fir.ref>) -> () ! CHECK: return ! CHECK: } @@ -65,7 +65,7 @@ ! CHECK: %[[VAL_1:.*]]:2 = fir.unboxchar %[[VAL_0]] : (!fir.boxchar<1>) -> (!fir.ref>, index) ! CHECK: %[[VAL_2:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_3:.*]] = fir.emboxchar %[[VAL_1]]#0, %[[VAL_2]] : (!fir.ref>, index) -> !fir.boxchar<1> -! CHECK: fir.call @_QPinternal_call4(%[[VAL_3]]) : (!fir.boxchar<1>) -> () +! CHECK: fir.call @_QPinternal_call4(%[[VAL_3]]) {{.*}} : (!fir.boxchar<1>) -> () ! CHECK: return ! CHECK: } @@ -81,7 +81,7 @@ ! CHECK: %[[VAL_3:.*]] = fir.coordinate_of %[[VAL_1]], %[[VAL_2]] : (!fir.ref>, !fir.field) -> !fir.ref ! CHECK: %[[VAL_4:.*]] = fir.convert %[[VAL_0]] : (!fir.ref) -> i64 ! CHECK: fir.store %[[VAL_4]] to %[[VAL_3]] : !fir.ref -! CHECK: fir.call @_QPinternal_call5(%[[VAL_1]]) : (!fir.ref>) -> () +! CHECK: fir.call @_QPinternal_call5(%[[VAL_1]]) {{.*}} : (!fir.ref>) -> () ! CHECK: return ! CHECK: } Index: flang/test/Lower/call-copy-in-out.f90 =================================================================== --- flang/test/Lower/call-copy-in-out.f90 +++ flang/test/Lower/call-copy-in-out.f90 @@ -8,7 +8,7 @@ real :: x(:) ! CHECK: %[[box_none:.*]] = fir.convert %[[x]] : (!fir.box>) -> !fir.box -! CHECK: %[[is_contiguous:.*]] = fir.call @_FortranAIsContiguous(%[[box_none]]) : (!fir.box) -> i1 +! CHECK: %[[is_contiguous:.*]] = fir.call @_FortranAIsContiguous(%[[box_none]]) {{.*}} : (!fir.box) -> i1 ! CHECK: %[[addr:.*]] = fir.if %[[is_contiguous]] -> (!fir.heap>) { ! CHECK: %[[box_addr:.*]] = fir.box_addr %[[x]] : (!fir.box>) -> !fir.heap> ! CHECK: fir.result %[[box_addr]] : !fir.heap> @@ -31,7 +31,7 @@ ! CHECK: %[[dim:.*]]:3 = fir.box_dims %[[x]], %c0{{.*}} : (!fir.box>, index) -> (index, index, index) ! CHECK: %[[cast:.*]] = fir.convert %[[addr]] : (!fir.heap>) -> !fir.ref> -! CHECK: fir.call @_QPbar(%[[cast]]) : (!fir.ref>) -> () +! CHECK: fir.call @_QPbar(%[[cast]]) {{.*}} : (!fir.ref>) -> () ! Copy-out ! CHECK-DAG: %[[x_load:.*]] = fir.array_load %[[x]] : (!fir.box>) -> !fir.array @@ -61,7 +61,7 @@ ! CHECK: fir.call @_QPonly_once() ! CHECK: %[[x_section:.*]] = fir.embox %[[x]](%{{.*}}) [%{{.*}}] : (!fir.ref>, !fir.shape<1>, !fir.slice<1>) -> !fir.box> ! CHECK: %[[box_none:.*]] = fir.convert %[[x_section]] : (!fir.box>) -> !fir.box -! CHECK: %[[is_contiguous:.*]] = fir.call @_FortranAIsContiguous(%[[box_none]]) : (!fir.box) -> i1 +! CHECK: %[[is_contiguous:.*]] = fir.call @_FortranAIsContiguous(%[[box_none]]) {{.*}} : (!fir.box) -> i1 ! CHECK: %[[addr:.*]] = fir.if %[[is_contiguous]] -> (!fir.heap>) { ! CHECK: %[[temp:.*]] = fir.allocmem !fir.array @@ -70,7 +70,7 @@ ! CHECK-NOT: fir.call @_QPonly_once() ! CHECK: %[[cast:.*]] = fir.convert %[[addr]] : (!fir.heap>) -> !fir.ref> -! CHECK: fir.call @_QPbar(%[[cast]]) : (!fir.ref>) -> () +! CHECK: fir.call @_QPbar(%[[cast]]) {{.*}} : (!fir.ref>) -> () call bar(x(1:200:only_once())) ! CHECK-NOT: fir.call @_QPonly_once() @@ -87,7 +87,7 @@ real, contiguous :: x(:) ! CHECK: %[[addr:.*]] = fir.box_addr %[[x]] : (!fir.box>) -> !fir.ref> ! CHECK-NOT: fir.array_merge_store -! CHECK: fir.call @_QPbar(%[[addr]]) : (!fir.ref>) -> () +! CHECK: fir.call @_QPbar(%[[addr]]) {{.*}} : (!fir.ref>) -> () call bar(x) ! CHECK-NOT: fir.array_merge_store ! CHECK: return @@ -102,7 +102,7 @@ ! CHECK: %[[temp:.*]] = fir.allocmem !fir.array, %[[dim]]#1 {uniq_name = ".array.expr"} ! CHECK: fir.array_merge_store %{{.*}}, %{{.*}} to %[[temp]] ! CHECK: %[[cast:.*]] = fir.convert %[[temp]] : (!fir.heap>) -> !fir.ref> -! CHECK: fir.call @_QPbar(%[[cast]]) : (!fir.ref>) -> () +! CHECK: fir.call @_QPbar(%[[cast]]) {{.*}} : (!fir.ref>) -> () call bar((x)) ! CHECK-NOT: fir.array_merge_store ! CHECK: fir.freemem %[[temp]] : !fir.heap> @@ -120,7 +120,7 @@ end subroutine end interface ! CHECK: %[[box_none:.*]] = fir.convert %[[x]] : (!fir.box>) -> !fir.box -! CHECK: %[[is_contiguous:.*]] = fir.call @_FortranAIsContiguous(%[[box_none]]) : (!fir.box) -> i1 +! CHECK: %[[is_contiguous:.*]] = fir.call @_FortranAIsContiguous(%[[box_none]]) {{.*}} : (!fir.box) -> i1 ! CHECK: %[[addr:.*]] = fir.if %[[is_contiguous]] ! CHECK: } else { ! CHECK: %[[dim:.*]]:3 = fir.box_dims %[[x]], %c0{{.*}} : (!fir.box>, index) -> (index, index, index) @@ -128,7 +128,7 @@ ! CHECK-NOT: fir.array_merge_store ! CHECK: %[[not_contiguous:.*]] = arith.cmpi eq, %[[is_contiguous]], %false{{.*}} : i1 ! CHECK: %[[cast:.*]] = fir.convert %[[addr]] : (!fir.heap>) -> !fir.ref> -! CHECK: fir.call @_QPbar_intent_out(%[[cast]]) : (!fir.ref>) -> () +! CHECK: fir.call @_QPbar_intent_out(%[[cast]]) {{.*}} : (!fir.ref>) -> () call bar_intent_out(x) ! CHECK: fir.if %[[not_contiguous]] @@ -148,7 +148,7 @@ end subroutine end interface ! CHECK: %[[box_none:.*]] = fir.convert %[[x]] : (!fir.box>) -> !fir.box -! CHECK: %[[is_contiguous:.*]] = fir.call @_FortranAIsContiguous(%[[box_none]]) : (!fir.box) -> i1 +! CHECK: %[[is_contiguous:.*]] = fir.call @_FortranAIsContiguous(%[[box_none]]) {{.*}} : (!fir.box) -> i1 ! CHECK: %[[addr:.*]] = fir.if %[[is_contiguous]] ! CHECK: } else { ! CHECK: %[[dim:.*]]:3 = fir.box_dims %[[x]], %c0{{.*}} : (!fir.box>, index) -> (index, index, index) @@ -156,7 +156,7 @@ ! CHECK: fir.array_merge_store %{{.*}}, %{{.*}} to %[[temp]] ! CHECK: %[[not_contiguous:.*]] = arith.cmpi eq, %[[is_contiguous]], %false{{.*}} : i1 ! CHECK: %[[cast:.*]] = fir.convert %[[addr]] : (!fir.heap>) -> !fir.ref> -! CHECK: fir.call @_QPbar_intent_in(%[[cast]]) : (!fir.ref>) -> () +! CHECK: fir.call @_QPbar_intent_in(%[[cast]]) {{.*}} : (!fir.ref>) -> () call bar_intent_in(x) ! CHECK: fir.if %[[not_contiguous]] ! CHECK-NOT: fir.array_merge_store @@ -175,7 +175,7 @@ end subroutine end interface ! CHECK: %[[box_none:.*]] = fir.convert %[[x]] : (!fir.box>) -> !fir.box -! CHECK: %[[is_contiguous:.*]] = fir.call @_FortranAIsContiguous(%[[box_none]]) : (!fir.box) -> i1 +! CHECK: %[[is_contiguous:.*]] = fir.call @_FortranAIsContiguous(%[[box_none]]) {{.*}} : (!fir.box) -> i1 ! CHECK: %[[addr:.*]] = fir.if %[[is_contiguous]] ! CHECK: } else { ! CHECK: %[[dim:.*]]:3 = fir.box_dims %[[x]], %c0{{.*}} : (!fir.box>, index) -> (index, index, index) @@ -183,7 +183,7 @@ ! CHECK: fir.array_merge_store %{{.*}}, %{{.*}} to %[[temp]] ! CHECK: %[[not_contiguous:.*]] = arith.cmpi eq, %[[is_contiguous]], %false{{.*}} : i1 ! CHECK: %[[cast:.*]] = fir.convert %[[addr]] : (!fir.heap>) -> !fir.ref> -! CHECK: fir.call @_QPbar_intent_inout(%[[cast]]) : (!fir.ref>) -> () +! CHECK: fir.call @_QPbar_intent_inout(%[[cast]]) {{.*}} : (!fir.ref>) -> () call bar_intent_inout(x) ! CHECK: fir.if %[[not_contiguous]] ! CHECK: fir.array_merge_store %{{.*}}, %{{.*}} to %[[x]] @@ -197,7 +197,7 @@ subroutine test_char(x) ! CHECK: %[[VAL_1:.*]] = arith.constant 10 : index ! CHECK: %[[box_none:.*]] = fir.convert %[[VAL_0]] : (!fir.box>>) -> !fir.box - ! CHECK: %[[is_contiguous:.*]] = fir.call @_FortranAIsContiguous(%[[box_none]]) : (!fir.box) -> i1 + ! CHECK: %[[is_contiguous:.*]] = fir.call @_FortranAIsContiguous(%[[box_none]]) {{.*}} : (!fir.box) -> i1 ! CHECK: %[[addr:.*]] = fir.if %[[is_contiguous]] ! CHECK: } else { ! CHECK: %[[VAL_2:.*]] = arith.constant 0 : index @@ -219,7 +219,7 @@ ! CHECK: %[[VAL_20:.*]] = arith.constant false ! CHECK: %[[VAL_21:.*]] = fir.convert %[[VAL_15]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_22:.*]] = fir.convert %[[VAL_14]] : (!fir.ref>) -> !fir.ref - ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_21]], %[[VAL_22]], %[[VAL_19]], %[[VAL_20]]) : (!fir.ref, !fir.ref, i64, i1) -> () + ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_21]], %[[VAL_22]], %[[VAL_19]], %[[VAL_20]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_23:.*]] = fir.array_amend %[[VAL_13]], %[[VAL_15]] : (!fir.array>, !fir.ref>) -> !fir.array> ! CHECK: fir.result %[[VAL_23]] : !fir.array> ! CHECK: } @@ -227,7 +227,7 @@ ! CHECK: %[[dim:.*]]:3 = fir.box_dims %[[VAL_0]], %c0{{.*}} : (!fir.box>>, index) -> (index, index, index) ! CHECK: %[[VAL_25:.*]] = fir.convert %[[addr]] : (!fir.heap>>) -> !fir.ref> ! CHECK: %[[VAL_26:.*]] = fir.emboxchar %[[VAL_25]], %[[VAL_1]] : (!fir.ref>, index) -> !fir.boxchar<1> - ! CHECK: fir.call @_QPbar_char(%[[VAL_26]]) : (!fir.boxchar<1>) -> () + ! CHECK: fir.call @_QPbar_char(%[[VAL_26]]) {{.*}} : (!fir.boxchar<1>) -> () ! CHECK: %[[VAL_27:.*]] = fir.array_load %[[VAL_0]] : (!fir.box>>) -> !fir.array> ! CHECK: %[[VAL_28:.*]] = arith.constant 0 : index ! CHECK: %[[VAL_29:.*]]:3 = fir.box_dims %[[VAL_0]], %[[VAL_28]] : (!fir.box>>, index) -> (index, index, index) @@ -246,7 +246,7 @@ ! CHECK: %[[VAL_44:.*]] = arith.constant false ! CHECK: %[[VAL_45:.*]] = fir.convert %[[VAL_39]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_46:.*]] = fir.convert %[[VAL_38]] : (!fir.ref>) -> !fir.ref - ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_45]], %[[VAL_46]], %[[VAL_43]], %[[VAL_44]]) : (!fir.ref, !fir.ref, i64, i1) -> () + ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_45]], %[[VAL_46]], %[[VAL_43]], %[[VAL_44]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_47:.*]] = fir.array_amend %[[VAL_37]], %[[VAL_39]] : (!fir.array>, !fir.ref>) -> !fir.array> ! CHECK: fir.result %[[VAL_47]] : !fir.array> ! CHECK: } @@ -269,7 +269,7 @@ ! CHECK: %[[coor:.*]] = fir.coordinate_of %[[c]], %{{.*}} : (!fir.ref>>, index) -> !fir.ref> ! CHECK: %[[substr:.*]] = fir.convert %[[coor]] : (!fir.ref>) -> !fir.ref> ! CHECK: %[[boxchar:.*]] = fir.emboxchar %[[substr]], %{{.*}} : (!fir.ref>, index) -> !fir.boxchar<1> - ! CHECK: fir.call @_QPbar_char_2(%[[boxchar]]) : (!fir.boxchar<1>) -> () + ! CHECK: fir.call @_QPbar_char_2(%[[boxchar]]) {{.*}} : (!fir.boxchar<1>) -> () call bar_char_2(c(i:j)) end subroutine @@ -313,7 +313,7 @@ type(t) :: a ! CHECK: %[[field:.*]] = fir.field_index i, !fir.type<_QFwhole_componentsTt{i:!fir.array<100xi32>}> ! CHECK: %[[addr:.*]] = fir.coordinate_of %[[a]], %[[field]] : (!fir.ref}>>, !fir.field) -> !fir.ref> - ! CHECK: fir.call @_QPbar_integer(%[[addr]]) : (!fir.ref>) -> () + ! CHECK: fir.call @_QPbar_integer(%[[addr]]) {{.*}} : (!fir.ref>) -> () call bar_integer(a%i) end subroutine @@ -330,7 +330,7 @@ ! CHECK: %[[box_load:.*]] = fir.load %[[coor]] : !fir.ref>>> ! CHECK: %[[addr:.*]] = fir.box_addr %[[box_load]] : (!fir.box>>) -> !fir.ptr> ! CHECK: %[[cast:.*]] = fir.convert %[[addr]] : (!fir.ptr>) -> !fir.ref> - ! CHECK: fir.call @_QPbar_integer(%[[cast]]) : (!fir.ref>) -> () + ! CHECK: fir.call @_QPbar_integer(%[[cast]]) {{.*}} : (!fir.ref>) -> () call bar_integer(a%i) end subroutine @@ -349,6 +349,6 @@ ! CHECK: %[[len:.*]] = fir.box_elesize %[[box_load]] : (!fir.box>>>) -> index ! CHECK: %[[cast:.*]] = fir.convert %[[addr]] : (!fir.ptr>>) -> !fir.ref> ! CHECK: %[[embox:.*]] = fir.emboxchar %[[cast]], %[[len]] : (!fir.ref>, index) -> !fir.boxchar<1> - ! CHECK: fir.call @_QPbar_char_3(%[[embox]]) : (!fir.boxchar<1>) -> () + ! CHECK: fir.call @_QPbar_char_3(%[[embox]]) {{.*}} : (!fir.boxchar<1>) -> () call bar_char_3(a%i) end subroutine Index: flang/test/Lower/call-implicit.f90 =================================================================== --- flang/test/Lower/call-implicit.f90 +++ flang/test/Lower/call-implicit.f90 @@ -4,11 +4,11 @@ subroutine s2 integer i(3) ! CHECK: %[[a0:.*]] = fir.alloca !fir.array<3xi32> {bindc_name = "i", uniq_name = "_QFs2Ei"} - ! CHECK: fir.call @_QPsub2(%[[a0]]) : (!fir.ref>) -> () + ! CHECK: fir.call @_QPsub2(%[[a0]]) {{.*}} : (!fir.ref>) -> () call sub2(i) ! CHECK: %[[a1:.*]] = fir.address_of(@_QQcl.3031323334) : !fir.ref> ! CHECK: %[[a2:.*]] = fir.convert %[[a1]] : (!fir.ref>) -> !fir.ref> ! CHECK: %[[a3:.*]] = fir.convert %[[a2]] : (!fir.ref>) -> !fir.ref> - ! CHECK: fir.call @_QPsub2(%[[a3]]) : (!fir.ref>) -> () + ! CHECK: fir.call @_QPsub2(%[[a3]]) {{.*}} : (!fir.ref>) -> () call sub2("01234") end Index: flang/test/Lower/call-parenthesized-arg.f90 =================================================================== --- flang/test/Lower/call-parenthesized-arg.f90 +++ flang/test/Lower/call-parenthesized-arg.f90 @@ -8,12 +8,12 @@ integer :: x ! CHECK: %[[VAL_1:.*]] = fir.alloca i32 call bar_num_scalar(x) -! CHECK: fir.call @_QPbar_num_scalar(%[[VAL_0]]) : (!fir.ref) -> () +! CHECK: fir.call @_QPbar_num_scalar(%[[VAL_0]]) {{.*}} : (!fir.ref) -> () call bar_num_scalar((x)) ! CHECK: %[[VAL_2:.*]] = fir.load %[[VAL_0]] : !fir.ref ! CHECK: %[[VAL_3:.*]] = fir.no_reassoc %[[VAL_2]] : i32 ! CHECK: fir.store %[[VAL_3]] to %[[VAL_1]] : !fir.ref -! CHECK: fir.call @_QPbar_num_scalar(%[[VAL_1]]) : (!fir.ref) -> () +! CHECK: fir.call @_QPbar_num_scalar(%[[VAL_1]]) {{.*}} : (!fir.ref) -> () ! CHECK: return ! CHECK: } end subroutine @@ -25,7 +25,7 @@ ! CHECK: %[[VAL_1:.*]]:2 = fir.unboxchar %[[VAL_0]] : (!fir.boxchar<1>) -> (!fir.ref>, index) ! CHECK: %[[VAL_2:.*]] = arith.constant 5 : index ! CHECK: %[[VAL_3:.*]] = fir.emboxchar %[[VAL_1]]#0, %[[VAL_2]] : (!fir.ref>, index) -> !fir.boxchar<1> -! CHECK: fir.call @_QPbar_char_scalar(%[[VAL_3]]) : (!fir.boxchar<1>) -> () +! CHECK: fir.call @_QPbar_char_scalar(%[[VAL_3]]) {{.*}} : (!fir.boxchar<1>) -> () call bar_char_scalar(x) ! CHECK: %[[VAL_4:.*]] = fir.no_reassoc %[[VAL_1]]#0 : !fir.ref> ! CHECK: %[[VAL_5:.*]] = fir.alloca !fir.char<1,5> {bindc_name = ".chrtmp"} @@ -35,10 +35,10 @@ ! CHECK: %[[VAL_9:.*]] = arith.constant false ! CHECK: %[[VAL_10:.*]] = fir.convert %[[VAL_5]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_11:.*]] = fir.convert %[[VAL_4]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_10]], %[[VAL_11]], %[[VAL_8]], %[[VAL_9]]) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_10]], %[[VAL_11]], %[[VAL_8]], %[[VAL_9]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_12:.*]] = fir.convert %[[VAL_5]] : (!fir.ref>) -> !fir.ref> ! CHECK: %[[VAL_13:.*]] = fir.emboxchar %[[VAL_12]], %[[VAL_2]] : (!fir.ref>, index) -> !fir.boxchar<1> -! CHECK: fir.call @_QPbar_char_scalar(%[[VAL_13]]) : (!fir.boxchar<1>) -> () +! CHECK: fir.call @_QPbar_char_scalar(%[[VAL_13]]) {{.*}} : (!fir.boxchar<1>) -> () ! CHECK: return ! CHECK: } call bar_char_scalar((x)) @@ -50,7 +50,7 @@ integer :: x(100) call bar_num_array(x) ! CHECK: %[[VAL_1:.*]] = arith.constant 100 : index -! CHECK: fir.call @_QPbar_num_array(%[[VAL_0]]) : (!fir.ref>) -> () +! CHECK: fir.call @_QPbar_num_array(%[[VAL_0]]) {{.*}} : (!fir.ref>) -> () call bar_num_array((x)) ! CHECK: %[[VAL_3:.*]] = arith.constant 100 : index ! CHECK: %[[VAL_4:.*]] = fir.shape %[[VAL_1]] : (index) -> !fir.shape<1> @@ -69,7 +69,7 @@ ! CHECK: } ! CHECK: fir.array_merge_store %[[VAL_8]], %[[VAL_18:.*]] to %[[VAL_6]] : !fir.array<100xi32>, !fir.array<100xi32>, !fir.heap> ! CHECK: %[[VAL_19:.*]] = fir.convert %[[VAL_6]] : (!fir.heap>) -> !fir.ref> -! CHECK: fir.call @_QPbar_num_array(%[[VAL_19]]) : (!fir.ref>) -> () +! CHECK: fir.call @_QPbar_num_array(%[[VAL_19]]) {{.*}} : (!fir.ref>) -> () ! CHECK: fir.freemem %[[VAL_6]] : !fir.heap> ! CHECK: return ! CHECK: } @@ -84,7 +84,7 @@ ! CHECK: %[[VAL_4:.*]] = arith.constant 100 : index ! CHECK: %[[VAL_5:.*]] = fir.convert %[[VAL_3]] : (!fir.ref>>) -> !fir.ref> ! CHECK: %[[VAL_6:.*]] = fir.emboxchar %[[VAL_5]], %[[VAL_2]] : (!fir.ref>, index) -> !fir.boxchar<1> - ! CHECK: fir.call @_QPbar_char_array(%[[VAL_6]]) : (!fir.boxchar<1>) -> () + ! CHECK: fir.call @_QPbar_char_array(%[[VAL_6]]) {{.*}} : (!fir.boxchar<1>) -> () ! CHECK: %[[VAL_8:.*]] = arith.constant 100 : index ! CHECK: %[[VAL_9:.*]] = fir.shape %[[VAL_4]] : (index) -> !fir.shape<1> ! CHECK: %[[VAL_10:.*]] = fir.array_load %[[VAL_3]](%[[VAL_9]]) : (!fir.ref>>, !fir.shape<1>) -> !fir.array<100x!fir.char<1,10>> @@ -105,7 +105,7 @@ ! CHECK: %[[VAL_27:.*]] = arith.constant false ! CHECK: %[[VAL_28:.*]] = fir.convert %[[VAL_22]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_29:.*]] = fir.convert %[[VAL_21]] : (!fir.ref>) -> !fir.ref - ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_28]], %[[VAL_29]], %[[VAL_26]], %[[VAL_27]]) : (!fir.ref, !fir.ref, i64, i1) -> () + ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_28]], %[[VAL_29]], %[[VAL_26]], %[[VAL_27]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_30:.*]] = fir.array_amend %[[VAL_19]], %[[VAL_22]] : (!fir.array<100x!fir.char<1,10>>, !fir.ref>) -> !fir.array<100x!fir.char<1,10>> ! CHECK: fir.result %[[VAL_30]] : !fir.array<100x!fir.char<1,10>> ! CHECK: } @@ -113,7 +113,7 @@ ! CHECK: %[[VAL_32:.*]] = arith.constant 10 : index ! CHECK: %[[VAL_33:.*]] = fir.convert %[[VAL_11]] : (!fir.heap>>) -> !fir.ref> ! CHECK: %[[VAL_34:.*]] = fir.emboxchar %[[VAL_33]], %[[VAL_32]] : (!fir.ref>, index) -> !fir.boxchar<1> - ! CHECK: fir.call @_QPbar_char_array(%[[VAL_34]]) : (!fir.boxchar<1>) -> () + ! CHECK: fir.call @_QPbar_char_array(%[[VAL_34]]) {{.*}} : (!fir.boxchar<1>) -> () ! CHECK: fir.freemem %[[VAL_11]] : !fir.heap>> character(10) :: x(100) @@ -130,7 +130,7 @@ ! CHECK: %[[VAL_2:.*]] = fir.shape %[[VAL_1]] : (index) -> !fir.shape<1> ! CHECK: %[[VAL_3:.*]] = fir.embox %[[VAL_0]](%[[VAL_2]]) : (!fir.ref>, !fir.shape<1>) -> !fir.box> ! CHECK: %[[VAL_4:.*]] = fir.convert %[[VAL_3]] : (!fir.box>) -> !fir.box> - ! CHECK: fir.call @_QPbar_num_array_box(%[[VAL_4]]) : (!fir.box>) -> () + ! CHECK: fir.call @_QPbar_num_array_box(%[[VAL_4]]) {{.*}} : (!fir.box>) -> () ! CHECK: %[[VAL_6:.*]] = arith.constant 100 : index ! CHECK: %[[VAL_7:.*]] = fir.shape %[[VAL_1]] : (index) -> !fir.shape<1> ! CHECK: %[[VAL_8:.*]] = fir.array_load %[[VAL_0]](%[[VAL_7]]) : (!fir.ref>, !fir.shape<1>) -> !fir.array<100xi32> @@ -150,7 +150,7 @@ ! CHECK: %[[VAL_22:.*]] = fir.shape %[[VAL_6]] : (index) -> !fir.shape<1> ! CHECK: %[[VAL_23:.*]] = fir.embox %[[VAL_9]](%[[VAL_22]]) : (!fir.heap>, !fir.shape<1>) -> !fir.box> ! CHECK: %[[VAL_24:.*]] = fir.convert %[[VAL_23]] : (!fir.box>) -> !fir.box> - ! CHECK: fir.call @_QPbar_num_array_box(%[[VAL_24]]) : (!fir.box>) -> () + ! CHECK: fir.call @_QPbar_num_array_box(%[[VAL_24]]) {{.*}} : (!fir.box>) -> () ! CHECK: fir.freemem %[[VAL_9]] : !fir.heap> integer :: x(100) @@ -179,7 +179,7 @@ ! CHECK: %[[VAL_7:.*]] = fir.shape %[[VAL_6]] : (index) -> !fir.shape<1> ! CHECK: %[[VAL_8:.*]] = fir.embox %[[VAL_3]](%[[VAL_7]]) : (!fir.ref>>, !fir.shape<1>) -> !fir.box>> ! CHECK: %[[VAL_9:.*]] = fir.convert %[[VAL_8]] : (!fir.box>>) -> !fir.box>> - ! CHECK: fir.call @_QPbar_char_array_box(%[[VAL_9]]) : (!fir.box>>) -> () + ! CHECK: fir.call @_QPbar_char_array_box(%[[VAL_9]]) {{.*}} : (!fir.box>>) -> () ! CHECK: %[[VAL_10:.*]] = fir.shape %[[VAL_6]] : (index) -> !fir.shape<1> ! CHECK: %[[VAL_11:.*]] = fir.array_load %[[VAL_3]](%[[VAL_10]]) : (!fir.ref>>, !fir.shape<1>) -> !fir.array> ! CHECK: %[[VAL_12:.*]] = fir.allocmem !fir.array>, %[[VAL_6]] {uniq_name = ".array.expr"} @@ -199,7 +199,7 @@ ! CHECK: %[[VAL_28:.*]] = arith.constant false ! CHECK: %[[VAL_29:.*]] = fir.convert %[[VAL_23]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_30:.*]] = fir.convert %[[VAL_22]] : (!fir.ref>) -> !fir.ref - ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_29]], %[[VAL_30]], %[[VAL_27]], %[[VAL_28]]) : (!fir.ref, !fir.ref, i64, i1) -> () + ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_29]], %[[VAL_30]], %[[VAL_27]], %[[VAL_28]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_31:.*]] = fir.array_amend %[[VAL_20]], %[[VAL_23]] : (!fir.array>, !fir.ref>) -> !fir.array> ! CHECK: fir.result %[[VAL_31]] : !fir.array> ! CHECK: } @@ -207,7 +207,7 @@ ! CHECK: %[[VAL_33:.*]] = fir.shape %[[VAL_6]] : (index) -> !fir.shape<1> ! CHECK: %[[VAL_34:.*]] = fir.embox %[[VAL_12]](%[[VAL_33]]) : (!fir.heap>>, !fir.shape<1>) -> !fir.box>> ! CHECK: %[[VAL_35:.*]] = fir.convert %[[VAL_34]] : (!fir.box>>) -> !fir.box>> - ! CHECK: fir.call @_QPbar_char_array_box(%[[VAL_35]]) : (!fir.box>>) -> () + ! CHECK: fir.call @_QPbar_char_array_box(%[[VAL_35]]) {{.*}} : (!fir.box>>) -> () ! CHECK: fir.freemem %[[VAL_12]] : !fir.heap>> integer :: n Index: flang/test/Lower/call-suspect.f90 =================================================================== --- flang/test/Lower/call-suspect.f90 +++ flang/test/Lower/call-suspect.f90 @@ -8,7 +8,7 @@ ! CHECK: %[[cast:.*]] = fir.convert %{{.*}} : (!fir.ref) -> !fir.ref> ! CHECK: %[[undef:.*]] = fir.undefined index ! CHECK: %[[box:.*]] = fir.emboxchar %[[cast]], %[[undef]] : (!fir.ref>, index) -> !fir.boxchar<1> -! CHECK: fir.call @_QPs3(%[[box]]) : (!fir.boxchar<1>) -> () +! CHECK: fir.call @_QPs3(%[[box]]) {{.*}} : (!fir.boxchar<1>) -> () ! Pass a REAL by reference to a subroutine expecting a CHARACTER subroutine s1 @@ -20,7 +20,7 @@ ! CHECK: %[[cast:.*]] = fir.convert %[[ptr]] : (!fir.ptr) -> !fir.ref> ! CHECK: %[[undef:.*]] = fir.undefined index ! CHECK: %[[box:.*]] = fir.emboxchar %[[cast]], %[[undef]] : (!fir.ref>, index) -> !fir.boxchar<1> -! CHECK: fir.call @_QPs3(%[[box]]) : (!fir.boxchar<1>) -> () +! CHECK: fir.call @_QPs3(%[[box]]) {{.*}} : (!fir.boxchar<1>) -> () ! Pass a REAL, POINTER data reference to a subroutine expecting a CHARACTER subroutine s2(p) Index: flang/test/Lower/call.f90 =================================================================== --- flang/test/Lower/call.f90 +++ flang/test/Lower/call.f90 @@ -13,9 +13,9 @@ end function end interface ! CHECK: %[[result_storage:.*]] = fir.alloca i32 {adapt.valuebyref} - ! CHECK: %[[result:.*]] = fir.call @_QPbar() : () -> i32 + ! CHECK: %[[result:.*]] = fir.call @_QPbar() {{.*}} : () -> i32 ! CHECK: fir.store %[[result]] to %[[result_storage]] : !fir.ref - ! CHECK: fir.call @_QPfoo(%[[result_storage]]) : (!fir.ref) -> () + ! CHECK: fir.call @_QPfoo(%[[result_storage]]) {{.*}} : (!fir.ref) -> () call foo(bar()) end subroutine @@ -33,7 +33,7 @@ print*, int_to_char(40) end subroutine ! CHECK-LABEL: func.func @_QPcall_bindc_char -! CHECK: %{{.*}} = fir.call @int_to_char(%{{.*}}) : (i32) -> !fir.char<1> +! CHECK: %{{.*}} = fir.call @int_to_char(%{{.*}}) {{.*}} : (i32) -> !fir.char<1> ! Check correct lowering of function body that return char and have the bind(c) ! attribute. Index: flang/test/Lower/character-assignment.f90 =================================================================== --- flang/test/Lower/character-assignment.f90 +++ flang/test/Lower/character-assignment.f90 @@ -15,7 +15,7 @@ ! CHECK: %[[count:.*]] = arith.muli %{{.*}}, %{{.*}} : i64 ! CHECK-DAG: %[[bug:.*]] = fir.convert %[[lhs]]#0 : (!fir.ref>) -> !fir.ref ! CHECK-DAG: %[[src:.*]] = fir.convert %[[rhs]]#0 : (!fir.ref>) -> !fir.ref - ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%{{.*}}, %[[src]], %[[count]], %false) : (!fir.ref, !fir.ref, i64, i1) -> () + ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%{{.*}}, %[[src]], %[[count]], %false) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! Padding ! CHECK-DAG: %[[blank:.*]] = fir.insert_value %{{.*}}, %c32{{.*}}, [0 : index] : (!fir.char<1>, i8) -> !fir.char<1> @@ -72,7 +72,7 @@ ! CHECK-DAG: %[[dst:.*]] = fir.convert %[[lhs]]#0 : (!fir.ref>) -> !fir.ref ! CHECK-DAG: %[[src:.*]] = fir.convert %[[cst]] : (!fir.ref>) -> !fir.ref ! CHECK-DAG: %[[count:.*]] = arith.muli %{{.*}}, %{{.*}} : i64 - ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[dst]], %[[src]], %[[count]], %false) : (!fir.ref, !fir.ref, i64, i1) -> () + ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[dst]], %[[src]], %[[count]], %false) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! Padding ! CHECK-DAG: %[[blank:.*]] = fir.insert_value %{{.*}}, %c32{{.*}}, [0 : index] : (!fir.char<1>, i8) -> !fir.char<1> Index: flang/test/Lower/character-concatenation.f90 =================================================================== --- flang/test/Lower/character-concatenation.f90 +++ flang/test/Lower/character-concatenation.f90 @@ -21,7 +21,7 @@ ! CHECK-DAG: constant false ! CHECK-DAG: %[[to:.*]] = fir.convert %[[temp]] : (!fir.ref>) -> !fir.ref ! CHECK-DAG: %[[from:.*]] = fir.convert %[[a]]#0 : (!fir.ref>) -> !fir.ref - ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[to]], %[[from]], %[[count]], %false) : (!fir.ref, !fir.ref, i64, i1) -> () + ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[to]], %[[from]], %[[count]], %false) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[c1_0:.*]] = arith.constant 1 ! CHECK: %[[count2:.*]] = arith.subi %[[len]], %[[c1_0]] Index: flang/test/Lower/character-elemental.f90 =================================================================== --- flang/test/Lower/character-elemental.f90 +++ flang/test/Lower/character-elemental.f90 @@ -26,7 +26,7 @@ ! CHECK: %[[a14:.*]] = fir.coordinate_of %[[a13]], %[[a12]] : (!fir.ref>>, index) -> !fir.ref> ! CHECK: %[[a15:.*]] = fir.convert %[[a14]] : (!fir.ref>) -> !fir.ref> ! CHECK: %[[a16:.*]] = fir.emboxchar %[[a15]], {{.*}} : (!fir.ref>, index) -> !fir.boxchar<1> - ! CHECK: %[[a17:.*]] = fir.call @_QFsubstring_mainPinner(%[[a16]]) : (!fir.boxchar<1>) -> i32 + ! CHECK: %[[a17:.*]] = fir.call @_QFsubstring_mainPinner(%[[a16]]) {{.*}} : (!fir.boxchar<1>) -> i32 result = inner(string(1:2)(ival:ival)) print *, result contains Index: flang/test/Lower/character-local-variables.f90 =================================================================== --- flang/test/Lower/character-local-variables.f90 +++ flang/test/Lower/character-local-variables.f90 @@ -119,7 +119,7 @@ ! CHECK: %[[c4:.*]] = arith.constant 4 : index ! CHECK: %[[len:.*]] = fir.convert %[[c4]] : (index) -> i64 ! CHECK: fir.store %[[len]] to %[[tmp:.*]] : !fir.ref - ! CHECK: fir.call @_QPtake_int(%[[tmp]]) : (!fir.ref) -> () + ! CHECK: fir.call @_QPtake_int(%[[tmp]]) {{.*}} : (!fir.ref) -> () call take_int(len(c(n), kind=8)) end Index: flang/test/Lower/character-substrings.f90 =================================================================== --- flang/test/Lower/character-substrings.f90 +++ flang/test/Lower/character-substrings.f90 @@ -21,7 +21,7 @@ ! CHECK: %[[VAL_15:.*]] = arith.cmpi slt, %[[VAL_13]], %[[VAL_14]] : index ! CHECK: %[[VAL_16:.*]] = arith.select %[[VAL_15]], %[[VAL_14]], %[[VAL_13]] : index ! CHECK: %[[VAL_17:.*]] = fir.emboxchar %[[VAL_11]], %[[VAL_16]] : (!fir.ref>, index) -> !fir.boxchar<1> - ! CHECK: fir.call @_QPbar(%[[VAL_17]]) : (!fir.boxchar<1>) -> () + ! CHECK: fir.call @_QPbar(%[[VAL_17]]) {{.*}} : (!fir.boxchar<1>) -> () integer(8) :: i, j call bar("abcHello World!dfg"(i:j)) ! CHECK: return @@ -50,7 +50,7 @@ ! CHECK: %[[VAL_18:.*]] = fir.slice %[[VAL_4]], %[[VAL_8]], %[[VAL_6]] substr %[[VAL_13]], %[[VAL_17]] : (index, index, index, i64, i64) -> !fir.slice<1> ! CHECK: %[[VAL_19:.*]] = fir.embox %[[VAL_2]](%[[VAL_9]]) {{\[}}%[[VAL_18]]] : (!fir.ref>>, !fir.shape<1>, !fir.slice<1>) -> !fir.box>> ! CHECK: %[[VAL_20:.*]] = fir.convert %[[VAL_19]] : (!fir.box>>) -> !fir.box>> -! CHECK: fir.call @_QPs(%[[VAL_20]]) : (!fir.box>>) -> () +! CHECK: fir.call @_QPs(%[[VAL_20]]) {{.*}} : (!fir.box>>) -> () ! CHECK: return ! CHECK: } @@ -107,7 +107,7 @@ ! CHECK: %[[VAL_37:.*]] = arith.constant false ! CHECK: %[[VAL_38:.*]] = fir.convert %[[VAL_26]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_39:.*]] = fir.convert %[[VAL_12]] : (!fir.ref>) -> !fir.ref - ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_38]], %[[VAL_39]], %[[VAL_36]], %[[VAL_37]]) : (!fir.ref, !fir.ref, i64, i1) -> () + ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_38]], %[[VAL_39]], %[[VAL_36]], %[[VAL_37]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_40:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_41:.*]] = arith.subi %[[VAL_31]], %[[VAL_40]] : index ! CHECK: %[[VAL_42:.*]] = arith.constant 32 : i8 @@ -195,7 +195,7 @@ ! CHECK: %[[VAL_61:.*]] = arith.constant false ! CHECK: %[[VAL_62:.*]] = fir.convert %[[VAL_35]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_63:.*]] = fir.convert %[[VAL_18]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_62]], %[[VAL_63]], %[[VAL_60]], %[[VAL_61]]) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_62]], %[[VAL_63]], %[[VAL_60]], %[[VAL_61]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_64:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_65:.*]] = arith.subi %[[VAL_40]], %[[VAL_64]] : index ! CHECK: %[[VAL_66:.*]] = arith.constant 32 : i8 @@ -283,7 +283,7 @@ ! CHECK: %[[VAL_50:.*]] = arith.constant false ! CHECK: %[[VAL_51:.*]] = fir.convert %[[VAL_24]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_52:.*]] = fir.convert %[[VAL_7]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_51]], %[[VAL_52]], %[[VAL_49]], %[[VAL_50]]) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_51]], %[[VAL_52]], %[[VAL_49]], %[[VAL_50]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_53:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_54:.*]] = arith.subi %[[VAL_29]], %[[VAL_53]] : index ! CHECK: %[[VAL_55:.*]] = arith.constant 32 : i8 @@ -393,7 +393,7 @@ ! CHECK: %[[VAL_70:.*]] = arith.constant false ! CHECK: %[[VAL_71:.*]] = fir.convert %[[VAL_44]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_72:.*]] = fir.convert %[[VAL_29]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_71]], %[[VAL_72]], %[[VAL_69]], %[[VAL_70]]) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_71]], %[[VAL_72]], %[[VAL_69]], %[[VAL_70]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_73:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_74:.*]] = arith.subi %[[VAL_49]], %[[VAL_73]] : index ! CHECK: %[[VAL_75:.*]] = arith.constant 32 : i8 Index: flang/test/Lower/components.f90 =================================================================== --- flang/test/Lower/components.f90 +++ flang/test/Lower/components.f90 @@ -81,7 +81,7 @@ ! CHECK: ^bb3: ! CHECK: %[[VAL_15:.*]] = fir.embox %[[VAL_5]](%[[VAL_7]]) {{\[}}%[[VAL_8]]] : (!fir.ref>>, !fir.shape<1>, !fir.slice<1>) -> !fir.box> ! CHECK: %[[VAL_16:.*]] = fir.convert %[[VAL_15]] : (!fir.box>) -> !fir.box> -! CHECK: fir.call @_QPtakes_int_array(%[[VAL_16]]) : (!fir.box>) -> () +! CHECK: fir.call @_QPtakes_int_array(%[[VAL_16]]) {{.*}} : (!fir.box>) -> () ! CHECK: return ! CHECK: } @@ -144,7 +144,7 @@ ! CHECK: %[[VAL_15:.*]] = fir.convert %[[VAL_1]] : (index) -> i64 ! CHECK: %[[VAL_16:.*]] = fir.convert %[[VAL_14]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_17:.*]] = fir.convert %[[VAL_9]] : (!fir.ref>) -> !fir.ref - ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_16]], %[[VAL_17]], %[[VAL_15]], %[[VAL_2]]) : (!fir.ref, !fir.ref, i64, i1) -> () + ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_16]], %[[VAL_17]], %[[VAL_15]], %[[VAL_2]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_18:.*]] = arith.subi %[[VAL_11]], %[[VAL_5]] : index ! CHECK: br ^bb1(%[[VAL_13]], %[[VAL_18]] : index, index) @@ -180,7 +180,7 @@ ! CHECK: %[[VAL_17:.*]] = fir.convert %[[VAL_3]] : (index) -> i64 ! CHECK: %[[VAL_18:.*]] = fir.convert %[[VAL_16]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_19:.*]] = fir.convert %[[VAL_15]] : (!fir.ref>) -> !fir.ref - ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_18]], %[[VAL_19]], %[[VAL_17]], %[[VAL_2]]) : (!fir.ref, !fir.ref, i64, i1) -> () + ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_18]], %[[VAL_19]], %[[VAL_17]], %[[VAL_2]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_20:.*]] = arith.subi %[[VAL_12]], %[[VAL_5]] : index ! CHECK: br ^bb1(%[[VAL_14]], %[[VAL_20]] : index, index) @@ -222,7 +222,7 @@ ! CHECK: %[[VAL_50:.*]] = fir.convert %[[VAL_36]] : (index) -> i64 ! CHECK: %[[VAL_51:.*]] = fir.convert %[[VAL_42]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_52:.*]] = fir.convert %[[VAL_34]] : (index) -> i64 - ! CHECK: %[[VAL_53:.*]] = fir.call @_FortranAScan1(%[[VAL_49]], %[[VAL_50]], %[[VAL_51]], %[[VAL_52]], %[[VAL_35]]) : (!fir.ref, i64, !fir.ref, i64, i1) -> i64 + ! CHECK: %[[VAL_53:.*]] = fir.call @_FortranAScan1(%[[VAL_49]], %[[VAL_50]], %[[VAL_51]], %[[VAL_52]], %[[VAL_35]]) {{.*}} : (!fir.ref, i64, !fir.ref, i64, i1) -> i64 ! CHECK: %[[VAL_54:.*]] = fir.convert %[[VAL_53]] : (i64) -> i32 ! CHECK: %[[VAL_55:.*]] = fir.array_coor %[[I]](%[[VAL_39]]) %[[VAL_46]] : (!fir.ref>, !fir.shape<1>, index) -> !fir.ref ! CHECK: fir.store %[[VAL_54]] to %[[VAL_55]] : !fir.ref @@ -263,55 +263,55 @@ ! CHECK: %[[u3va:.*]] = fir.alloca !fir.array<5x!fir.type<_QFextended_type_componentsTu3{u1i:i32,u2i:i32,u2t3:!fir.type<_QFextended_type_componentsTt3{t1i:i32,t2i:i32,t3i:i32}>,u2t4:!fir.type<_QFextended_type_componentsTt3{t1i:i32,t2i:i32,t3i:i32}>,u3i:i32}>> {bindc_name = "u3va", uniq_name = "_QFextended_type_componentsEu3va"} type(u3) :: u3va(5) - ! CHECK: %[[VAL_10:.*]] = fir.call @_FortranAioBeginExternalListOutput(%{{.*}}, %{{.*}}, %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref + ! CHECK: %[[VAL_10:.*]] = fir.call @_FortranAioBeginExternalListOutput(%{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_11:.*]] = fir.field_index u2t3, !fir.type<_QFextended_type_componentsTu3{u1i:i32,u2i:i32,u2t3:!fir.type<_QFextended_type_componentsTt3{t1i:i32,t2i:i32,t3i:i32}>,u2t4:!fir.type<_QFextended_type_componentsTt3{t1i:i32,t2i:i32,t3i:i32}>,u3i:i32}> ! CHECK: %[[VAL_12:.*]] = fir.field_index t1i, !fir.type<_QFextended_type_componentsTt3{t1i:i32,t2i:i32,t3i:i32}> ! CHECK: %[[VAL_13:.*]] = fir.coordinate_of %[[u3v]], %[[VAL_11]], %[[VAL_12]] : (!fir.ref,u2t4:!fir.type<_QFextended_type_componentsTt3{t1i:i32,t2i:i32,t3i:i32}>,u3i:i32}>>, !fir.field, !fir.field) -> !fir.ref ! CHECK: %[[VAL_14:.*]] = fir.load %[[VAL_13]] : !fir.ref - ! CHECK: %[[VAL_15:.*]] = fir.call @_FortranAioOutputInteger32(%[[VAL_10]], %[[VAL_14]]) : (!fir.ref, i32) -> i1 + ! CHECK: %[[VAL_15:.*]] = fir.call @_FortranAioOutputInteger32(%[[VAL_10]], %[[VAL_14]]) {{.*}} : (!fir.ref, i32) -> i1 print*, u3v%u2t3%t1i - ! CHECK: %[[VAL_20:.*]] = fir.call @_FortranAioBeginExternalListOutput(%{{.*}}, %{{.*}}, %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref + ! CHECK: %[[VAL_20:.*]] = fir.call @_FortranAioBeginExternalListOutput(%{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_21:.*]] = fir.load %[[VAL_13]] : !fir.ref - ! CHECK: %[[VAL_22:.*]] = fir.call @_FortranAioOutputInteger32(%[[VAL_20]], %[[VAL_21]]) : (!fir.ref, i32) -> i1 + ! CHECK: %[[VAL_22:.*]] = fir.call @_FortranAioOutputInteger32(%[[VAL_20]], %[[VAL_21]]) {{.*}} : (!fir.ref, i32) -> i1 print*, u3v%u2%u2t3%t2%t1%t1i ! different syntax for the previous value - ! CHECK: %[[VAL_30:.*]] = fir.call @_FortranAioBeginExternalListOutput(%{{.*}}, %{{.*}}, %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref + ! CHECK: %[[VAL_30:.*]] = fir.call @_FortranAioBeginExternalListOutput(%{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_31:.*]] = fir.field_index u2t4, !fir.type<_QFextended_type_componentsTu3{u1i:i32,u2i:i32,u2t3:!fir.type<_QFextended_type_componentsTt3{t1i:i32,t2i:i32,t3i:i32}>,u2t4:!fir.type<_QFextended_type_componentsTt3{t1i:i32,t2i:i32,t3i:i32}>,u3i:i32}> ! CHECK: %[[VAL_32:.*]] = fir.coordinate_of %[[u3v]], %[[VAL_31]], %[[VAL_12]] : (!fir.ref,u2t4:!fir.type<_QFextended_type_componentsTt3{t1i:i32,t2i:i32,t3i:i32}>,u3i:i32}>>, !fir.field, !fir.field) -> !fir.ref ! CHECK: %[[VAL_33:.*]] = fir.load %[[VAL_32]] : !fir.ref - ! CHECK: %[[VAL_34:.*]] = fir.call @_FortranAioOutputInteger32(%[[VAL_30]], %[[VAL_33]]) : (!fir.ref, i32) -> i1 + ! CHECK: %[[VAL_34:.*]] = fir.call @_FortranAioOutputInteger32(%[[VAL_30]], %[[VAL_33]]) {{.*}} : (!fir.ref, i32) -> i1 print*, u3v%u2t4%t1i - ! CHECK: %[[VAL_40:.*]] = fir.call @_FortranAioBeginExternalListOutput(%{{.*}}, %{{.*}}, %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref + ! CHECK: %[[VAL_40:.*]] = fir.call @_FortranAioBeginExternalListOutput(%{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_41:.*]] = fir.field_index t2i, !fir.type<_QFextended_type_componentsTt3{t1i:i32,t2i:i32,t3i:i32}> ! CHECK: %[[VAL_42:.*]] = fir.coordinate_of %[[u3v]], %[[VAL_31]], %[[VAL_41]] : (!fir.ref,u2t4:!fir.type<_QFextended_type_componentsTt3{t1i:i32,t2i:i32,t3i:i32}>,u3i:i32}>>, !fir.field, !fir.field) -> !fir.ref ! CHECK: %[[VAL_43:.*]] = fir.load %[[VAL_42]] : !fir.ref - ! CHECK: %[[VAL_44:.*]] = fir.call @_FortranAioOutputInteger32(%[[VAL_40]], %[[VAL_43]]) : (!fir.ref, i32) -> i1 + ! CHECK: %[[VAL_44:.*]] = fir.call @_FortranAioOutputInteger32(%[[VAL_40]], %[[VAL_43]]) {{.*}} : (!fir.ref, i32) -> i1 print*, u3v%u2t4%t2i - ! CHECK: %[[VAL_50:.*]] = fir.call @_FortranAioBeginExternalListOutput(%{{.*}}, %{{.*}}, %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref + ! CHECK: %[[VAL_50:.*]] = fir.call @_FortranAioBeginExternalListOutput(%{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_51:.*]] = fir.slice %c1{{.*}}, %c5{{.*}}, %c1{{.*}} path %{{.*}}, %{{.*}} : (index, index, index, !fir.field, !fir.field) -> !fir.slice<1> ! CHECK: %[[VAL_52:.*]] = fir.embox %[[u3va]](%{{.*}}) [%[[VAL_51]]] : (!fir.ref,u2t4:!fir.type<_QFextended_type_componentsTt3{t1i:i32,t2i:i32,t3i:i32}>,u3i:i32}>>>, ! CHECK: %[[VAL_53:.*]] = fir.convert %[[VAL_52]] : (!fir.box>) -> !fir.box - ! CHECK: %[[VAL_54:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_50]], %[[VAL_53]]) : (!fir.ref, !fir.box) -> i1 + ! CHECK: %[[VAL_54:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_50]], %[[VAL_53]]) {{.*}} : (!fir.ref, !fir.box) -> i1 print*, u3va%u2t3%t1i - ! CHECK: %[[VAL_60:.*]] = fir.call @_FortranAioBeginExternalListOutput(%{{.*}}, %{{.*}}, %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref - ! CHECK: %[[VAL_61:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_60]], %[[VAL_53]]) : (!fir.ref, !fir.box) -> i1 + ! CHECK: %[[VAL_60:.*]] = fir.call @_FortranAioBeginExternalListOutput(%{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref + ! CHECK: %[[VAL_61:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_60]], %[[VAL_53]]) {{.*}} : (!fir.ref, !fir.box) -> i1 print*, u3va%u2%u2t3%t2%t1%t1i ! different syntax for the previous value - ! CHECK: %[[VAL_70:.*]] = fir.call @_FortranAioBeginExternalListOutput(%{{.*}}, %{{.*}}, %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref + ! CHECK: %[[VAL_70:.*]] = fir.call @_FortranAioBeginExternalListOutput(%{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_71:.*]] = fir.slice %c1{{.*}}, %c5{{.*}}, %c1{{.*}} path %{{.*}}, %{{.*}} : (index, index, index, !fir.field, !fir.field) -> !fir.slice<1> ! CHECK: %[[VAL_72:.*]] = fir.embox %[[u3va]](%{{.*}}) [%[[VAL_71]]] : (!fir.ref,u2t4:!fir.type<_QFextended_type_componentsTt3{t1i:i32,t2i:i32,t3i:i32}>,u3i:i32}>>>, !fir.shape<1>, !fir.slice<1>) -> !fir.box> ! CHECK: %[[VAL_73:.*]] = fir.convert %[[VAL_72]] : (!fir.box>) -> !fir.box - ! CHECK: %[[VAL_74:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_70]], %[[VAL_73]]) : (!fir.ref, !fir.box) -> i1 + ! CHECK: %[[VAL_74:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_70]], %[[VAL_73]]) {{.*}} : (!fir.ref, !fir.box) -> i1 print*, u3va%u2t4%t1i - ! CHECK: %[[VAL_80:.*]] = fir.call @_FortranAioBeginExternalListOutput(%{{.*}}, %{{.*}}, %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref + ! CHECK: %[[VAL_80:.*]] = fir.call @_FortranAioBeginExternalListOutput(%{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_81:.*]] = fir.slice %c1{{.*}}, %c5{{.*}}, %c1{{.*}} path %{{.*}}, %{{.*}} : (index, index, index, !fir.field, !fir.field) -> !fir.slice<1> ! CHECK: %[[VAL_82:.*]] = fir.embox %[[u3va]](%{{.*}}) [%[[VAL_81]]] : (!fir.ref,u2t4:!fir.type<_QFextended_type_componentsTt3{t1i:i32,t2i:i32,t3i:i32}>,u3i:i32}>>>, !fir.shape<1>, !fir.slice<1>) -> !fir.box> ! CHECK: %[[VAL_83:.*]] = fir.convert %[[VAL_82]] : (!fir.box>) -> !fir.box - ! CHECK: %[[VAL_84:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_80]], %[[VAL_83]]) : (!fir.ref, !fir.box) -> i1 + ! CHECK: %[[VAL_84:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_80]], %[[VAL_83]]) {{.*}} : (!fir.ref, !fir.box) -> i1 print*, u3va%u2t4%t2i end subroutine extended_type_components Index: flang/test/Lower/default-initialization.f90 =================================================================== --- flang/test/Lower/default-initialization.f90 +++ flang/test/Lower/default-initialization.f90 @@ -24,7 +24,7 @@ ! CHECK: %[[x:.*]] = fir.alloca !fir.type<_QMtest_dinitTt{i:i32}> ! CHECK: %[[xbox:.*]] = fir.embox %[[x]] : (!fir.ref>) -> !fir.box> ! CHECK: %[[xboxNone:.*]] = fir.convert %[[xbox]] - ! CHECK: fir.call @_FortranAInitialize(%[[xboxNone]], %{{.*}}, %{{.*}}) : (!fir.box, !fir.ref, i32) -> none + ! CHECK: fir.call @_FortranAInitialize(%[[xboxNone]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.box, !fir.ref, i32) -> none type(t) :: x print *, x%i end subroutine @@ -36,7 +36,7 @@ ! CHECK: %[[xshape:.*]] = fir.shape %c4{{.*}} : (index) -> !fir.shape<1> ! CHECK: %[[xbox:.*]] = fir.embox %[[x]](%[[xshape]]) : (!fir.ref>>, !fir.shape<1>) -> !fir.box>> ! CHECK: %[[xboxNone:.*]] = fir.convert %[[xbox]] - ! CHECK: fir.call @_FortranAInitialize(%[[xboxNone]], %{{.*}}, %{{.*}}) : (!fir.box, !fir.ref, i32) -> none + ! CHECK: fir.call @_FortranAInitialize(%[[xboxNone]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.box, !fir.ref, i32) -> none type(t) :: x(4) print *, x(2)%i end subroutine @@ -48,7 +48,7 @@ ! CHECK: %[[x:.*]] = fir.alloca !fir.type<_QMtest_dinitTt_alloc_comp{i:!fir.box>>}> ! CHECK: %[[xbox:.*]] = fir.embox %[[x]] : (!fir.ref>>}>>) -> !fir.box>>}>> ! CHECK: %[[xboxNone:.*]] = fir.convert %[[xbox]] - ! CHECK: fir.call @_FortranAInitialize(%[[xboxNone]], %{{.*}}, %{{.*}}) : (!fir.box, !fir.ref, i32) -> none + ! CHECK: fir.call @_FortranAInitialize(%[[xboxNone]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.box, !fir.ref, i32) -> none type(t_alloc_comp) :: x end subroutine @@ -58,7 +58,7 @@ ! CHECK: %[[x:.*]] = fir.alloca !fir.type<_QMtest_dinitTt{i:i32}> ! CHECK: %[[xbox:.*]] = fir.embox %[[x]] : (!fir.ref>) -> !fir.box> ! CHECK: %[[xboxNone:.*]] = fir.convert %[[xbox]] - ! CHECK: fir.call @_FortranAInitialize(%[[xboxNone]], %{{.*}}, %{{.*}}) : (!fir.box, !fir.ref, i32) -> none + ! CHECK: fir.call @_FortranAInitialize(%[[xboxNone]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.box, !fir.ref, i32) -> none type(t) :: result end function @@ -68,7 +68,7 @@ subroutine intent_out(x) ! CHECK: %[[xbox:.*]] = fir.embox %[[x]] : (!fir.ref>) -> !fir.box> ! CHECK: %[[xboxNone:.*]] = fir.convert %[[xbox]] - ! CHECK: fir.call @_FortranAInitialize(%[[xboxNone]], %{{.*}}, %{{.*}}) : (!fir.box, !fir.ref, i32) -> none + ! CHECK: fir.call @_FortranAInitialize(%[[xboxNone]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.box, !fir.ref, i32) -> none type(t), intent(out) :: x end subroutine @@ -81,7 +81,7 @@ ! CHECK: fir.if %[[isPresent]] { ! CHECK: %[[xbox:.*]] = fir.embox %[[x]] : (!fir.ref>) -> !fir.box> ! CHECK: %[[xboxNone:.*]] = fir.convert %[[xbox]] - ! CHECK: fir.call @_FortranAInitialize(%[[xboxNone]], %{{.*}}, %{{.*}}) : (!fir.box, !fir.ref, i32) -> none + ! CHECK: fir.call @_FortranAInitialize(%[[xboxNone]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.box, !fir.ref, i32) -> none ! CHECK: } type(t), intent(out), optional :: x end subroutine @@ -96,7 +96,7 @@ ! CHECK: %[[x:.*]] = fir.convert %[[xcoor]] : (!fir.ref) -> !fir.ptr> ! CHECK: %[[xbox:.*]] = fir.embox %[[x]] : (!fir.ptr>) -> !fir.box> ! CHECK: %[[xboxNone:.*]] = fir.convert %[[xbox]] - ! CHECK: fir.call @_FortranAInitialize(%[[xboxNone]], %{{.*}}, %{{.*}}) : (!fir.box, !fir.ref, i32) -> none + ! CHECK: fir.call @_FortranAInitialize(%[[xboxNone]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.box, !fir.ref, i32) -> none equivalence (x, zi) print *, i end subroutine @@ -114,14 +114,14 @@ ! CHECK: %[[x:.*]] = fir.convert %[[xcoor]] : (!fir.ref) -> !fir.ptr> ! CHECK: %[[xbox:.*]] = fir.embox %[[x]] : (!fir.ptr>) -> !fir.box> ! CHECK: %[[xboxNone:.*]] = fir.convert %[[xbox]] - ! CHECK: fir.call @_FortranAInitialize(%[[xboxNone]], %{{.*}}, %{{.*}}) : (!fir.box, !fir.ref, i32) -> none + ! CHECK: fir.call @_FortranAInitialize(%[[xboxNone]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.box, !fir.ref, i32) -> none ! CHECK: %[[ycoor:.*]] = fir.coordinate_of %[[equiv]], %c0{{.*}} : (!fir.ref>, index) -> !fir.ref ! CHECK: %[[y:.*]] = fir.convert %[[ycoor]] : (!fir.ref) -> !fir.ptr> ! CHECK: %[[ybox:.*]] = fir.embox %[[y]] : (!fir.ptr>) -> !fir.box> ! CHECK: %[[yboxNone:.*]] = fir.convert %[[ybox]] - ! CHECK: fir.call @_FortranAInitialize(%[[yboxNone]], %{{.*}}, %{{.*}}) : (!fir.box, !fir.ref, i32) -> none + ! CHECK: fir.call @_FortranAInitialize(%[[yboxNone]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.box, !fir.ref, i32) -> none equivalence (x, y) print *, y%i end subroutine Index: flang/test/Lower/derived-allocatable-components.f90 =================================================================== --- flang/test/Lower/derived-allocatable-components.f90 +++ flang/test/Lower/derived-allocatable-components.f90 @@ -84,7 +84,7 @@ ! CHECK: %[[load:.*]] = fir.load %[[coor]] : !fir.ref>> ! CHECK: %[[addr:.*]] = fir.box_addr %[[load]] : (!fir.box>) -> !fir.heap ! CHECK: %[[cast:.*]] = fir.convert %[[addr]] : (!fir.heap) -> !fir.ref - ! CHECK: fir.call @_QPtakes_real_scalar(%[[cast]]) : (!fir.ref) -> () + ! CHECK: fir.call @_QPtakes_real_scalar(%[[cast]]) {{.*}} : (!fir.ref) -> () call takes_real_scalar(a0_0%p) ! CHECK: %[[a0_1_coor:.*]] = fir.coordinate_of %[[arg2]], %{{.*}} : (!fir.ref>}>>>, i64) -> !fir.ref>}>> @@ -93,7 +93,7 @@ ! CHECK: %[[load:.*]] = fir.load %[[coor]] : !fir.ref>> ! CHECK: %[[addr:.*]] = fir.box_addr %[[load]] : (!fir.box>) -> !fir.heap ! CHECK: %[[cast:.*]] = fir.convert %[[addr]] : (!fir.heap) -> !fir.ref - ! CHECK: fir.call @_QPtakes_real_scalar(%[[cast]]) : (!fir.ref) -> () + ! CHECK: fir.call @_QPtakes_real_scalar(%[[cast]]) {{.*}} : (!fir.ref) -> () call takes_real_scalar(a0_1(5)%p) ! CHECK: %[[fld:.*]] = fir.field_index p, !fir.type<_QMacompTreal_a1{p:!fir.box>>}> @@ -104,7 +104,7 @@ ! CHECK: %[[lb:.*]] = fir.convert %[[dims]]#0 : (index) -> i64 ! CHECK: %[[index:.*]] = arith.subi %c7{{.*}}, %[[lb]] : i64 ! CHECK: %[[coor:.*]] = fir.coordinate_of %[[addr]], %[[index]] : (!fir.heap>, i64) -> !fir.ref - ! CHECK: fir.call @_QPtakes_real_scalar(%[[coor]]) : (!fir.ref) -> () + ! CHECK: fir.call @_QPtakes_real_scalar(%[[coor]]) {{.*}} : (!fir.ref) -> () call takes_real_scalar(a1_0%p(7)) ! CHECK: %[[a1_1_coor:.*]] = fir.coordinate_of %[[arg3]], %{{.*}} : (!fir.ref>>}>>>, i64) -> !fir.ref>>}>> @@ -116,7 +116,7 @@ ! CHECK: %[[lb:.*]] = fir.convert %[[dims]]#0 : (index) -> i64 ! CHECK: %[[index:.*]] = arith.subi %c7{{.*}}, %[[lb]] : i64 ! CHECK: %[[coor:.*]] = fir.coordinate_of %[[addr]], %[[index]] : (!fir.heap>, i64) -> !fir.ref - ! CHECK: fir.call @_QPtakes_real_scalar(%[[coor]]) : (!fir.ref) -> () + ! CHECK: fir.call @_QPtakes_real_scalar(%[[coor]]) {{.*}} : (!fir.ref) -> () call takes_real_scalar(a1_1(5)%p(7)) end subroutine @@ -138,7 +138,7 @@ ! CHECK: %[[VAL_15:.*]] = fir.slice %[[VAL_9]], %[[VAL_13]], %[[VAL_11]] : (index, index, index) -> !fir.slice<1> ! CHECK: %[[VAL_16:.*]] = fir.embox %[[VAL_7]](%[[VAL_14]]) {{\[}}%[[VAL_15]]] : (!fir.heap>, !fir.shapeshift<1>, !fir.slice<1>) -> !fir.box> ! CHECK: %[[VAL_16_NEW:.*]] = fir.convert %[[VAL_16]] : (!fir.box>) -> !fir.box> -! CHECK: fir.call @_QPtakes_real_array(%[[VAL_16_NEW]]) : (!fir.box>) -> () +! CHECK: fir.call @_QPtakes_real_array(%[[VAL_16_NEW]]) {{.*}} : (!fir.box>) -> () ! CHECK: %[[VAL_17:.*]] = arith.constant 5 : i64 ! CHECK: %[[VAL_18:.*]] = arith.constant 1 : i64 ! CHECK: %[[VAL_19:.*]] = arith.subi %[[VAL_17]], %[[VAL_18]] : i64 @@ -159,7 +159,7 @@ ! CHECK: %[[VAL_34:.*]] = fir.slice %[[VAL_28]], %[[VAL_32]], %[[VAL_30]] : (index, index, index) -> !fir.slice<1> ! CHECK: %[[VAL_35:.*]] = fir.embox %[[VAL_26]](%[[VAL_33]]) {{\[}}%[[VAL_34]]] : (!fir.heap>, !fir.shapeshift<1>, !fir.slice<1>) -> !fir.box> ! CHECK: %[[VAL_35_NEW:.*]] = fir.convert %[[VAL_35]] : (!fir.box>) -> !fir.box> -! CHECK: fir.call @_QPtakes_real_array(%[[VAL_35_NEW]]) : (!fir.box>) -> () +! CHECK: fir.call @_QPtakes_real_array(%[[VAL_35_NEW]]) {{.*}} : (!fir.box>) -> () ! CHECK: return ! CHECK: } Index: flang/test/Lower/derived-assignments.f90 =================================================================== --- flang/test/Lower/derived-assignments.f90 +++ flang/test/Lower/derived-assignments.f90 @@ -39,7 +39,7 @@ ! CHECK-LABEL: func @_QMm2Ptest2 subroutine test2 type(t) :: t1, t2 - ! CHECK: fir.call @_QMm2Pt_to_t(%{{.*}}, %{{.*}}) : (!fir.ref>, !fir.ref>) -> () + ! CHECK: fir.call @_QMm2Pt_to_t(%{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, !fir.ref>) -> () t1 = t2 ! CHECK: return end subroutine test2 @@ -88,7 +88,7 @@ ! CHECK: %[[VAL_9:.*]] = arith.constant false ! CHECK: %[[VAL_10:.*]] = fir.convert %[[VAL_4]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_11:.*]] = fir.convert %[[VAL_3]] : (!fir.ref>) -> !fir.ref - ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_10]], %[[VAL_11]], %[[VAL_8]], %[[VAL_9]]) : (!fir.ref, !fir.ref, i64, i1) -> () + ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_10]], %[[VAL_11]], %[[VAL_8]], %[[VAL_9]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_12:.*]] = fir.field_index m_i, !fir.type<_QFtest3Tt{m_c:!fir.char<1,20>,m_i:i32}> ! CHECK: %[[VAL_13:.*]] = fir.coordinate_of %[[VAL_1]], %[[VAL_12]] : (!fir.ref,m_i:i32}>>, !fir.field) -> !fir.ref ! CHECK: %[[VAL_12b:.*]] = fir.field_index m_i, !fir.type<_QFtest3Tt{m_c:!fir.char<1,20>,m_i:i32}> @@ -170,7 +170,7 @@ ! CHECK: fir.store %[[t1Load]] to %[[tmpBox]] : !fir.ref>>> ! CHECK: %[[lhs:.*]] = fir.convert %[[tmpBox]] : (!fir.ref>>>) -> !fir.ref> ! CHECK: %[[rhs:.*]] = fir.convert %[[t2Load]] : (!fir.box>>) -> !fir.box - ! CHECK: fir.call @_FortranAAssign(%[[lhs]], %[[rhs]], %{{.*}}, %{{.*}}) : (!fir.ref>, !fir.box, !fir.ref, i32) -> none + ! CHECK: fir.call @_FortranAAssign(%[[lhs]], %[[rhs]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, !fir.box, !fir.ref, i32) -> none t1 = t2 end subroutine @@ -190,7 +190,7 @@ ! CHECK: fir.store %[[t1Box]] to %[[tmpBox]] : !fir.ref>> ! CHECK: %[[lhs:.*]] = fir.convert %[[tmpBox]] : (!fir.ref>>) -> !fir.ref> ! CHECK: %[[rhs:.*]] = fir.convert %[[t2Box]] : (!fir.box>) -> !fir.box - ! CHECK: fir.call @_FortranAAssign(%[[lhs]], %[[rhs]], %{{.*}}, %{{.*}}) : (!fir.ref>, !fir.box, !fir.ref, i32) -> none + ! CHECK: fir.call @_FortranAAssign(%[[lhs]], %[[rhs]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, !fir.box, !fir.ref, i32) -> none t1 = t2 end subroutine @@ -230,7 +230,7 @@ ! ! cHECK: fir.store %[[t1Box]] to %[[tmpBox]] : !fir.ref>> ! ! cHECK: %[[lhs:.*]] = fir.convert %[[tmpBox]] : (!fir.ref>>) -> !fir.ref> ! ! cHECK: %[[rhs:.*]] = fir.convert %[[t2Box]] : (!fir.box>) -> !fir.box -! ! cHECK: fir.call @_FortranAAssign(%[[lhs]], %[[rhs]], %{{.*}}, %{{.*}}) : (!fir.ref>, !fir.box, !fir.ref, i32) -> none +! ! cHECK: fir.call @_FortranAAssign(%[[lhs]], %[[rhs]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, !fir.box, !fir.ref, i32) -> none ! t1 = t2 ! end subroutine !end module Index: flang/test/Lower/derived-pointer-components.f90 =================================================================== --- flang/test/Lower/derived-pointer-components.f90 +++ flang/test/Lower/derived-pointer-components.f90 @@ -84,7 +84,7 @@ ! CHECK: %[[load:.*]] = fir.load %[[coor]] : !fir.ref>> ! CHECK: %[[addr:.*]] = fir.box_addr %[[load]] : (!fir.box>) -> !fir.ptr ! CHECK: %[[cast:.*]] = fir.convert %[[addr]] : (!fir.ptr) -> !fir.ref - ! CHECK: fir.call @_QPtakes_real_scalar(%[[cast]]) : (!fir.ref) -> () + ! CHECK: fir.call @_QPtakes_real_scalar(%[[cast]]) {{.*}} : (!fir.ref) -> () call takes_real_scalar(p0_0%p) ! CHECK: %[[p0_1_coor:.*]] = fir.coordinate_of %[[arg2]], %{{.*}} : (!fir.ref>}>>>, i64) -> !fir.ref>}>> @@ -93,7 +93,7 @@ ! CHECK: %[[load:.*]] = fir.load %[[coor]] : !fir.ref>> ! CHECK: %[[addr:.*]] = fir.box_addr %[[load]] : (!fir.box>) -> !fir.ptr ! CHECK: %[[cast:.*]] = fir.convert %[[addr]] : (!fir.ptr) -> !fir.ref - ! CHECK: fir.call @_QPtakes_real_scalar(%[[cast]]) : (!fir.ref) -> () + ! CHECK: fir.call @_QPtakes_real_scalar(%[[cast]]) {{.*}} : (!fir.ref) -> () call takes_real_scalar(p0_1(5)%p) ! CHECK: %[[fld:.*]] = fir.field_index p, !fir.type<_QMpcompTreal_p1{p:!fir.box>>}> @@ -103,7 +103,7 @@ ! CHECK: %[[lb:.*]] = fir.convert %[[dims]]#0 : (index) -> i64 ! CHECK: %[[index:.*]] = arith.subi %c7{{.*}}, %[[lb]] : i64 ! CHECK: %[[coor:.*]] = fir.coordinate_of %[[load]], %[[index]] : (!fir.box>>, i64) -> !fir.ref - ! CHECK: fir.call @_QPtakes_real_scalar(%[[coor]]) : (!fir.ref) -> () + ! CHECK: fir.call @_QPtakes_real_scalar(%[[coor]]) {{.*}} : (!fir.ref) -> () call takes_real_scalar(p1_0%p(7)) ! CHECK: %[[p1_1_coor:.*]] = fir.coordinate_of %[[arg3]], %{{.*}} : (!fir.ref>>}>>>, i64) -> !fir.ref>>}>> @@ -114,7 +114,7 @@ ! CHECK: %[[lb:.*]] = fir.convert %[[dims]]#0 : (index) -> i64 ! CHECK: %[[index:.*]] = arith.subi %c7{{.*}}, %[[lb]] : i64 ! CHECK: %[[coor:.*]] = fir.coordinate_of %[[load]], %[[index]] : (!fir.box>>, i64) -> !fir.ref - ! CHECK: fir.call @_QPtakes_real_scalar(%[[coor]]) : (!fir.ref) -> () + ! CHECK: fir.call @_QPtakes_real_scalar(%[[coor]]) {{.*}} : (!fir.ref) -> () call takes_real_scalar(p1_1(5)%p(7)) end subroutine @@ -135,7 +135,7 @@ ! CHECK: %[[VAL_14:.*]] = fir.slice %[[VAL_8]], %[[VAL_12]], %[[VAL_10]] : (index, index, index) -> !fir.slice<1> ! CHECK: %[[VAL_15:.*]] = fir.rebox %[[VAL_4]](%[[VAL_13]]) {{\[}}%[[VAL_14]]] : (!fir.box>>, !fir.shift<1>, !fir.slice<1>) -> !fir.box> ! CHECK: %[[VAL_15_NEW:.*]] = fir.convert %[[VAL_15]] : (!fir.box>) -> !fir.box> -! CHECK: fir.call @_QPtakes_real_array(%[[VAL_15_NEW]]) : (!fir.box>) -> () +! CHECK: fir.call @_QPtakes_real_array(%[[VAL_15_NEW]]) {{.*}} : (!fir.box>) -> () ! CHECK: %[[VAL_16:.*]] = arith.constant 5 : i64 ! CHECK: %[[VAL_17:.*]] = arith.constant 1 : i64 ! CHECK: %[[VAL_18:.*]] = arith.subi %[[VAL_16]], %[[VAL_17]] : i64 @@ -155,7 +155,7 @@ ! CHECK: %[[VAL_32:.*]] = fir.slice %[[VAL_26]], %[[VAL_30]], %[[VAL_28]] : (index, index, index) -> !fir.slice<1> ! CHECK: %[[VAL_33:.*]] = fir.rebox %[[VAL_22]](%[[VAL_31]]) {{\[}}%[[VAL_32]]] : (!fir.box>>, !fir.shift<1>, !fir.slice<1>) -> !fir.box> ! CHECK: %[[VAL_33_NEW:.*]] = fir.convert %[[VAL_33]] : (!fir.box>) -> !fir.box> -! CHECK: fir.call @_QPtakes_real_array(%[[VAL_33_NEW]]) : (!fir.box>) -> () +! CHECK: fir.call @_QPtakes_real_array(%[[VAL_33_NEW]]) {{.*}} : (!fir.box>) -> () ! CHECK: return ! CHECK: } Index: flang/test/Lower/derived-type-temp.f90 =================================================================== --- flang/test/Lower/derived-type-temp.f90 +++ flang/test/Lower/derived-type-temp.f90 @@ -16,4 +16,4 @@ ! CHECK: %[[temp:.*]] = fir.alloca !fir.type<_QFTt1{i:!fir.box>}> {bindc_name = "x", uniq_name = "_QFEx"} ! CHECK: %[[box:.*]] = fir.embox %[[temp]] : (!fir.ref>}>>) -> !fir.box>}>> ! CHECK: %[[box_none:.*]] = fir.convert %[[box]] : (!fir.box>}>>) -> !fir.box -! CHECK: %{{.*}} = fir.call @_FortranAInitialize(%[[box_none]], %{{.*}}, %{{.*}}) : (!fir.box, !fir.ref, i32) -> none +! CHECK: %{{.*}} = fir.call @_FortranAInitialize(%[[box_none]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.box, !fir.ref, i32) -> none Index: flang/test/Lower/derived-types.f90 =================================================================== --- flang/test/Lower/derived-types.f90 +++ flang/test/Lower/derived-types.f90 @@ -152,9 +152,9 @@ ! CHECK-LABEL: func @_QMdPcall_bar_return_derived( subroutine call_bar_return_derived() ! CHECK: %[[tmp:.*]] = fir.alloca !fir.type<_QMdTr{x:f32}> - ! CHECK: %[[call:.*]] = fir.call @_QMdPbar_return_derived() : () -> !fir.type<_QMdTr{x:f32}> + ! CHECK: %[[call:.*]] = fir.call @_QMdPbar_return_derived() {{.*}} : () -> !fir.type<_QMdTr{x:f32}> ! CHECK: fir.save_result %[[call]] to %[[tmp]] : !fir.type<_QMdTr{x:f32}>, !fir.ref> - ! CHECK: fir.call @_QPr_bar(%[[tmp]]) : (!fir.ref>) -> () + ! CHECK: fir.call @_QPr_bar(%[[tmp]]) {{.*}} : (!fir.ref>) -> () call r_bar(bar_return_derived()) end subroutine Index: flang/test/Lower/dispatch.f90 =================================================================== --- flang/test/Lower/dispatch.f90 +++ flang/test/Lower/dispatch.f90 @@ -210,7 +210,7 @@ ! CHECK: fir.do_loop {{.*}} { ! CHECK: %[[COORD1:.*]] = fir.coordinate_of %[[ARG1]], %{{.*}} : (!fir.ref>>, i64) -> !fir.ref> ! CHECK: %[[EMBOX:.*]] = fir.embox %[[COORD]] : (!fir.ref>) -> !fir.class> -! CHECK: fir.call @_QMcall_dispatchPtbp_pass(%[[EMBOX]]) : (!fir.class>) -> () +! CHECK: fir.call @_QMcall_dispatchPtbp_pass(%[[EMBOX]]) {{.*}} : (!fir.class>) -> () subroutine check_dispatch_dynamic_array(p, t) class(p1) :: p(:) @@ -237,7 +237,7 @@ ! CHECK: %{{.*}} = fir.do_loop {{.*}} { ! CHECK: %[[COORD:.*]] = fir.coordinate_of %[[ARG1]], %{{.*}} : (!fir.box>>, i64) -> !fir.ref> ! CHECK: %[[EMBOX:.*]] = fir.embox %[[COORD]] : (!fir.ref>) -> !fir.class> -! CHECK: fir.call @_QMcall_dispatchPtbp_pass(%[[EMBOX]]) : (!fir.class>) -> () +! CHECK: fir.call @_QMcall_dispatchPtbp_pass(%[[EMBOX]]) {{.*}} : (!fir.class>) -> () subroutine check_dispatch_allocatable_array(p, t) class(p1), allocatable :: p(:) @@ -271,7 +271,7 @@ ! CHECK: %[[BOX_DIMS_ARG1:.*]]:3 = fir.box_dims %[[LOAD_ARG1]], %[[C0]] : (!fir.box>>>, index) -> (index, index, index) ! CHECK: %[[COORD:.*]] = fir.coordinate_of %[[LOAD_ARG1]], %{{.*}} : (!fir.box>>>, i64) -> !fir.ref> ! CHECK: %[[EMBOX:.*]] = fir.embox %[[COORD]] : (!fir.ref>) -> !fir.class> -! CHECK: fir.call @_QMcall_dispatchPtbp_pass(%[[EMBOX]]) : (!fir.class>) -> () +! CHECK: fir.call @_QMcall_dispatchPtbp_pass(%[[EMBOX]]) {{.*}} : (!fir.class>) -> () subroutine check_dispatch_pointer_array(p, t) class(p1), pointer :: p(:) @@ -305,7 +305,7 @@ ! CHECK: %[[BOX_DIMS_ARG1:.*]]:3 = fir.box_dims %[[LOAD_ARG1]], %[[C0]] : (!fir.box>>>, index) -> (index, index, index) ! CHECK: %[[COORD:.*]] = fir.coordinate_of %[[LOAD_ARG1]], %{{.*}} : (!fir.box>>>, i64) -> !fir.ref> ! CHECK: %[[EMBOX:.*]] = fir.embox %[[COORD]] : (!fir.ref>) -> !fir.class> -! CHECK: fir.call @_QMcall_dispatchPtbp_pass(%[[EMBOX]]) : (!fir.class>) -> () +! CHECK: fir.call @_QMcall_dispatchPtbp_pass(%[[EMBOX]]) {{.*}} : (!fir.class>) -> () subroutine check_dispatch_dynamic_array_copy(p, o) class(p1) :: p(:) Index: flang/test/Lower/do_loop.f90 =================================================================== --- flang/test/Lower/do_loop.f90 +++ flang/test/Lower/do_loop.f90 @@ -31,7 +31,7 @@ end do ! CHECK: fir.store %[[LI_RES]]#1 to %[[I_REF]] : !fir.ref ! CHECK: %[[I:.*]] = fir.load %[[I_REF]] : !fir.ref - ! CHECK: %{{.*}} = fir.call @_FortranAioOutputInteger32(%{{.*}}, %[[I]]) : (!fir.ref, i32) -> i1 + ! CHECK: %{{.*}} = fir.call @_FortranAioOutputInteger32(%{{.*}}, %[[I]]) {{.*}} : (!fir.ref, i32) -> i1 print *, i end subroutine @@ -247,9 +247,9 @@ ! CHECK-DAG: %[[ST:.*]] = fir.load %[[ST_REF]] : !fir.ref real :: x, s, e, st - ! CHECK: %[[DIFF:.*]] = arith.subf %[[E]], %[[S]] : f32 - ! CHECK: %[[RANGE:.*]] = arith.addf %[[DIFF]], %[[ST]] : f32 - ! CHECK: %[[HIGH:.*]] = arith.divf %[[RANGE]], %[[ST]] : f32 + ! CHECK: %[[DIFF:.*]] = arith.subf %[[E]], %[[S]] {{.*}} : f32 + ! CHECK: %[[RANGE:.*]] = arith.addf %[[DIFF]], %[[ST]] {{.*}} : f32 + ! CHECK: %[[HIGH:.*]] = arith.divf %[[RANGE]], %[[ST]] {{.*}} : f32 ! CHECK: %[[HIGH_INDEX:.*]] = fir.convert %[[HIGH]] : (f32) -> index ! CHECK: fir.store %[[HIGH_INDEX]] to %[[INDEX_REF]] : !fir.ref ! CHECK: fir.store %[[S]] to %[[X_REF]] : !fir.ref @@ -267,7 +267,7 @@ ! CHECK: %[[INC:.*]] = arith.subi %[[INDEX2]], %[[C1]] : index ! CHECK: fir.store %[[INC]] to %[[INDEX_REF]] : !fir.ref ! CHECK: %[[X2:.*]] = fir.load %[[X_REF]] : !fir.ref - ! CHECK: %[[XINC:.*]] = arith.addf %[[X2]], %[[ST]] : f32 + ! CHECK: %[[XINC:.*]] = arith.addf %[[X2]], %[[ST]] {{.*}} : f32 ! CHECK: fir.store %[[XINC]] to %[[X_REF]] : !fir.ref ! CHECK: br ^[[HDR]] end do Index: flang/test/Lower/dummy-argument-assumed-shape-optional.f90 =================================================================== --- flang/test/Lower/dummy-argument-assumed-shape-optional.f90 +++ flang/test/Lower/dummy-argument-assumed-shape-optional.f90 @@ -23,7 +23,7 @@ ! CHECK-LABEL: func.func @_QMtestsPtest_assumed_shape_to_contiguous( ! CHECK-SAME: %[[VAL_0:.*]]: !fir.box> {fir.bindc_name = "x"}) { ! CHECK: %[[VAL_1:.*]] = fir.convert %[[VAL_0]] : (!fir.box>) -> !fir.box -! CHECK: %[[VAL_2:.*]] = fir.call @_FortranAIsContiguous(%[[VAL_1]]) : (!fir.box) -> i1 +! CHECK: %[[VAL_2:.*]] = fir.call @_FortranAIsContiguous(%[[VAL_1]]) {{.*}} : (!fir.box) -> i1 ! CHECK: %[[VAL_3:.*]] = fir.if %[[VAL_2]] -> (!fir.heap>) { ! CHECK: %[[VAL_4:.*]] = fir.box_addr %[[VAL_0]] : (!fir.box>) -> !fir.heap> ! CHECK: fir.result %[[VAL_4]] : !fir.heap> @@ -40,7 +40,7 @@ ! CHECK: %[[VAL_23:.*]] = arith.cmpi eq, %[[VAL_2]], %[[VAL_22]] : i1 ! CHECK: %[[VAL_24:.*]] = fir.shape %[[VAL_21]]#1 : (index) -> !fir.shape<1> ! CHECK: %[[VAL_25:.*]] = fir.embox %[[VAL_3]](%[[VAL_24]]) : (!fir.heap>, !fir.shape<1>) -> !fir.box> -! CHECK: fir.call @_QPtakes_contiguous(%[[VAL_25]]) : (!fir.box>) -> () +! CHECK: fir.call @_QPtakes_contiguous(%[[VAL_25]]) {{.*}} : (!fir.box>) -> () ! CHECK: fir.if %[[VAL_23]] { ! CHECK: fir.do_loop {{.*}} { ! ... copy @@ -62,7 +62,7 @@ ! CHECK: %[[VAL_4:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_5:.*]] = fir.shape_shift %[[VAL_4]], %[[VAL_3]]#1 : (index, index) -> !fir.shapeshift<1> ! CHECK: %[[VAL_6:.*]] = fir.embox %[[VAL_1]](%[[VAL_5]]) : (!fir.ref>, !fir.shapeshift<1>) -> !fir.box> -! CHECK: fir.call @_QPtakes_contiguous(%[[VAL_6]]) : (!fir.box>) -> () +! CHECK: fir.call @_QPtakes_contiguous(%[[VAL_6]]) {{.*}} : (!fir.box>) -> () ! CHECK-NEXT: return subroutine test_assumed_shape_opt_to_contiguous(x) @@ -72,7 +72,7 @@ ! CHECK-LABEL: func.func @_QMtestsPtest_assumed_shape_opt_to_contiguous( ! CHECK-SAME: %[[VAL_0:.*]]: !fir.box> {fir.bindc_name = "x", fir.optional}) { ! CHECK: %[[VAL_1:.*]] = fir.convert %[[VAL_0]] : (!fir.box>) -> !fir.box -! CHECK: %[[VAL_2:.*]] = fir.call @_FortranAIsContiguous(%[[VAL_1]]) : (!fir.box) -> i1 +! CHECK: %[[VAL_2:.*]] = fir.call @_FortranAIsContiguous(%[[VAL_1]]) {{.*}} : (!fir.box) -> i1 ! CHECK: %[[VAL_3:.*]] = fir.if %[[VAL_2]] -> (!fir.heap>) { ! CHECK: %[[VAL_4:.*]] = fir.box_addr %[[VAL_0]] : (!fir.box>) -> !fir.heap> ! CHECK: fir.result %[[VAL_4]] : !fir.heap> @@ -89,7 +89,7 @@ ! CHECK: %[[VAL_23:.*]] = arith.cmpi eq, %[[VAL_2]], %[[VAL_22]] : i1 ! CHECK: %[[VAL_24:.*]] = fir.shape %[[VAL_21]]#1 : (index) -> !fir.shape<1> ! CHECK: %[[VAL_25:.*]] = fir.embox %[[VAL_3]](%[[VAL_24]]) : (!fir.heap>, !fir.shape<1>) -> !fir.box> -! CHECK: fir.call @_QPtakes_contiguous(%[[VAL_25]]) : (!fir.box>) -> () +! CHECK: fir.call @_QPtakes_contiguous(%[[VAL_25]]) {{.*}} : (!fir.box>) -> () ! CHECK: fir.if %[[VAL_23]] { ! CHECK: fir.do_loop {{.*}} { ! ... copy @@ -105,7 +105,7 @@ end subroutine ! CHECK-LABEL: func.func @_QMtestsPtest_assumed_shape_contiguous_opt_to_contiguous( ! CHECK-SAME: %[[VAL_0:.*]]: !fir.box> {fir.bindc_name = "x", fir.contiguous, fir.optional}) { -! CHECK: fir.call @_QPtakes_contiguous(%[[VAL_0]]) : (!fir.box>) -> () +! CHECK: fir.call @_QPtakes_contiguous(%[[VAL_0]]) {{.*}} : (!fir.box>) -> () ! CHECK-NEXT: return @@ -122,7 +122,7 @@ ! CHECK-LABEL: func.func @_QMtestsPtest_assumed_shape_to_contiguous_opt( ! CHECK-SAME: %[[VAL_0:.*]]: !fir.box> {fir.bindc_name = "x"}) { ! CHECK: %[[VAL_1:.*]] = fir.convert %[[VAL_0]] : (!fir.box>) -> !fir.box -! CHECK: %[[VAL_2:.*]] = fir.call @_FortranAIsContiguous(%[[VAL_1]]) : (!fir.box) -> i1 +! CHECK: %[[VAL_2:.*]] = fir.call @_FortranAIsContiguous(%[[VAL_1]]) {{.*}} : (!fir.box) -> i1 ! CHECK: %[[VAL_3:.*]] = fir.if %[[VAL_2]] -> (!fir.heap>) { ! CHECK: %[[VAL_4:.*]] = fir.box_addr %[[VAL_0]] : (!fir.box>) -> !fir.heap> ! CHECK: fir.result %[[VAL_4]] : !fir.heap> @@ -139,7 +139,7 @@ ! CHECK: %[[VAL_23:.*]] = arith.cmpi eq, %[[VAL_2]], %[[VAL_22]] : i1 ! CHECK: %[[VAL_24:.*]] = fir.shape %[[VAL_21]]#1 : (index) -> !fir.shape<1> ! CHECK: %[[VAL_25:.*]] = fir.embox %[[VAL_3]](%[[VAL_24]]) : (!fir.heap>, !fir.shape<1>) -> !fir.box> -! CHECK: fir.call @_QPtakes_contiguous_optional(%[[VAL_25]]) : (!fir.box>) -> () +! CHECK: fir.call @_QPtakes_contiguous_optional(%[[VAL_25]]) {{.*}} : (!fir.box>) -> () ! CHECK: fir.if %[[VAL_23]] { ! CHECK: fir.do_loop {{.*}} { ! ... copy @@ -161,7 +161,7 @@ ! CHECK: %[[VAL_4:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_5:.*]] = fir.shape_shift %[[VAL_4]], %[[VAL_3]]#1 : (index, index) -> !fir.shapeshift<1> ! CHECK: %[[VAL_6:.*]] = fir.embox %[[VAL_1]](%[[VAL_5]]) : (!fir.ref>, !fir.shapeshift<1>) -> !fir.box> -! CHECK: fir.call @_QPtakes_contiguous_optional(%[[VAL_6]]) : (!fir.box>) -> () +! CHECK: fir.call @_QPtakes_contiguous_optional(%[[VAL_6]]) {{.*}} : (!fir.box>) -> () ! CHECK-NEXT: return subroutine test_assumed_shape_opt_to_contiguous_opt(x) @@ -177,7 +177,7 @@ ! CHECK: %[[VAL_5:.*]] = fir.embox %[[VAL_2]](%[[VAL_4]]) : (!fir.ref>, !fir.shape<1>) -> !fir.box> ! CHECK: %[[VAL_6:.*]] = arith.select %[[VAL_1]], %[[VAL_0]], %[[VAL_5]] : !fir.box> ! CHECK: %[[VAL_7:.*]] = fir.convert %[[VAL_6]] : (!fir.box>) -> !fir.box -! CHECK: %[[VAL_8:.*]] = fir.call @_FortranAIsContiguous(%[[VAL_7]]) : (!fir.box) -> i1 +! CHECK: %[[VAL_8:.*]] = fir.call @_FortranAIsContiguous(%[[VAL_7]]) {{.*}} : (!fir.box) -> i1 ! CHECK: %[[VAL_9:.*]] = fir.if %[[VAL_1]] -> (!fir.heap>) { ! CHECK: %[[VAL_10:.*]] = fir.if %[[VAL_8]] -> (!fir.heap>) { ! CHECK: %[[VAL_11:.*]] = fir.box_addr %[[VAL_6]] : (!fir.box>) -> !fir.heap> @@ -203,7 +203,7 @@ ! CHECK: %[[VAL_35:.*]] = fir.embox %[[VAL_9]](%[[VAL_34]]) : (!fir.heap>, !fir.shape<1>) -> !fir.box> ! CHECK: %[[VAL_37:.*]] = fir.absent !fir.box> ! CHECK: %[[VAL_38:.*]] = arith.select %[[VAL_1]], %[[VAL_35]], %[[VAL_37]] : !fir.box> -! CHECK: fir.call @_QPtakes_contiguous_optional(%[[VAL_38]]) : (!fir.box>) -> () +! CHECK: fir.call @_QPtakes_contiguous_optional(%[[VAL_38]]) {{.*}} : (!fir.box>) -> () ! CHECK: fir.if %[[VAL_33]] { ! CHECK: %[[VAL_47:.*]] = fir.do_loop {{.*}} { ! copy ... @@ -219,7 +219,7 @@ end subroutine ! CHECK-LABEL: func.func @_QMtestsPtest_assumed_shape_contiguous_opt_to_contiguous_opt( ! CHECK-SAME: %[[VAL_0:.*]]: !fir.box> {fir.bindc_name = "x", fir.contiguous, fir.optional}) { -! CHECK: fir.call @_QPtakes_contiguous_optional(%[[VAL_0]]) : (!fir.box>) -> () +! CHECK: fir.call @_QPtakes_contiguous_optional(%[[VAL_0]]) {{.*}} : (!fir.box>) -> () ! CHECK-NEXT: return ! ----------------------------------------------------------------------------- @@ -244,7 +244,7 @@ ! CHECK: %[[VAL_7:.*]] = arith.constant 0 : index ! CHECK: %[[VAL_8:.*]]:3 = fir.box_dims %[[VAL_6]], %[[VAL_7]] : (!fir.box>>, index) -> (index, index, index) ! CHECK: %[[VAL_9:.*]] = fir.convert %[[VAL_6]] : (!fir.box>>) -> !fir.box -! CHECK: %[[VAL_10:.*]] = fir.call @_FortranAIsContiguous(%[[VAL_9]]) : (!fir.box) -> i1 +! CHECK: %[[VAL_10:.*]] = fir.call @_FortranAIsContiguous(%[[VAL_9]]) {{.*}} : (!fir.box) -> i1 ! CHECK: %[[VAL_11:.*]] = fir.if %[[VAL_5]] -> (!fir.heap>) { ! CHECK: %[[VAL_12:.*]] = fir.if %[[VAL_10]] -> (!fir.heap>) { ! CHECK: %[[VAL_13:.*]] = fir.box_addr %[[VAL_6]] : (!fir.box>>) -> !fir.heap> @@ -270,7 +270,7 @@ ! CHECK: %[[VAL_38:.*]] = fir.embox %[[VAL_11]](%[[VAL_37]]) : (!fir.heap>, !fir.shapeshift<1>) -> !fir.box> ! CHECK: %[[VAL_40:.*]] = fir.absent !fir.box> ! CHECK: %[[VAL_41:.*]] = arith.select %[[VAL_5]], %[[VAL_38]], %[[VAL_40]] : !fir.box> -! CHECK: fir.call @_QPtakes_contiguous_optional(%[[VAL_41]]) : (!fir.box>) -> () +! CHECK: fir.call @_QPtakes_contiguous_optional(%[[VAL_41]]) {{.*}} : (!fir.box>) -> () ! CHECK: fir.if %[[VAL_36]] { ! CHECK: fir.do_loop {{.*}} { ! copy @@ -299,7 +299,7 @@ ! CHECK: %[[VAL_11:.*]] = fir.shape_shift %[[VAL_9]]#0, %[[VAL_9]]#1 : (index, index) -> !fir.shapeshift<1> ! CHECK: %[[VAL_12:.*]] = fir.embox %[[VAL_10]](%[[VAL_11]]) : (!fir.ptr>, !fir.shapeshift<1>) -> !fir.box> ! CHECK: %[[VAL_13:.*]] = arith.select %[[VAL_5]], %[[VAL_12]], %[[VAL_6]] : !fir.box> -! CHECK: fir.call @_QPtakes_contiguous_optional(%[[VAL_13]]) : (!fir.box>) -> () +! CHECK: fir.call @_QPtakes_contiguous_optional(%[[VAL_13]]) {{.*}} : (!fir.box>) -> () ! CHECK-NEXT: return subroutine test_pointer_opt_to_contiguous_opt(x) @@ -317,7 +317,7 @@ ! CHECK: %[[VAL_7:.*]] = arith.constant 0 : index ! CHECK: %[[VAL_8:.*]]:3 = fir.box_dims %[[VAL_6]], %[[VAL_7]] : (!fir.box>>, index) -> (index, index, index) ! CHECK: %[[VAL_9:.*]] = fir.convert %[[VAL_6]] : (!fir.box>>) -> !fir.box -! CHECK: %[[VAL_10:.*]] = fir.call @_FortranAIsContiguous(%[[VAL_9]]) : (!fir.box) -> i1 +! CHECK: %[[VAL_10:.*]] = fir.call @_FortranAIsContiguous(%[[VAL_9]]) {{.*}} : (!fir.box) -> i1 ! CHECK: %[[VAL_11:.*]] = fir.if %[[VAL_5]] -> (!fir.heap>) { ! CHECK: %[[VAL_12:.*]] = fir.if %[[VAL_10]] -> (!fir.heap>) { ! CHECK: %[[VAL_13:.*]] = fir.box_addr %[[VAL_6]] : (!fir.box>>) -> !fir.heap> @@ -343,7 +343,7 @@ ! CHECK: %[[VAL_38:.*]] = fir.embox %[[VAL_11]](%[[VAL_37]]) : (!fir.heap>, !fir.shapeshift<1>) -> !fir.box> ! CHECK: %[[VAL_40:.*]] = fir.absent !fir.box> ! CHECK: %[[VAL_41:.*]] = arith.select %[[VAL_5]], %[[VAL_38]], %[[VAL_40]] : !fir.box> -! CHECK: fir.call @_QPtakes_contiguous_optional(%[[VAL_41]]) : (!fir.box>) -> () +! CHECK: fir.call @_QPtakes_contiguous_optional(%[[VAL_41]]) {{.*}} : (!fir.box>) -> () ! CHECK: fir.if %[[VAL_36]] { ! CHECK: fir.do_loop {{.*}} { ! copy @@ -372,6 +372,6 @@ ! CHECK: %[[VAL_11:.*]] = fir.shape_shift %[[VAL_9]]#0, %[[VAL_9]]#1 : (index, index) -> !fir.shapeshift<1> ! CHECK: %[[VAL_12:.*]] = fir.embox %[[VAL_10]](%[[VAL_11]]) : (!fir.ptr>, !fir.shapeshift<1>) -> !fir.box> ! CHECK: %[[VAL_13:.*]] = arith.select %[[VAL_5]], %[[VAL_12]], %[[VAL_6]] : !fir.box> -! CHECK-NEXT: fir.call @_QPtakes_contiguous_optional(%[[VAL_13]]) : (!fir.box>) -> () +! CHECK-NEXT: fir.call @_QPtakes_contiguous_optional(%[[VAL_13]]) {{.*}} : (!fir.box>) -> () ! CHECK: return end module Index: flang/test/Lower/dummy-argument-contiguous.f90 =================================================================== --- flang/test/Lower/dummy-argument-contiguous.f90 +++ flang/test/Lower/dummy-argument-contiguous.f90 @@ -136,5 +136,5 @@ end interface real :: x(:) call bar3(x) - ! CHECK: fir.call @_QPbar3(%arg0) : (!fir.box>) -> () + ! CHECK: fir.call @_QPbar3(%arg0) {{.*}} : (!fir.box>) -> () end subroutine Index: flang/test/Lower/dummy-argument-optional-2.f90 =================================================================== --- flang/test/Lower/dummy-argument-optional-2.f90 +++ flang/test/Lower/dummy-argument-optional-2.f90 @@ -42,7 +42,7 @@ ! CHECK: %[[VAL_1:.*]] = fir.load %[[VAL_0]] : !fir.ref>> ! CHECK: %[[VAL_2:.*]] = fir.box_addr %[[VAL_1]] : (!fir.box>) -> !fir.ptr ! CHECK: %[[VAL_3:.*]] = fir.convert %[[VAL_2]] : (!fir.ptr) -> !fir.ref -! CHECK: fir.call @_QPtakes_opt_scalar(%[[VAL_3]]) : (!fir.ref) -> () +! CHECK: fir.call @_QPtakes_opt_scalar(%[[VAL_3]]) {{.*}} : (!fir.ref) -> () end subroutine ! CHECK-LABEL: func @_QMoptional_testsPpass_allocatable_scalar( @@ -53,7 +53,7 @@ ! CHECK: %[[VAL_1:.*]] = fir.load %[[VAL_0]] : !fir.ref>> ! CHECK: %[[VAL_2:.*]] = fir.box_addr %[[VAL_1]] : (!fir.box>) -> !fir.heap ! CHECK: %[[VAL_3:.*]] = fir.convert %[[VAL_2]] : (!fir.heap) -> !fir.ref -! CHECK: fir.call @_QPtakes_opt_scalar(%[[VAL_3]]) : (!fir.ref) -> () +! CHECK: fir.call @_QPtakes_opt_scalar(%[[VAL_3]]) {{.*}} : (!fir.ref) -> () end subroutine ! CHECK-LABEL: func @_QMoptional_testsPpass_pointer_scalar_char( @@ -66,7 +66,7 @@ ! CHECK: %[[VAL_3:.*]] = fir.box_addr %[[VAL_1]] : (!fir.box>>) -> !fir.ptr> ! CHECK: %[[VAL_4:.*]] = fir.convert %[[VAL_3]] : (!fir.ptr>) -> !fir.ref> ! CHECK: %[[VAL_5:.*]] = fir.emboxchar %[[VAL_4]], %[[VAL_2]] : (!fir.ref>, index) -> !fir.boxchar<1> -! CHECK: fir.call @_QPtakes_opt_scalar_char(%[[VAL_5]]) : (!fir.boxchar<1>) -> () +! CHECK: fir.call @_QPtakes_opt_scalar_char(%[[VAL_5]]) {{.*}} : (!fir.boxchar<1>) -> () end subroutine ! CHECK-LABEL: func @_QMoptional_testsPpass_allocatable_scalar_char( @@ -79,7 +79,7 @@ ! CHECK: %[[VAL_3:.*]] = fir.box_addr %[[VAL_1]] : (!fir.box>>) -> !fir.heap> ! CHECK: %[[VAL_4:.*]] = fir.convert %[[VAL_3]] : (!fir.heap>) -> !fir.ref> ! CHECK: %[[VAL_5:.*]] = fir.emboxchar %[[VAL_4]], %[[VAL_2]] : (!fir.ref>, index) -> !fir.boxchar<1> -! CHECK: fir.call @_QPtakes_opt_scalar_char(%[[VAL_5]]) : (!fir.boxchar<1>) -> () +! CHECK: fir.call @_QPtakes_opt_scalar_char(%[[VAL_5]]) {{.*}} : (!fir.boxchar<1>) -> () end subroutine ! ----------------------------------------------------------------------------- @@ -102,7 +102,7 @@ ! CHECK: %[[box:.*]] = fir.load %[[VAL_0]] : !fir.ref>>> ! CHECK: %[[VAL_7:.*]] = arith.constant 0 : index ! CHECK: %[[box_none:.*]] = fir.convert %[[box]] : (!fir.box>>) -> !fir.box -! CHECK: %[[is_contiguous:.*]] = fir.call @_FortranAIsContiguous(%[[box_none]]) : (!fir.box) -> i1 +! CHECK: %[[is_contiguous:.*]] = fir.call @_FortranAIsContiguous(%[[box_none]]) {{.*}} : (!fir.box) -> i1 ! CHECK: %[[VAL_9:.*]] = fir.if %[[VAL_5]] -> (!fir.heap>) { ! CHECK: %[[addr:.*]] = fir.if %[[is_contiguous]] -> (!fir.heap>) { ! CHECK: %[[box_addr:.*]] = fir.box_addr %[[box]] : (!fir.box>>) -> !fir.heap> @@ -122,7 +122,7 @@ ! CHECK: %[[not_contiguous:.*]] = arith.cmpi eq, %[[is_contiguous]], %false : i1 ! CHECK: %[[and:.*]] = arith.andi %[[VAL_5]], %[[not_contiguous]] : i1 ! CHECK: %[[VAL_29:.*]] = fir.convert %[[VAL_9]] : (!fir.heap>) -> !fir.ref> -! CHECK: fir.call @_QPtakes_opt_explicit_shape(%[[VAL_29]]) : (!fir.ref>) -> () +! CHECK: fir.call @_QPtakes_opt_explicit_shape(%[[VAL_29]]) {{.*}} : (!fir.ref>) -> () ! CHECK: fir.if %[[and]] { ! CHECK: %[[VAL_40:.*]] = fir.do_loop {{.*}} { ! CHECK: } @@ -143,7 +143,7 @@ ! CHECK: %[[VAL_5:.*]] = arith.cmpi ne, %[[VAL_3]], %[[VAL_4]] : i64 ! CHECK: %[[VAL_6:.*]] = fir.load %[[VAL_0]] : !fir.ref>>>> ! CHECK: %[[box_none:.*]] = fir.convert %[[VAL_6]] : (!fir.box>>>) -> !fir.box -! CHECK: %[[is_contiguous:.*]] = fir.call @_FortranAIsContiguous(%[[box_none]]) : (!fir.box) -> i1 +! CHECK: %[[is_contiguous:.*]] = fir.call @_FortranAIsContiguous(%[[box_none]]) {{.*}} : (!fir.box) -> i1 ! CHECK: %[[VAL_9:.*]] = fir.if %[[VAL_5]] -> (!fir.heap>>) { ! CHECK: %[[VAL_10:.*]] = arith.constant 0 : index ! CHECK: %[[VAL_11:.*]]:3 = fir.box_dims %[[VAL_6]], %[[VAL_10]] : (!fir.box>>>, index) -> (index, index, index) @@ -162,7 +162,7 @@ ! CHECK: %[[and:.*]] = arith.andi %[[VAL_5]], %[[not_contiguous]] : i1 ! CHECK: %[[VAL_50:.*]] = fir.convert %[[VAL_9]] : (!fir.heap>>) -> !fir.ref> ! CHECK: %[[VAL_52:.*]] = fir.emboxchar %[[VAL_50]], %[[VAL_47]] : (!fir.ref>, index) -> !fir.boxchar<1> -! CHECK: fir.call @_QPtakes_opt_explicit_shape_char(%[[VAL_52]]) : (!fir.boxchar<1>) -> () +! CHECK: fir.call @_QPtakes_opt_explicit_shape_char(%[[VAL_52]]) {{.*}} : (!fir.boxchar<1>) -> () ! CHECK: fir.if %[[and]] { ! CHECK: %[[VAL_62:.*]] = fir.do_loop {{.*}} { ! CHECK: } @@ -180,14 +180,14 @@ subroutine forward_pointer_array() call takes_opt_explicit_shape(returns_pointer()) ! CHECK: %[[VAL_0:.*]] = fir.alloca !fir.box>> {bindc_name = ".result"} -! CHECK: %[[VAL_1:.*]] = fir.call @_QPreturns_pointer() : () -> !fir.box>> +! CHECK: %[[VAL_1:.*]] = fir.call @_QPreturns_pointer() {{.*}} : () -> !fir.box>> ! CHECK: fir.save_result %[[VAL_1]] to %[[VAL_0]] : !fir.box>>, !fir.ref>>> ! CHECK: %[[VAL_2:.*]] = fir.load %[[VAL_0]] : !fir.ref>>> ! CHECK: %[[VAL_3:.*]] = fir.box_addr %[[VAL_2]] : (!fir.box>>) -> !fir.ptr> ! CHECK: %[[VAL_4:.*]] = fir.convert %[[VAL_3]] : (!fir.ptr>) -> i64 ! CHECK: %[[VAL_5:.*]] = arith.constant 0 : i64 ! CHECK: %[[VAL_6:.*]] = arith.cmpi ne, %[[VAL_4]], %[[VAL_5]] : i64 -! CHECK: %[[is_contiguous:.*]] = fir.call @_FortranAIsContiguous(%{{.*}}) : (!fir.box) -> i1 +! CHECK: %[[is_contiguous:.*]] = fir.call @_FortranAIsContiguous(%{{.*}}) {{.*}} : (!fir.box) -> i1 ! CHECK: %[[VAL_7:.*]] = fir.if %[[VAL_6]] -> (!fir.heap>) { ! CHECK: %[[VAL_10:.*]] = fir.allocmem !fir.array ! CHECK: fir.do_loop {{.*}} { @@ -200,7 +200,7 @@ ! CHECK: %[[not_contiguous:.*]] = arith.cmpi eq, %[[is_contiguous]], %false : i1 ! CHECK: %[[and:.*]] = arith.andi %[[VAL_6]], %[[not_contiguous]] : i1 ! CHECK: %[[VAL_14:.*]] = fir.convert %[[VAL_7]] : (!fir.heap>) -> !fir.ref> -! CHECK: fir.call @_QPtakes_opt_explicit_shape(%[[VAL_14]]) : (!fir.ref>) -> () +! CHECK: fir.call @_QPtakes_opt_explicit_shape(%[[VAL_14]]) {{.*}} : (!fir.ref>) -> () ! CHECK: fir.if %[[and]] { ! CHECK: fir.do_loop {{.*}} { ! CHECK: } @@ -226,7 +226,7 @@ ! CHECK: %[[VAL_4:.*]] = fir.shape %[[VAL_3]] : (index) -> !fir.shape<1> ! CHECK: %[[VAL_5:.*]] = fir.embox %[[VAL_2]](%[[VAL_4]]) : (!fir.ref>, !fir.shape<1>) -> !fir.box> ! CHECK: %[[VAL_6:.*]] = arith.select %[[VAL_1]], %[[VAL_0]], %[[VAL_5]] : !fir.box> -! CHECK: %[[is_contiguous:.*]] = fir.call @_FortranAIsContiguous(%{{.*}}) : (!fir.box) -> i1 +! CHECK: %[[is_contiguous:.*]] = fir.call @_FortranAIsContiguous(%{{.*}}) {{.*}} : (!fir.box) -> i1 ! CHECK: %[[VAL_7:.*]] = fir.if %[[VAL_1]] -> (!fir.heap>) { ! CHECK: %[[VAL_8:.*]] = arith.constant 0 : index ! CHECK: %[[VAL_9:.*]]:3 = fir.box_dims %[[VAL_6]], %[[VAL_8]] : (!fir.box>, index) -> (index, index, index) @@ -242,7 +242,7 @@ ! CHECK: %[[not_contiguous:.*]] = arith.cmpi eq, %[[is_contiguous]], %false : i1 ! CHECK: %[[and:.*]] = arith.andi %[[VAL_1]], %[[not_contiguous]] : i1 ! CHECK: %[[VAL_26:.*]] = fir.convert %[[VAL_27:.*]] : (!fir.heap>) -> !fir.ref> -! CHECK: fir.call @_QPtakes_opt_explicit_shape(%[[VAL_26]]) : (!fir.ref>) -> () +! CHECK: fir.call @_QPtakes_opt_explicit_shape(%[[VAL_26]]) {{.*}} : (!fir.ref>) -> () ! CHECK: fir.if %[[and]] { ! CHECK: %[[VAL_36:.*]] = fir.do_loop {{.*}} { ! CHECK: } @@ -264,7 +264,7 @@ ! CHECK: %[[VAL_6:.*]] = fir.embox %[[VAL_2]](%[[VAL_4]]) typeparams %[[VAL_5]] : (!fir.ref>>, !fir.shape<1>, index) -> !fir.box>> ! CHECK: %[[VAL_7:.*]] = arith.select %[[VAL_1]], %[[VAL_0]], %[[VAL_6]] : !fir.box>> ! CHECK: %[[box_none:.*]] = fir.convert %[[VAL_7]] : (!fir.box>>) -> !fir.box -! CHECK: %[[is_contiguous:.*]] = fir.call @_FortranAIsContiguous(%[[box_none]]) : (!fir.box) -> i1 +! CHECK: %[[is_contiguous:.*]] = fir.call @_FortranAIsContiguous(%[[box_none]]) {{.*}} : (!fir.box) -> i1 ! CHECK: %[[VAL_8:.*]] = fir.if %[[VAL_1]] -> (!fir.heap>>) { ! CHECK: %[[addr:.*]] = fir.if %[[is_contiguous]] -> (!fir.heap>>) { ! CHECK: %[[res:.*]] = fir.box_addr %[[VAL_7]] : (!fir.box>>) -> !fir.heap>> @@ -285,7 +285,7 @@ ! CHECK: %[[and:.*]] = arith.andi %[[VAL_1]], %[[not_contiguous]] : i1 ! CHECK: %[[VAL_48:.*]] = fir.convert %[[VAL_49:.*]] : (!fir.heap>>) -> !fir.ref> ! CHECK: %[[VAL_50:.*]] = fir.emboxchar %[[VAL_48]], %[[VAL_45]] : (!fir.ref>, index) -> !fir.boxchar<1> -! CHECK: fir.call @_QPtakes_opt_explicit_shape_char(%[[VAL_50]]) : (!fir.boxchar<1>) -> () +! CHECK: fir.call @_QPtakes_opt_explicit_shape_char(%[[VAL_50]]) {{.*}} : (!fir.boxchar<1>) -> () ! CHECK: fir.if %[[and]] { ! CHECK: %[[VAL_59:.*]] = fir.do_loop {{.*}} { ! CHECK: fir.array_merge_store %{{.*}}, %[[VAL_59]] to %[[VAL_7]] : !fir.array>, !fir.array>, !fir.box>> @@ -312,7 +312,7 @@ ! CHECK: %[[VAL_6:.*]] = arith.select %[[VAL_1]], %[[VAL_0]], %[[VAL_5]] : !fir.box> ! CHECK: %[[VAL_7:.*]] = fir.box_addr %[[VAL_6]] : (!fir.box>) -> !fir.ref> ! CHECK: %[[VAL_8:.*]] = fir.convert %[[VAL_7]] : (!fir.ref>) -> !fir.ref> -! CHECK: fir.call @_QPtakes_opt_explicit_shape(%[[VAL_8]]) : (!fir.ref>) -> () +! CHECK: fir.call @_QPtakes_opt_explicit_shape(%[[VAL_8]]) {{.*}} : (!fir.ref>) -> () end subroutine ! CHECK-LABEL: func @_QMoptional_testsPpass_opt_contiguous_assumed_shape_char( @@ -331,7 +331,7 @@ ! CHECK: %[[VAL_9:.*]] = fir.box_elesize %[[VAL_7]] : (!fir.box>>) -> index ! CHECK: %[[VAL_10:.*]] = fir.convert %[[VAL_8]] : (!fir.ref>>) -> !fir.ref> ! CHECK: %[[VAL_11:.*]] = fir.emboxchar %[[VAL_10]], %[[VAL_9]] : (!fir.ref>, index) -> !fir.boxchar<1> -! CHECK: fir.call @_QPtakes_opt_explicit_shape_char(%[[VAL_11]]) : (!fir.boxchar<1>) -> () +! CHECK: fir.call @_QPtakes_opt_explicit_shape_char(%[[VAL_11]]) {{.*}} : (!fir.boxchar<1>) -> () end subroutine ! ----------------------------------------------------------------------------- @@ -348,7 +348,7 @@ ! CHECK: %[[VAL_1:.*]] = fir.load %[[VAL_0]] : !fir.ref>>> ! CHECK: %[[VAL_2:.*]] = fir.box_addr %[[VAL_1]] : (!fir.box>>) -> !fir.heap> ! CHECK: %[[VAL_3:.*]] = fir.convert %[[VAL_2]] : (!fir.heap>) -> !fir.ref> -! CHECK: fir.call @_QPtakes_opt_explicit_shape(%[[VAL_3]]) : (!fir.ref>) -> () +! CHECK: fir.call @_QPtakes_opt_explicit_shape(%[[VAL_3]]) {{.*}} : (!fir.ref>) -> () end subroutine ! CHECK-LABEL: func @_QMoptional_testsPpass_allocatable_array_char( @@ -361,7 +361,7 @@ ! CHECK: %[[VAL_3:.*]] = fir.box_addr %[[VAL_1]] : (!fir.box>>>) -> !fir.heap>> ! CHECK: %[[VAL_4:.*]] = fir.convert %[[VAL_3]] : (!fir.heap>>) -> !fir.ref> ! CHECK: %[[VAL_5:.*]] = fir.emboxchar %[[VAL_4]], %[[VAL_2]] : (!fir.ref>, index) -> !fir.boxchar<1> -! CHECK: fir.call @_QPtakes_opt_explicit_shape_char(%[[VAL_5]]) : (!fir.boxchar<1>) -> () +! CHECK: fir.call @_QPtakes_opt_explicit_shape_char(%[[VAL_5]]) {{.*}} : (!fir.boxchar<1>) -> () end subroutine ! CHECK-LABEL: func @_QMoptional_testsPpass_contiguous_pointer_array( @@ -372,7 +372,7 @@ ! CHECK: %[[VAL_1:.*]] = fir.load %[[VAL_0]] : !fir.ref>>> ! CHECK: %[[VAL_2:.*]] = fir.box_addr %[[VAL_1]] : (!fir.box>>) -> !fir.ptr> ! CHECK: %[[VAL_3:.*]] = fir.convert %[[VAL_2]] : (!fir.ptr>) -> !fir.ref> -! CHECK: fir.call @_QPtakes_opt_explicit_shape(%[[VAL_3]]) : (!fir.ref>) -> () +! CHECK: fir.call @_QPtakes_opt_explicit_shape(%[[VAL_3]]) {{.*}} : (!fir.ref>) -> () end subroutine ! CHECK-LABEL: func @_QMoptional_testsPpass_contiguous_pointer_array_char( @@ -385,7 +385,7 @@ ! CHECK: %[[VAL_3:.*]] = fir.box_addr %[[VAL_1]] : (!fir.box>>>) -> !fir.ptr>> ! CHECK: %[[VAL_4:.*]] = fir.convert %[[VAL_3]] : (!fir.ptr>>) -> !fir.ref> ! CHECK: %[[VAL_5:.*]] = fir.emboxchar %[[VAL_4]], %[[VAL_2]] : (!fir.ref>, index) -> !fir.boxchar<1> -! CHECK: fir.call @_QPtakes_opt_explicit_shape_char(%[[VAL_5]]) : (!fir.boxchar<1>) -> () +! CHECK: fir.call @_QPtakes_opt_explicit_shape_char(%[[VAL_5]]) {{.*}} : (!fir.boxchar<1>) -> () end subroutine ! ----------------------------------------------------------------------------- @@ -408,7 +408,7 @@ ! CHECK: %[[VAL_5:.*]] = fir.embox %[[VAL_2]](%[[VAL_4]]) : (!fir.ref>, !fir.shape<1>) -> !fir.box> ! CHECK: %[[VAL_6:.*]] = arith.select %[[VAL_1]], %[[VAL_0]], %[[VAL_5]] : !fir.box> ! CHECK: %[[box_none:.*]] = fir.convert %[[VAL_6]] : (!fir.box>) -> !fir.box -! CHECK: %[[is_contiguous:.*]] = fir.call @_FortranAIsContiguous(%[[box_none]]) : (!fir.box) -> i1 +! CHECK: %[[is_contiguous:.*]] = fir.call @_FortranAIsContiguous(%[[box_none]]) {{.*}} : (!fir.box) -> i1 ! CHECK: %[[VAL_7:.*]] = fir.if %[[VAL_1]] -> (!fir.heap>) { ! CHECK: %[[VAL_10:.*]] = fir.allocmem !fir.array ! CHECK: fir.do_loop {{.*}} { @@ -421,7 +421,7 @@ ! CHECK: %[[not_contiguous:.*]] = arith.cmpi eq, %[[is_contiguous]], %false : i1 ! CHECK: %[[and:.*]] = arith.andi %[[VAL_1]], %[[not_contiguous]] : i1 ! CHECK: %[[VAL_24:.*]] = fir.convert %[[VAL_7]] : (!fir.heap>) -> !fir.ref> -! CHECK: fir.call @_QPtakes_opt_explicit_shape_intentin(%[[VAL_24]]) : (!fir.ref>) -> () +! CHECK: fir.call @_QPtakes_opt_explicit_shape_intentin(%[[VAL_24]]) {{.*}} : (!fir.ref>) -> () ! CHECK: fir.if %[[and]] { ! CHECK-NOT: fir.do_loop ! CHECK: fir.freemem %[[VAL_7]] : !fir.heap> @@ -440,7 +440,7 @@ ! CHECK: %[[VAL_5:.*]] = fir.embox %[[VAL_2]](%[[VAL_4]]) : (!fir.ref>, !fir.shape<1>) -> !fir.box> ! CHECK: %[[VAL_6:.*]] = arith.select %[[VAL_1]], %[[VAL_0]], %[[VAL_5]] : !fir.box> ! CHECK: %[[box_none:.*]] = fir.convert %[[VAL_6]] : (!fir.box>) -> !fir.box -! CHECK: %[[is_contiguous:.*]] = fir.call @_FortranAIsContiguous(%[[box_none]]) : (!fir.box) -> i1 +! CHECK: %[[is_contiguous:.*]] = fir.call @_FortranAIsContiguous(%[[box_none]]) {{.*}} : (!fir.box) -> i1 ! CHECK: %[[VAL_7:.*]] = fir.if %[[VAL_1]] -> (!fir.heap>) { ! CHECK: %[[VAL_10:.*]] = fir.allocmem !fir.array ! CHECK-NOT: fir.do_loop @@ -452,7 +452,7 @@ ! CHECK: %[[not_contiguous:.*]] = arith.cmpi eq, %[[is_contiguous]], %false : i1 ! CHECK: %[[and:.*]] = arith.andi %[[VAL_1]], %[[not_contiguous]] : i1 ! CHECK: %[[VAL_14:.*]] = fir.convert %[[VAL_7]] : (!fir.heap>) -> !fir.ref> -! CHECK: fir.call @_QPtakes_opt_explicit_shape_intentout(%[[VAL_14]]) : (!fir.ref>) -> () +! CHECK: fir.call @_QPtakes_opt_explicit_shape_intentout(%[[VAL_14]]) {{.*}} : (!fir.ref>) -> () ! CHECK: fir.if %[[and]] { ! CHECK: fir.do_loop {{.*}} { ! CHECK: } Index: flang/test/Lower/dummy-argument-optional.f90 =================================================================== --- flang/test/Lower/dummy-argument-optional.f90 +++ flang/test/Lower/dummy-argument-optional.f90 @@ -20,10 +20,10 @@ subroutine call_intrinsic_scalar() ! CHECK: %[[x:.*]] = fir.alloca f32 real :: x - ! CHECK: fir.call @_QMoptPintrinsic_scalar(%[[x]]) : (!fir.ref) -> () + ! CHECK: fir.call @_QMoptPintrinsic_scalar(%[[x]]) {{.*}} : (!fir.ref) -> () call intrinsic_scalar(x) ! CHECK: %[[absent:.*]] = fir.absent !fir.ref - ! CHECK: fir.call @_QMoptPintrinsic_scalar(%[[absent]]) : (!fir.ref) -> () + ! CHECK: fir.call @_QMoptPintrinsic_scalar(%[[absent]]) {{.*}} : (!fir.ref) -> () call intrinsic_scalar() end subroutine @@ -39,10 +39,10 @@ subroutine call_intrinsic_f77_array() ! CHECK: %[[x:.*]] = fir.alloca !fir.array<100xf32> real :: x(100) - ! CHECK: fir.call @_QMoptPintrinsic_f77_array(%[[x]]) : (!fir.ref>) -> () + ! CHECK: fir.call @_QMoptPintrinsic_f77_array(%[[x]]) {{.*}} : (!fir.ref>) -> () call intrinsic_f77_array(x) ! CHECK: %[[absent:.*]] = fir.absent !fir.ref> - ! CHECK: fir.call @_QMoptPintrinsic_f77_array(%[[absent]]) : (!fir.ref>) -> () + ! CHECK: fir.call @_QMoptPintrinsic_f77_array(%[[absent]]) {{.*}} : (!fir.ref>) -> () call intrinsic_f77_array() end subroutine @@ -61,10 +61,10 @@ character(10) :: x ! CHECK: %[[addrCast:.*]] = fir.convert %[[addr]] ! CHECK: %[[x:.*]] = fir.emboxchar %[[addrCast]], {{.*}} - ! CHECK: fir.call @_QMoptPcharacter_scalar(%[[x]]) : (!fir.boxchar<1>) -> () + ! CHECK: fir.call @_QMoptPcharacter_scalar(%[[x]]) {{.*}} : (!fir.boxchar<1>) -> () call character_scalar(x) ! CHECK: %[[absent:.*]] = fir.absent !fir.boxchar<1> - ! CHECK: fir.call @_QMoptPcharacter_scalar(%[[absent]]) : (!fir.boxchar<1>) -> () + ! CHECK: fir.call @_QMoptPcharacter_scalar(%[[absent]]) {{.*}} : (!fir.boxchar<1>) -> () call character_scalar() end subroutine @@ -82,10 +82,10 @@ real :: x(100) ! CHECK: %[[embox:.*]] = fir.embox %[[addr]] ! CHECK: %[[x:.*]] = fir.convert %[[embox]] : (!fir.box>) -> !fir.box> - ! CHECK: fir.call @_QMoptPassumed_shape(%[[x]]) : (!fir.box>) -> () + ! CHECK: fir.call @_QMoptPassumed_shape(%[[x]]) {{.*}} : (!fir.box>) -> () call assumed_shape(x) ! CHECK: %[[absent:.*]] = fir.absent !fir.box> - ! CHECK: fir.call @_QMoptPassumed_shape(%[[absent]]) : (!fir.box>) -> () + ! CHECK: fir.call @_QMoptPassumed_shape(%[[absent]]) {{.*}} : (!fir.box>) -> () call assumed_shape() end subroutine @@ -101,10 +101,10 @@ subroutine call_allocatable_array() ! CHECK: %[[x:.*]] = fir.alloca !fir.box>> real, allocatable :: x(:) - ! CHECK: fir.call @_QMoptPallocatable_array(%[[x]]) : (!fir.ref>>>) -> () + ! CHECK: fir.call @_QMoptPallocatable_array(%[[x]]) {{.*}} : (!fir.ref>>>) -> () call allocatable_array(x) ! CHECK: %[[absent:.*]] = fir.absent !fir.ref>>> - ! CHECK: fir.call @_QMoptPallocatable_array(%[[absent]]) : (!fir.ref>>>) -> () + ! CHECK: fir.call @_QMoptPallocatable_array(%[[absent]]) {{.*}} : (!fir.ref>>>) -> () call allocatable_array() end subroutine @@ -120,7 +120,7 @@ ! CHECK: %[[absent:.*]] = fir.absent !fir.box> ! CHECK: %[[embox:.*]] = fir.embox %{{.*}} ! CHECK: %[[actual:.*]] = arith.select %[[isAlloc]], %[[embox]], %[[absent]] : !fir.box> - ! CHECK: fir.call @_QMoptPassumed_shape(%[[actual]]) : (!fir.box>) -> () + ! CHECK: fir.call @_QMoptPassumed_shape(%[[actual]]) {{.*}} : (!fir.box>) -> () call assumed_shape(x) end subroutine @@ -150,7 +150,7 @@ ! CHECK: %[[temp:.*]] = fir.alloca !fir.llvm_ptr ! CHECK: %[[null:.*]] = fir.zero_bits !fir.ref ! CHECK: fir.store %{{.*}} to %[[temp]] : !fir.ref> - ! CHECK: fir.call @_QMoptPassumed_shape(%{{.*}}) : (!fir.box>) -> () + ! CHECK: fir.call @_QMoptPassumed_shape(%{{.*}}) {{.*}} : (!fir.box>) -> () call assumed_shape(null()) end subroutine null_as_optional Index: flang/test/Lower/dummy-arguments.f90 =================================================================== --- flang/test/Lower/dummy-arguments.f90 +++ flang/test/Lower/dummy-arguments.f90 @@ -25,7 +25,7 @@ function sub2(r) real :: r(20) ! CHECK: %[[coor:.*]] = fir.coordinate_of %arg0 - ! CHECK: = fir.call @_QPf(%[[coor]]) : (!fir.ref) -> f32 + ! CHECK: = fir.call @_QPf(%[[coor]]) {{.*}} : (!fir.ref) -> f32 sub2 = f(r(1)) ! CHECK: return %{{.*}} : f32 end function sub2 Index: flang/test/Lower/dummy-procedure-character.f90 =================================================================== --- flang/test/Lower/dummy-procedure-character.f90 +++ flang/test/Lower/dummy-procedure-character.f90 @@ -19,7 +19,7 @@ ! CHECK: %[[VAL_3:.*]] = fir.undefined tuple ()>, i64> ! CHECK: %[[VAL_4:.*]] = fir.insert_value %[[VAL_3]], %[[VAL_2]], [0 : index] : (tuple ()>, i64>, !fir.boxproc<() -> ()>) -> tuple ()>, i64> ! CHECK: %[[VAL_5:.*]] = fir.insert_value %[[VAL_4]], %[[VAL_1]], [1 : index] : (tuple ()>, i64>, i64) -> tuple ()>, i64> -! CHECK: fir.call @_QPfoo1(%[[VAL_5]]) : (tuple ()>, i64>) -> () +! CHECK: fir.call @_QPfoo1(%[[VAL_5]]) {{.*}} : (tuple ()>, i64>) -> () end subroutine ! CHECK-LABEL: func @_QPcst_len_array @@ -35,7 +35,7 @@ ! CHECK: %[[VAL_3:.*]] = fir.undefined tuple ()>, i64> ! CHECK: %[[VAL_4:.*]] = fir.insert_value %[[VAL_3]], %[[VAL_2]], [0 : index] : (tuple ()>, i64>, !fir.boxproc<() -> ()>) -> tuple ()>, i64> ! CHECK: %[[VAL_5:.*]] = fir.insert_value %[[VAL_4]], %[[VAL_1]], [1 : index] : (tuple ()>, i64>, i64) -> tuple ()>, i64> -! CHECK: fir.call @_QPfoo1b(%[[VAL_5]]) : (tuple ()>, i64>) -> () +! CHECK: fir.call @_QPfoo1b(%[[VAL_5]]) {{.*}} : (tuple ()>, i64>) -> () call foo1b(bar1_array) end subroutine @@ -49,7 +49,7 @@ ! CHECK: %[[VAL_3:.*]] = fir.undefined tuple ()>, i64> ! CHECK: %[[VAL_4:.*]] = fir.insert_value %[[VAL_3]], %[[VAL_2]], [0 : index] : (tuple ()>, i64>, !fir.boxproc<() -> ()>) -> tuple ()>, i64> ! CHECK: %[[VAL_5:.*]] = fir.insert_value %[[VAL_4]], %[[VAL_1]], [1 : index] : (tuple ()>, i64>, i64) -> tuple ()>, i64> -! CHECK: fir.call @_QPfoo2(%[[VAL_5]]) : (tuple ()>, i64>) -> () +! CHECK: fir.call @_QPfoo2(%[[VAL_5]]) {{.*}} : (tuple ()>, i64>) -> () call foo2(bar2) end subroutine @@ -69,7 +69,7 @@ ! CHECK: %[[VAL_8:.*]] = fir.undefined tuple ()>, i64> ! CHECK: %[[VAL_9:.*]] = fir.insert_value %[[VAL_8]], %[[VAL_7]], [0 : index] : (tuple ()>, i64>, !fir.boxproc<() -> ()>) -> tuple ()>, i64> ! CHECK: %[[VAL_10:.*]] = fir.insert_value %[[VAL_9]], %[[VAL_6]], [1 : index] : (tuple ()>, i64>, i64) -> tuple ()>, i64> -! CHECK: fir.call @_QPfoo3(%[[VAL_10]]) : (tuple ()>, i64>) -> () +! CHECK: fir.call @_QPfoo3(%[[VAL_10]]) {{.*}} : (tuple ()>, i64>) -> () call foo3(bar3) end subroutine @@ -88,7 +88,7 @@ ! CHECK: %[[VAL_4:.*]] = fir.undefined tuple ()>, i64> ! CHECK: %[[VAL_5:.*]] = fir.insert_value %[[VAL_4]], %[[VAL_2]], [0 : index] : (tuple ()>, i64>, !fir.boxproc<() -> ()>) -> tuple ()>, i64> ! CHECK: %[[VAL_6:.*]] = fir.insert_value %[[VAL_5]], %[[VAL_3]], [1 : index] : (tuple ()>, i64>, i64) -> tuple ()>, i64> -! CHECK: fir.call @_QPfoo4(%[[VAL_6]]) : (tuple ()>, i64>) -> () +! CHECK: fir.call @_QPfoo4(%[[VAL_6]]) {{.*}} : (tuple ()>, i64>) -> () call foo4(bar4) end subroutine @@ -103,7 +103,7 @@ ! CHECK: %[[VAL_4:.*]] = fir.undefined tuple ()>, i64> ! CHECK: %[[VAL_5:.*]] = fir.insert_value %[[VAL_4]], %[[VAL_2]], [0 : index] : (tuple ()>, i64>, !fir.boxproc<() -> ()>) -> tuple ()>, i64> ! CHECK: %[[VAL_6:.*]] = fir.insert_value %[[VAL_5]], %[[VAL_3]], [1 : index] : (tuple ()>, i64>, i64) -> tuple ()>, i64> -! CHECK: fir.call @_QPfoo5(%[[VAL_6]]) : (tuple ()>, i64>) -> () +! CHECK: fir.call @_QPfoo5(%[[VAL_6]]) {{.*}} : (tuple ()>, i64>) -> () call foo5(bar5) end subroutine @@ -119,7 +119,7 @@ ! CHECK: %[[VAL_3:.*]] = fir.undefined tuple ()>, i64> ! CHECK: %[[VAL_4:.*]] = fir.insert_value %[[VAL_3]], %[[WAL_1]], [0 : index] : (tuple ()>, i64>, !fir.boxproc<() -> ()>) -> tuple ()>, i64> ! CHECK: %[[VAL_5:.*]] = fir.insert_value %[[VAL_4]], %[[VAL_2]], [1 : index] : (tuple ()>, i64>, i64) -> tuple ()>, i64> -! CHECK: fir.call @_QPfoo6(%[[VAL_5]]) : (tuple ()>, i64>) -> () +! CHECK: fir.call @_QPfoo6(%[[VAL_5]]) {{.*}} : (tuple ()>, i64>) -> () call foo6(bar6) end subroutine @@ -135,7 +135,7 @@ ! CHECK: %[[VAL_3:.*]] = fir.undefined tuple ()>, i64> ! CHECK: %[[VAL_4:.*]] = fir.insert_value %[[VAL_3]], %[[WAL_1]], [0 : index] : (tuple ()>, i64>, !fir.boxproc<() -> ()>) -> tuple ()>, i64> ! CHECK: %[[VAL_5:.*]] = fir.insert_value %[[VAL_4]], %[[VAL_2]], [1 : index] : (tuple ()>, i64>, i64) -> tuple ()>, i64> -! CHECK: fir.call @_QPfoo7(%[[VAL_5]]) : (tuple ()>, i64>) -> () +! CHECK: fir.call @_QPfoo7(%[[VAL_5]]) {{.*}} : (tuple ()>, i64>) -> () call foo7(bar7) end subroutine @@ -154,7 +154,7 @@ ! CHECK: %[[VAL_6:.*]] = fir.alloca !fir.char<1,?>(%[[VAL_4]] : i64) {bindc_name = ".result"} ! CHECK: %[[VAL_7:.*]] = fir.convert %[[WAL_2]] : (() -> ()) -> ((!fir.ref>, index, !fir.ref) -> !fir.boxchar<1>) ! CHECK: %[[VAL_8:.*]] = fir.convert %[[VAL_4]] : (i64) -> index -! CHECK: fir.call %[[VAL_7]](%[[VAL_6]], %[[VAL_8]], %{{.*}}) : (!fir.ref>, index, !fir.ref) -> !fir.boxchar<1> +! CHECK: fir.call %[[VAL_7]](%[[VAL_6]], %[[VAL_8]], %{{.*}}) {{.*}} : (!fir.ref>, index, !fir.ref) -> !fir.boxchar<1> call test(bar8(42)) end subroutine @@ -172,7 +172,7 @@ ! CHECK: %[[CMPI:.*]] = arith.cmpi sgt, %[[VAL_6]], %[[C0]] : index ! CHECK: %[[SELECT:.*]] = arith.select %[[CMPI]], %[[VAL_6]], %[[C0]] : index ! CHECK: %[[VAL_8:.*]] = fir.convert %[[WAL_1]] : (() -> ()) -> ((!fir.ref>, index, !fir.ref) -> !fir.boxchar<1>) -! CHECK: fir.call %[[VAL_8]](%[[VAL_1]], %[[SELECT]], %{{.*}}) : (!fir.ref>, index, !fir.ref) -> !fir.boxchar<1> +! CHECK: fir.call %[[VAL_8]](%[[VAL_1]], %[[SELECT]], %{{.*}}) {{.*}} : (!fir.ref>, index, !fir.ref) -> !fir.boxchar<1> call test(bar9(42)) end subroutine @@ -195,10 +195,10 @@ ! CHECK: %[[C0:.*]] = arith.constant 0 : index ! CHECK: %[[COMPI:.*]] = arith.cmpi sgt, %[[VAL_5]], %[[C0]] : index ! CHECK: %[[SELECT:.*]] = arith.select %[[CMPI]], %[[VAL_5]], %[[C0]] : index -! CHECK: %[[VAL_6:.*]] = fir.call @llvm.stacksave() : () -> !fir.ref +! CHECK: %[[VAL_6:.*]] = fir.call @llvm.stacksave() {{.*}} : () -> !fir.ref ! CHECK: %[[VAL_7:.*]] = fir.alloca !fir.char<1,?>(%[[SELECT]] : index) {bindc_name = ".result"} ! CHECK: %[[VAL_8:.*]] = fir.convert %[[WAL_1]] : (() -> ()) -> ((!fir.ref>, index, !fir.ref) -> !fir.boxchar<1>) -! CHECK: fir.call %[[VAL_8]](%[[VAL_7]], %[[SELECT]], %[[VAL_1]]) : (!fir.ref>, index, !fir.ref) -> !fir.boxchar<1> +! CHECK: fir.call %[[VAL_8]](%[[VAL_7]], %[[SELECT]], %[[VAL_1]]) {{.*}} : (!fir.ref>, index, !fir.ref) -> !fir.boxchar<1> call test(bar10(42_8)) end subroutine @@ -225,7 +225,7 @@ ! CHECK: %[[VAL_7:.*]] = fir.alloca !fir.char<1,?>(%[[VAL_5]] : i64) {bindc_name = ".result"} ! CHECK: %[[VAL_8:.*]] = fir.convert %[[WAL_1]] : (() -> ()) -> ((!fir.ref>, index) -> !fir.boxchar<1>) ! CHECK: %[[VAL_9:.*]] = fir.convert %[[VAL_5]] : (i64) -> index -! CHECK: fir.call %[[VAL_8]](%[[VAL_7]], %[[VAL_9]]) : (!fir.ref>, index) -> !fir.boxchar<1> +! CHECK: fir.call %[[VAL_8]](%[[VAL_7]], %[[VAL_9]]) {{.*}} : (!fir.ref>, index) -> !fir.boxchar<1> call test(f()) end subroutine end subroutine @@ -257,7 +257,7 @@ ! CHECK: %[[CMPI:.*]] = arith.cmpi sgt, %[[VAL_7]], %[[C0]] : index ! CHECK: %[[SELECT:.*]] = arith.select %[[CMPI]], %[[VAL_7]], %[[C0]] : index ! CHECK: %[[VAL_9:.*]] = fir.convert %[[WAL_1]] : (() -> ()) -> ((!fir.ref>, index) -> !fir.boxchar<1>) - ! CHECK: fir.call %[[VAL_9]](%[[VAL_1]], %[[SELECT]]) : (!fir.ref>, index) -> !fir.boxchar<1> + ! CHECK: fir.call %[[VAL_9]](%[[VAL_1]], %[[SELECT]]) {{.*}} : (!fir.ref>, index) -> !fir.boxchar<1> call test(f()) end subroutine end subroutine Index: flang/test/Lower/dummy-procedure-in-entry.f90 =================================================================== --- flang/test/Lower/dummy-procedure-in-entry.f90 +++ flang/test/Lower/dummy-procedure-in-entry.f90 @@ -17,9 +17,9 @@ ! CHECK: br ^bb1 ! CHECK: ^bb1: ! CHECK: %[[VAL_2:.*]] = fir.box_addr %[[VAL_1]] : (!fir.boxproc<() -> ()>) -> (() -> f32) -! CHECK: %[[VAL_3:.*]] = fir.call %[[VAL_2]]() : () -> f32 +! CHECK: %[[VAL_3:.*]] = fir.call %[[VAL_2]]() {{.*}} : () -> f32 ! CHECK: fir.store %[[VAL_3]] to %[[VAL_0]] : !fir.ref -! CHECK: fir.call @_QPtakes_real(%[[VAL_0]]) : (!fir.ref) -> () +! CHECK: fir.call @_QPtakes_real(%[[VAL_0]]) {{.*}} : (!fir.ref) -> () ! CHECK-LABEL: func @_QPdummy_with_iface_entry( ! CHECK-SAME: %[[VAL_0:.*]]: !fir.boxproc<() -> ()>) { @@ -27,9 +27,9 @@ ! CHECK: br ^bb1 ! CHECK: ^bb1: ! CHECK: %[[VAL_2:.*]] = fir.box_addr %[[VAL_0]] : (!fir.boxproc<() -> ()>) -> (() -> f32) -! CHECK: %[[VAL_3:.*]] = fir.call %[[VAL_2]]() : () -> f32 +! CHECK: %[[VAL_3:.*]] = fir.call %[[VAL_2]]() {{.*}} : () -> f32 ! CHECK: fir.store %[[VAL_3]] to %[[VAL_1]] : !fir.ref -! CHECK: fir.call @_QPtakes_real(%[[VAL_1]]) : (!fir.ref) -> () +! CHECK: fir.call @_QPtakes_real(%[[VAL_1]]) {{.*}} : (!fir.ref) -> () subroutine subroutine_dummy() entry subroutine_dummy_entry(x) @@ -40,11 +40,11 @@ ! CHECK: br ^bb1 ! CHECK: ^bb1: ! CHECK: %[[VAL_1:.*]] = fir.box_addr %[[VAL_0]] : (!fir.boxproc<() -> ()>) -> (() -> ()) -! CHECK: fir.call %[[VAL_1]]() : () -> () +! CHECK: fir.call %[[VAL_1]]() {{.*}} : () -> () ! CHECK-LABEL: func @_QPsubroutine_dummy_entry( ! CHECK-SAME: %[[VAL_0:.*]]: !fir.boxproc<() -> ()>) { ! CHECK: br ^bb1 ! CHECK: ^bb1: ! CHECK: %[[VAL_1:.*]] = fir.box_addr %[[VAL_0]] : (!fir.boxproc<() -> ()>) -> (() -> ()) -! CHECK: fir.call %[[VAL_1]]() : () -> () +! CHECK: fir.call %[[VAL_1]]() {{.*}} : () -> () Index: flang/test/Lower/dummy-procedure.f90 =================================================================== --- flang/test/Lower/dummy-procedure.f90 +++ flang/test/Lower/dummy-procedure.f90 @@ -10,7 +10,7 @@ ! CHECK: %[[x:.*]] = fir.alloca f32 {{{.*}}uniq_name = "{{.*}}Ex"} x = 42. ! CHECK: %[[funccast:.*]] = fir.box_addr %arg0 : (!fir.boxproc<() -> ()>) -> ((!fir.ref) -> f32) - ! CHECK: fir.call %[[funccast]](%[[x]]) : (!fir.ref) -> f32 + ! CHECK: fir.call %[[funccast]](%[[x]]) {{.*}} : (!fir.ref) -> f32 foo = bar(x) end function @@ -19,7 +19,7 @@ ! CHECK-SAME: %{{.*}}: !fir.boxproc<() -> ()>{{.*}}) -> f32 real function prefoo(bar) external :: bar - ! CHECK: fir.call @_QPfoo(%arg0) : (!fir.boxproc<() -> ()>) -> f32 + ! CHECK: fir.call @_QPfoo(%arg0) {{.*}} : (!fir.boxproc<() -> ()>) -> f32 prefoo = foo(bar) end function @@ -38,7 +38,7 @@ external :: func !CHECK: %[[f:.*]] = fir.address_of(@_QPfunc) : (!fir.ref) -> f32 !CHECK: %[[fcast:.*]] = fir.emboxproc %[[f]] : ((!fir.ref) -> f32) -> !fir.boxproc<() -> ()> - !CHECK: fir.call @_QPprefoo(%[[fcast]]) : (!fir.boxproc<() -> ()>) -> f32 + !CHECK: fir.call @_QPprefoo(%[[fcast]]) {{.*}} : (!fir.boxproc<() -> ()>) -> f32 test_func = prefoo(func) end function @@ -50,7 +50,7 @@ ! CHECK: %[[x:.*]] = fir.alloca f32 {{{.*}}uniq_name = "{{.*}}Ex"} x = 42. ! CHECK: %[[funccast:.*]] = fir.box_addr %arg0 : (!fir.boxproc<() -> ()>) -> ((!fir.ref) -> ()) - ! CHECK: fir.call %[[funccast]](%[[x]]) : (!fir.ref) + ! CHECK: fir.call %[[funccast]](%[[x]]) {{.*}} : (!fir.ref) call bar_sub(x) end subroutine @@ -59,7 +59,7 @@ ! CHECK-SAME: %{{.*}}: !fir.boxproc<() -> ()>{{.*}}) subroutine prefoo_sub(bar_sub) external :: bar_sub - ! CHECK: fir.call @_QPfoo_sub(%arg0) : (!fir.boxproc<() -> ()>) -> () + ! CHECK: fir.call @_QPfoo_sub(%arg0) {{.*}} : (!fir.boxproc<() -> ()>) -> () call foo_sub(bar_sub) end subroutine @@ -77,7 +77,7 @@ external :: sub !CHECK: %[[f:.*]] = fir.address_of(@_QPsub) : (!fir.ref) -> () !CHECK: %[[fcast:.*]] = fir.emboxproc %[[f]] : ((!fir.ref) -> ()) -> !fir.boxproc<() -> ()> - !CHECK: fir.call @_QPprefoo_sub(%[[fcast]]) : (!fir.boxproc<() -> ()>) -> () + !CHECK: fir.call @_QPprefoo_sub(%[[fcast]]) {{.*}} : (!fir.boxproc<() -> ()>) -> () call prefoo_sub(sub) end subroutine @@ -86,7 +86,7 @@ external proc_not_defined_in_file ! CHECK: %[[addr:.*]] = fir.address_of(@_QPproc_not_defined_in_file) : () -> () ! CHECK: %[[ep:.*]] = fir.emboxproc %[[addr]] - ! CHECK: fir.call @_QPprefoo_sub(%[[ep]]) : (!fir.boxproc<() -> ()>) -> () + ! CHECK: fir.call @_QPprefoo_sub(%[[ep]]) {{.*}} : (!fir.boxproc<() -> ()>) -> () call prefoo_sub(proc_not_defined_in_file) end subroutine @@ -98,7 +98,7 @@ intrinsic :: acos !CHECK: %[[f:.*]] = fir.address_of(@fir.acos.f32.ref_f32) : (!fir.ref) -> f32 !CHECK: %[[fcast:.*]] = fir.emboxproc %[[f]] : ((!fir.ref) -> f32) -> !fir.boxproc<() -> ()> - !CHECK: fir.call @_QPfoo_acos(%[[fcast]]) : (!fir.boxproc<() -> ()>) -> () + !CHECK: fir.call @_QPfoo_acos(%[[fcast]]) {{.*}} : (!fir.boxproc<() -> ()>) -> () call foo_acos(acos) end subroutine @@ -107,7 +107,7 @@ intrinsic :: atan2 ! CHECK: %[[f:.*]] = fir.address_of(@fir.atan2.f32.ref_f32.ref_f32) : (!fir.ref, !fir.ref) -> f32 ! CHECK: %[[fcast:.*]] = fir.emboxproc %[[f]] : ((!fir.ref, !fir.ref) -> f32) -> !fir.boxproc<() -> ()> - ! CHECK: fir.call @_QPfoo_atan2(%[[fcast]]) : (!fir.boxproc<() -> ()>) -> () + ! CHECK: fir.call @_QPfoo_atan2(%[[fcast]]) {{.*}} : (!fir.boxproc<() -> ()>) -> () call foo_atan2(atan2) end subroutine @@ -117,7 +117,7 @@ intrinsic :: aimag !CHECK: %[[f:.*]] = fir.address_of(@fir.aimag.f32.ref_z4) : (!fir.ref>) -> f32 !CHECK: %[[fcast:.*]] = fir.emboxproc %[[f]] : ((!fir.ref>) -> f32) -> !fir.boxproc<() -> ()> - !CHECK: fir.call @_QPfoo_aimag(%[[fcast]]) : (!fir.boxproc<() -> ()>) -> () + !CHECK: fir.call @_QPfoo_aimag(%[[fcast]]) {{.*}} : (!fir.boxproc<() -> ()>) -> () call foo_aimag(aimag) end subroutine @@ -127,7 +127,7 @@ intrinsic :: len ! CHECK: %[[f:.*]] = fir.address_of(@fir.len.i32.bc1) : (!fir.boxchar<1>) -> i32 ! CHECK: %[[fcast:.*]] = fir.emboxproc %[[f]] : ((!fir.boxchar<1>) -> i32) -> !fir.boxproc<() -> ()> - !CHECK: fir.call @_QPfoo_len(%[[fcast]]) : (!fir.boxproc<() -> ()>) -> () + !CHECK: fir.call @_QPfoo_len(%[[fcast]]) {{.*}} : (!fir.boxproc<() -> ()>) -> () call foo_len(len) end subroutine @@ -137,7 +137,7 @@ intrinsic :: iabs ! CHECK: %[[f:.*]] = fir.address_of(@fir.abs.i32.ref_i32) : (!fir.ref) -> i32 ! CHECK: %[[fcast:.*]] = fir.emboxproc %[[f]] : ((!fir.ref) -> i32) -> !fir.boxproc<() -> ()> - ! CHECK: fir.call @_QPfoo_iabs(%[[fcast]]) : (!fir.boxproc<() -> ()>) -> () + ! CHECK: fir.call @_QPfoo_iabs(%[[fcast]]) {{.*}} : (!fir.boxproc<() -> ()>) -> () call foo_iabs(iabs) end subroutine Index: flang/test/Lower/entry-statement.f90 =================================================================== --- flang/test/Lower/entry-statement.f90 +++ flang/test/Lower/entry-statement.f90 @@ -268,7 +268,7 @@ ! CHECK: %[[V_11:[0-9]+]] = arith.muli %c1{{.*}}_i64, %[[V_10]] : i64 ! CHECK: %[[V_12:[0-9]+]] = fir.convert %[[V_0]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[V_13:[0-9]+]] = fir.convert %[[V_7]] : (!fir.ref>) -> !fir.ref - ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[V_12]], %[[V_13]], %[[V_11]], %false{{.*}}) : (!fir.ref, !fir.ref, i64, i1) -> () + ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[V_12]], %[[V_13]], %[[V_11]], %false{{.*}}) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[V_14:[0-9]+]] = arith.subi %c5{{.*}}, %c1{{.*}} : index ! CHECK: %[[V_15:[0-9]+]] = fir.undefined !fir.char<1> ! CHECK: %[[V_16:[0-9]+]] = fir.insert_value %[[V_15]], %c32{{.*}}_i8, [0 : index] : (!fir.char<1>, i8) -> !fir.char<1> @@ -283,7 +283,7 @@ ! CHECK: ^bb2: // 2 preds: ^bb1, ^bb3 ! CHECK: br ^bb5 ! CHECK: ^bb3: // pred: ^bb1 - ! CHECK: fir.call @_QFf1Ps2(%[[V_2]]) : (!fir.ref, !fir.boxchar<1>>>) -> () + ! CHECK: fir.call @_QFf1Ps2(%[[V_2]]) {{.*}} : (!fir.ref, !fir.boxchar<1>>>) -> () ! CHECK: %[[V_19:[0-9]+]] = fir.load %[[V_1]] : !fir.ref ! CHECK: %[[V_20:[0-9]+]] = arith.cmpi eq, %[[V_19]], %c2{{.*}}_i32 : i32 ! CHECK: cond_br %[[V_20]], ^bb2, ^bb4 @@ -295,7 +295,7 @@ ! CHECK: %[[V_25:[0-9]+]] = arith.muli %c1{{.*}}_i64_6, %[[V_24]] : i64 ! CHECK: %[[V_26:[0-9]+]] = fir.convert %[[V_0]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[V_27:[0-9]+]] = fir.convert %[[V_21]] : (!fir.ref>) -> !fir.ref - ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[V_26]], %[[V_27]], %[[V_25]], %false{{.*}}) : (!fir.ref, !fir.ref, i64, i1) -> () + ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[V_26]], %[[V_27]], %[[V_25]], %false{{.*}}) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[V_28:[0-9]+]] = arith.subi %c5{{.*}}, %c1{{.*}} : index ! CHECK: %[[V_29:[0-9]+]] = fir.undefined !fir.char<1> ! CHECK: %[[V_30:[0-9]+]] = fir.insert_value %[[V_29]], %c32{{.*}}_i8_9, [0 : index] : (!fir.char<1>, i8) -> !fir.char<1> @@ -304,7 +304,7 @@ ! CHECK: %[[V_33]] = fir.coordinate_of %[[V_32]], %arg3 : (!fir.ref>>, index) -> !fir.ref> ! CHECK: fir.store %[[V_30]] to %[[V_33]] : !fir.ref> ! CHECK: } - ! CHECK: fir.call @_QFf1Ps3(%[[V_2]]) : (!fir.ref, !fir.boxchar<1>>>) -> () + ! CHECK: fir.call @_QFf1Ps3(%[[V_2]]) {{.*}} : (!fir.ref, !fir.boxchar<1>>>) -> () ! CHECK: br ^bb5 ! CHECK: ^bb5: // 2 preds: ^bb2, ^bb4 ! CHECK: %[[V_31:[0-9]+]] = fir.emboxchar %[[V_0]], %c5{{.*}} : (!fir.ref>, index) -> !fir.boxchar<1> @@ -327,7 +327,7 @@ ! CHECK: fir.store %[[V_6]] to %[[V_5]] : !fir.ref> ! CHECK: br ^bb1 ! CHECK: ^bb1: // pred: ^bb0 - ! CHECK: fir.call @_QFf1Ps2(%[[V_2]]) : (!fir.ref, !fir.boxchar<1>>>) -> () + ! CHECK: fir.call @_QFf1Ps2(%[[V_2]]) {{.*}} : (!fir.ref, !fir.boxchar<1>>>) -> () ! CHECK: %[[V_7:[0-9]+]] = fir.load %arg2 : !fir.ref ! CHECK: %[[V_8:[0-9]+]] = arith.cmpi eq, %[[V_7]], %c2{{.*}}_i32 : i32 ! CHECK: cond_br %[[V_8]], ^bb2, ^bb3 @@ -341,7 +341,7 @@ ! CHECK: %[[V_13:[0-9]+]] = arith.muli %c1{{.*}}_i64, %[[V_12]] : i64 ! CHECK: %[[V_14:[0-9]+]] = fir.convert %[[V_0]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[V_15:[0-9]+]] = fir.convert %[[V_9]] : (!fir.ref>) -> !fir.ref - ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[V_14]], %[[V_15]], %[[V_13]], %false{{.*}}) : (!fir.ref, !fir.ref, i64, i1) -> () + ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[V_14]], %[[V_15]], %[[V_13]], %false{{.*}}) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[V_16:[0-9]+]] = arith.subi %c5{{.*}}, %c1{{.*}} : index ! CHECK: %[[V_17:[0-9]+]] = fir.undefined !fir.char<1> ! CHECK: %[[V_18:[0-9]+]] = fir.insert_value %[[V_17]], %c32{{.*}}_i8, [0 : index] : (!fir.char<1>, i8) -> !fir.char<1> @@ -350,7 +350,7 @@ ! CHECK: %[[V_21:[0-9]+]] = fir.coordinate_of %[[V_20]], %arg3 : (!fir.ref>>, index) -> !fir.ref> ! CHECK: fir.store %[[V_18]] to %[[V_21]] : !fir.ref> ! CHECK: } - ! CHECK: fir.call @_QFf1Ps3(%[[V_2]]) : (!fir.ref, !fir.boxchar<1>>>) -> () + ! CHECK: fir.call @_QFf1Ps3(%[[V_2]]) {{.*}} : (!fir.ref, !fir.boxchar<1>>>) -> () ! CHECK: br ^bb4 ! CHECK: ^bb4: // 2 preds: ^bb2, ^bb3 ! CHECK: %[[V_19:[0-9]+]] = fir.emboxchar %[[V_0]], %c5{{.*}} : (!fir.ref>, index) -> !fir.boxchar<1> @@ -380,7 +380,7 @@ ! CHECK: %[[V_12:[0-9]+]] = arith.muli %c1{{.*}}_i64, %[[V_11]] : i64 ! CHECK: %[[V_13:[0-9]+]] = fir.convert %[[V_0]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[V_14:[0-9]+]] = fir.convert %[[V_8]] : (!fir.ref>) -> !fir.ref - ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[V_13]], %[[V_14]], %[[V_12]], %false{{.*}}) : (!fir.ref, !fir.ref, i64, i1) -> () + ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[V_13]], %[[V_14]], %[[V_12]], %false{{.*}}) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[V_15:[0-9]+]] = arith.subi %c5{{.*}}, %c1{{.*}} : index ! CHECK: %[[V_16:[0-9]+]] = fir.undefined !fir.char<1> ! CHECK: %[[V_17:[0-9]+]] = fir.insert_value %[[V_16]], %c32{{.*}}_i8, [0 : index] : (!fir.char<1>, i8) -> !fir.char<1> @@ -389,7 +389,7 @@ ! CHECK: %[[V_20:[0-9]+]] = fir.coordinate_of %[[V_19]], %arg2 : (!fir.ref>>, index) -> !fir.ref> ! CHECK: fir.store %[[V_17]] to %[[V_20]] : !fir.ref> ! CHECK: } - ! CHECK: fir.call @_QFf1Ps3(%[[V_3]]) : (!fir.ref, !fir.boxchar<1>>>) -> () + ! CHECK: fir.call @_QFf1Ps3(%[[V_3]]) {{.*}} : (!fir.ref, !fir.boxchar<1>>>) -> () ! CHECK: br ^bb2 ! CHECK: ^bb2: // pred: ^bb1 ! CHECK: %[[V_18:[0-9]+]] = fir.emboxchar %[[V_0]], %c5{{.*}} : (!fir.ref>, index) -> !fir.boxchar<1> @@ -410,7 +410,7 @@ ! CHECK: %[[V_7:[0-9]+]] = arith.muli %c1{{.*}}_i64, %[[V_6]] : i64 ! CHECK: %[[V_8:[0-9]+]] = fir.convert %[[V_2]]#0 : (!fir.ref>) -> !fir.ref ! CHECK: %[[V_9:[0-9]+]] = fir.convert %[[V_3]] : (!fir.ref>) -> !fir.ref - ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[V_8]], %[[V_9]], %[[V_7]], %false{{.*}}) : (!fir.ref, !fir.ref, i64, i1) -> () + ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[V_8]], %[[V_9]], %[[V_7]], %false{{.*}}) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[V_10:[0-9]+]] = arith.subi %[[V_2]]#1, %c1{{.*}} : index ! CHECK: %[[V_11:[0-9]+]] = fir.undefined !fir.char<1> ! CHECK: %[[V_12:[0-9]+]] = fir.insert_value %[[V_11]], %c32{{.*}}_i8, [0 : index] : (!fir.char<1>, i8) -> !fir.char<1> @@ -436,7 +436,7 @@ ! CHECK: %[[V_7:[0-9]+]] = arith.muli %c1{{.*}}_i64, %[[V_6]] : i64 ! CHECK: %[[V_8:[0-9]+]] = fir.convert %[[V_2]]#0 : (!fir.ref>) -> !fir.ref ! CHECK: %[[V_9:[0-9]+]] = fir.convert %[[V_3]] : (!fir.ref>) -> !fir.ref - ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[V_8]], %[[V_9]], %[[V_7]], %false{{.*}}) : (!fir.ref, !fir.ref, i64, i1) -> () + ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[V_8]], %[[V_9]], %[[V_7]], %false{{.*}}) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[V_10:[0-9]+]] = arith.subi %[[V_2]]#1, %c1{{.*}} : index ! CHECK: %[[V_11:[0-9]+]] = fir.undefined !fir.char<1> ! CHECK: %[[V_12:[0-9]+]] = fir.insert_value %[[V_11]], %c32{{.*}}_i8, [0 : index] : (!fir.char<1>, i8) -> !fir.char<1> Index: flang/test/Lower/equivalence-2.f90 =================================================================== --- flang/test/Lower/equivalence-2.f90 +++ flang/test/Lower/equivalence-2.f90 @@ -75,12 +75,12 @@ call foo2(x, i) ! CHECK: %[[xCast:.*]] = fir.convert %[[x]] : (!fir.ptr>) -> !fir.ref> ! CHECK: %[[iCast:.*]] = fir.convert %[[i]] : (!fir.ptr) -> !fir.ref - ! CHECK: fir.call @_QPfoo1(%[[xCast]], %[[iCast]]) : (!fir.ref>, !fir.ref) -> () + ! CHECK: fir.call @_QPfoo1(%[[xCast]], %[[iCast]]) {{.*}} : (!fir.ref>, !fir.ref) -> () entry eq_and_entry_bar call foo2(x, i) ! CHECK: %[[xCast2:.*]] = fir.convert %[[x]] : (!fir.ptr>) -> !fir.ref> ! CHECK: %[[iCast2:.*]] = fir.convert %[[i]] : (!fir.ptr) -> !fir.ref - ! CHECK: fir.call @_QPfoo2(%[[xCast2]], %[[iCast2]]) : (!fir.ref>, !fir.ref) -> () + ! CHECK: fir.call @_QPfoo2(%[[xCast2]], %[[iCast2]]) {{.*}} : (!fir.ref>, !fir.ref) -> () end ! CHECK-LABEL: @_QPeq_and_entry_bar() @@ -96,7 +96,7 @@ ! CHECK-NOT: fir.call @_QPfoo1 ! CHECK: %[[xCast:.*]] = fir.convert %[[x]] : (!fir.ptr>) -> !fir.ref> ! CHECK: %[[iCast:.*]] = fir.convert %[[i]] : (!fir.ptr) -> !fir.ref - ! CHECK: fir.call @_QPfoo2(%[[xCast]], %[[iCast]]) : (!fir.ref>, !fir.ref) -> () + ! CHECK: fir.call @_QPfoo2(%[[xCast]], %[[iCast]]) {{.*}} : (!fir.ref>, !fir.ref) -> () ! Check that cases where equivalenced local variables and common blocks will Index: flang/test/Lower/explicit-interface-results-2.f90 =================================================================== --- flang/test/Lower/explicit-interface-results-2.f90 +++ flang/test/Lower/explicit-interface-results-2.f90 @@ -253,12 +253,12 @@ call takes_array(dummy_proc()) ! CHECK: %[[VAL_1:.*]] = arith.constant 100 : index ! CHECK: %[[VAL_2:.*]] = fir.alloca !fir.array<100xf32> {bindc_name = ".result"} -! CHECK: %[[VAL_3:.*]] = fir.call @llvm.stacksave() : () -> !fir.ref +! CHECK: %[[VAL_3:.*]] = fir.call @llvm.stacksave() {{.*}} : () -> !fir.ref ! CHECK: %[[VAL_4:.*]] = fir.shape %[[VAL_1]] : (index) -> !fir.shape<1> ! CHECK: %[[VAL_5:.*]] = fir.box_addr %[[VAL_0]] : (!fir.boxproc<() -> ()>) -> (() -> !fir.array<100xf32>) -! CHECK: %[[VAL_6:.*]] = fir.call %[[VAL_5]]() : () -> !fir.array<100xf32> +! CHECK: %[[VAL_6:.*]] = fir.call %[[VAL_5]]() {{.*}} : () -> !fir.array<100xf32> ! CHECK: fir.save_result %[[VAL_6]] to %[[VAL_2]](%[[VAL_4]]) : !fir.array<100xf32>, !fir.ref>, !fir.shape<1> ! CHECK: %[[VAL_7:.*]] = fir.convert %[[VAL_2]] : (!fir.ref>) -> !fir.ref> -! CHECK: fir.call @_QPtakes_array(%[[VAL_7]]) : (!fir.ref>) -> () -! CHECK: fir.call @llvm.stackrestore(%[[VAL_3]]) : (!fir.ref) -> () +! CHECK: fir.call @_QPtakes_array(%[[VAL_7]]) {{.*}} : (!fir.ref>) -> () +! CHECK: fir.call @llvm.stackrestore(%[[VAL_3]]) {{.*}} : (!fir.ref) -> () end subroutine Index: flang/test/Lower/explicit-interface-results.f90 =================================================================== --- flang/test/Lower/explicit-interface-results.f90 +++ flang/test/Lower/explicit-interface-results.f90 @@ -94,7 +94,7 @@ subroutine cst_array() ! CHECK: %[[alloc:.*]] = fir.alloca !fir.array<20x30xf32> {{{.*}}bindc_name = ".result"} ! CHECK: %[[shape:.*]] = fir.shape %{{.*}}, {{.*}} : (index, index) -> !fir.shape<2> - ! CHECK: %[[res:.*]] = fir.call @_QMcalleePreturn_cst_array() : () -> !fir.array<20x30xf32> + ! CHECK: %[[res:.*]] = fir.call @_QMcalleePreturn_cst_array() {{.*}} : () -> !fir.array<20x30xf32> ! CHECK: fir.save_result %[[res]] to %[[alloc]](%[[shape]]) : !fir.array<20x30xf32>, !fir.ref>, !fir.shape<2> print *, return_cst_array() end subroutine @@ -103,7 +103,7 @@ subroutine cst_char_cst_array() ! CHECK: %[[alloc:.*]] = fir.alloca !fir.array<20x30x!fir.char<1,10>> {{{.*}}bindc_name = ".result"} ! CHECK: %[[shape:.*]] = fir.shape %{{.*}}, {{.*}} : (index, index) -> !fir.shape<2> - ! CHECK: %[[res:.*]] = fir.call @_QMcalleePreturn_cst_char_cst_array() : () -> !fir.array<20x30x!fir.char<1,10>> + ! CHECK: %[[res:.*]] = fir.call @_QMcalleePreturn_cst_char_cst_array() {{.*}} : () -> !fir.array<20x30x!fir.char<1,10>> ! CHECK: fir.save_result %[[res]] to %[[alloc]](%[[shape]]) typeparams %{{.*}} : !fir.array<20x30x!fir.char<1,10>>, !fir.ref>>, !fir.shape<2>, index print *, return_cst_char_cst_array() end subroutine @@ -111,7 +111,7 @@ ! CHECK-LABEL: func @_QMcallerPalloc() subroutine alloc() ! CHECK: %[[alloc:.*]] = fir.alloca !fir.box>> {{{.*}}bindc_name = ".result"} - ! CHECK: %[[res:.*]] = fir.call @_QMcalleePreturn_alloc() : () -> !fir.box>> + ! CHECK: %[[res:.*]] = fir.call @_QMcalleePreturn_alloc() {{.*}} : () -> !fir.box>> ! CHECK: fir.save_result %[[res]] to %[[alloc]] : !fir.box>>, !fir.ref>>> print *, return_alloc() ! CHECK: _FortranAioOutputDescriptor @@ -125,7 +125,7 @@ ! CHECK-LABEL: func @_QMcallerPcst_char_alloc() subroutine cst_char_alloc() ! CHECK: %[[alloc:.*]] = fir.alloca !fir.box>>> {{{.*}}bindc_name = ".result"} - ! CHECK: %[[res:.*]] = fir.call @_QMcalleePreturn_cst_char_alloc() : () -> !fir.box>>> + ! CHECK: %[[res:.*]] = fir.call @_QMcalleePreturn_cst_char_alloc() {{.*}} : () -> !fir.box>>> ! CHECK: fir.save_result %[[res]] to %[[alloc]] : !fir.box>>>, !fir.ref>>>> print *, return_cst_char_alloc() ! CHECK: _FortranAioOutputDescriptor @@ -139,7 +139,7 @@ ! CHECK-LABEL: func @_QMcallerPdef_char_alloc() subroutine def_char_alloc() ! CHECK: %[[alloc:.*]] = fir.alloca !fir.box>>> {{{.*}}bindc_name = ".result"} - ! CHECK: %[[res:.*]] = fir.call @_QMcalleePreturn_def_char_alloc() : () -> !fir.box>>> + ! CHECK: %[[res:.*]] = fir.call @_QMcalleePreturn_def_char_alloc() {{.*}} : () -> !fir.box>>> ! CHECK: fir.save_result %[[res]] to %[[alloc]] : !fir.box>>>, !fir.ref>>>> print *, return_def_char_alloc() ! CHECK: _FortranAioOutputDescriptor @@ -153,7 +153,7 @@ ! CHECK-LABEL: func @_QMcallerPpointer_test() subroutine pointer_test() ! CHECK: %[[alloc:.*]] = fir.alloca !fir.box>> {{{.*}}bindc_name = ".result"} - ! CHECK: %[[res:.*]] = fir.call @_QMcalleePreturn_pointer() : () -> !fir.box>> + ! CHECK: %[[res:.*]] = fir.call @_QMcalleePreturn_pointer() {{.*}} : () -> !fir.box>> ! CHECK: fir.save_result %[[res]] to %[[alloc]] : !fir.box>>, !fir.ref>>> print *, return_pointer() ! CHECK-NOT: fir.freemem @@ -162,7 +162,7 @@ ! CHECK-LABEL: func @_QMcallerPcst_char_pointer() subroutine cst_char_pointer() ! CHECK: %[[alloc:.*]] = fir.alloca !fir.box>>> {{{.*}}bindc_name = ".result"} - ! CHECK: %[[res:.*]] = fir.call @_QMcalleePreturn_cst_char_pointer() : () -> !fir.box>>> + ! CHECK: %[[res:.*]] = fir.call @_QMcalleePreturn_cst_char_pointer() {{.*}} : () -> !fir.box>>> ! CHECK: fir.save_result %[[res]] to %[[alloc]] : !fir.box>>>, !fir.ref>>>> print *, return_cst_char_pointer() ! CHECK-NOT: fir.freemem @@ -171,7 +171,7 @@ ! CHECK-LABEL: func @_QMcallerPdef_char_pointer() subroutine def_char_pointer() ! CHECK: %[[alloc:.*]] = fir.alloca !fir.box>>> {{{.*}}bindc_name = ".result"} - ! CHECK: %[[res:.*]] = fir.call @_QMcalleePreturn_def_char_pointer() : () -> !fir.box>>> + ! CHECK: %[[res:.*]] = fir.call @_QMcalleePreturn_def_char_pointer() {{.*}} : () -> !fir.box>>> ! CHECK: fir.save_result %[[res]] to %[[alloc]] : !fir.box>>>, !fir.ref>>>> print *, return_def_char_pointer() ! CHECK-NOT: fir.freemem @@ -197,7 +197,7 @@ ! CHECK-DAG: %[[nselect:.*]] = arith.select %[[ncmpi]], %[[ncast2]], %{{.*}} : index ! CHECK: %[[tmp:.*]] = fir.alloca !fir.array, %[[mselect]], %[[nselect]] ! CHECK: %[[shape:.*]] = fir.shape %[[mselect]], %[[nselect]] : (index, index) -> !fir.shape<2> - ! CHECK: %[[res:.*]] = fir.call @_QMcalleePreturn_dyn_array(%[[m]], %[[n]]) : (!fir.ref, !fir.ref) -> !fir.array + ! CHECK: %[[res:.*]] = fir.call @_QMcalleePreturn_dyn_array(%[[m]], %[[n]]) {{.*}} : (!fir.ref, !fir.ref) -> !fir.array ! CHECK: fir.save_result %[[res]] to %[[tmp]](%[[shape]]) : !fir.array, !fir.ref>, !fir.shape<2> print *, return_dyn_array(m, n) end subroutine @@ -213,7 +213,7 @@ ! CHECK: %[[select:.*]] = arith.select %[[cmpi]], %[[lcast2]], %{{.*}} : index ! CHECK: %[[tmp:.*]] = fir.alloca !fir.array<20x30x!fir.char<1,?>>(%[[select]] : index) ! CHECK: %[[shape:.*]] = fir.shape %{{.*}}, %{{.*}} : (index, index) -> !fir.shape<2> - ! CHECK: %[[res:.*]] = fir.call @_QMcalleePreturn_dyn_char_cst_array(%[[l]]) : (!fir.ref) -> !fir.array<20x30x!fir.char<1,?>> + ! CHECK: %[[res:.*]] = fir.call @_QMcalleePreturn_dyn_char_cst_array(%[[l]]) {{.*}} : (!fir.ref) -> !fir.array<20x30x!fir.char<1,?>> ! CHECK: fir.save_result %[[res]] to %[[tmp]](%[[shape]]) typeparams %[[select]] : !fir.array<20x30x!fir.char<1,?>>, !fir.ref>>, !fir.shape<2>, index print *, return_dyn_char_cst_array(l) end subroutine @@ -238,7 +238,7 @@ ! CHECK-DAG: %[[nselect:.*]] = arith.select %[[ncmpi]], %[[ncast2]], %{{.*}} : index ! CHECK: %[[tmp:.*]] = fir.alloca !fir.array>, %[[mselect]], %[[nselect]] ! CHECK: %[[shape:.*]] = fir.shape %[[mselect]], %[[nselect]] : (index, index) -> !fir.shape<2> - ! CHECK: %[[res:.*]] = fir.call @_QMcalleePreturn_cst_char_dyn_array(%[[m]], %[[n]]) : (!fir.ref, !fir.ref) -> !fir.array> + ! CHECK: %[[res:.*]] = fir.call @_QMcalleePreturn_cst_char_dyn_array(%[[m]], %[[n]]) {{.*}} : (!fir.ref, !fir.ref) -> !fir.array> ! CHECK: fir.save_result %[[res]] to %[[tmp]](%[[shape]]) typeparams {{.*}} : !fir.array>, !fir.ref>>, !fir.shape<2>, index print *, return_cst_char_dyn_array(m, n) end subroutine @@ -269,7 +269,7 @@ ! CHECK-DAG: %[[lselect:.*]] = arith.select %[[lcmpi]], %[[lcast2]], %{{.*}} : index ! CHECK: %[[tmp:.*]] = fir.alloca !fir.array>(%[[lselect]] : index), %[[mselect]], %[[nselect]] ! CHECK: %[[shape:.*]] = fir.shape %[[mselect]], %[[nselect]] : (index, index) -> !fir.shape<2> - ! CHECK: %[[res:.*]] = fir.call @_QMcalleePreturn_dyn_char_dyn_array(%[[l]], %[[m]], %[[n]]) : (!fir.ref, !fir.ref, !fir.ref) -> !fir.array> + ! CHECK: %[[res:.*]] = fir.call @_QMcalleePreturn_dyn_char_dyn_array(%[[l]], %[[m]], %[[n]]) {{.*}} : (!fir.ref, !fir.ref, !fir.ref) -> !fir.array> ! CHECK: fir.save_result %[[res]] to %[[tmp]](%[[shape]]) typeparams {{.*}} : !fir.array>, !fir.ref>>, !fir.shape<2>, index integer :: l, m, n print *, return_dyn_char_dyn_array(l, m, n) @@ -279,7 +279,7 @@ subroutine dyn_char_alloc(l) integer :: l ! CHECK: %[[alloc:.*]] = fir.alloca !fir.box>>> {{{.*}}bindc_name = ".result"} - ! CHECK: %[[res:.*]] = fir.call @_QMcalleePreturn_dyn_char_alloc({{.*}}) : (!fir.ref) -> !fir.box>>> + ! CHECK: %[[res:.*]] = fir.call @_QMcalleePreturn_dyn_char_alloc({{.*}}) {{.*}} : (!fir.ref) -> !fir.box>>> ! CHECK: fir.save_result %[[res]] to %[[alloc]] : !fir.box>>>, !fir.ref>>>> print *, return_dyn_char_alloc(l) ! CHECK: _FortranAioOutputDescriptor @@ -294,7 +294,7 @@ subroutine dyn_char_pointer(l) integer :: l ! CHECK: %[[alloc:.*]] = fir.alloca !fir.box>>> {{{.*}}bindc_name = ".result"} - ! CHECK: %[[res:.*]] = fir.call @_QMcalleePreturn_dyn_char_pointer({{.*}}) : (!fir.ref) -> !fir.box>>> + ! CHECK: %[[res:.*]] = fir.call @_QMcalleePreturn_dyn_char_pointer({{.*}}) {{.*}} : (!fir.ref) -> !fir.box>>> ! CHECK: fir.save_result %[[res]] to %[[alloc]] : !fir.box>>>, !fir.ref>>>> print *, return_dyn_char_pointer(l) ! CHECK-NOT: fir.freemem @@ -430,5 +430,5 @@ ! CHECK: %[[cmpi:.*]] = arith.cmpi sgt, %[[len]], %{{.*}} : index ! CHECK: %[[select:.*]] = arith.select %[[cmpi]], %[[len]], %{{.*}} : index ! CHECK: %[[result:.*]] = fir.alloca !fir.char<1,?>(%[[select]] : index) {bindc_name = ".result"} - ! CHECK: fir.call @_QPreturn_dyn_char_2(%[[result]], %[[select]], %{{.*}}) : (!fir.ref>, index, !fir.ref) -> !fir.boxchar<1> + ! CHECK: fir.call @_QPreturn_dyn_char_2(%[[result]], %[[select]], %{{.*}}) {{.*}} : (!fir.ref>, index, !fir.ref) -> !fir.boxchar<1> end subroutine Index: flang/test/Lower/ext-proc-as-actual-argument-1.f90 =================================================================== --- flang/test/Lower/ext-proc-as-actual-argument-1.f90 +++ flang/test/Lower/ext-proc-as-actual-argument-1.f90 @@ -9,7 +9,7 @@ ! CHECK: %[[VAL_3:.*]] = fir.undefined tuple ()>, i64> ! CHECK: %[[VAL_4:.*]] = fir.insert_value %[[VAL_3]], %[[VAL_1]], [0 : index] : (tuple ()>, i64>, !fir.boxproc<() -> ()>) -> tuple ()>, i64> ! CHECK: %[[VAL_5:.*]] = fir.insert_value %[[VAL_4]], %[[VAL_2]], [1 : index] : (tuple ()>, i64>, i64) -> tuple ()>, i64> -! CHECK: fir.call @_QFPsub(%[[VAL_5]]) : (tuple ()>, i64>) -> () +! CHECK: fir.call @_QFPsub(%[[VAL_5]]) {{.*}} : (tuple ()>, i64>) -> () ! CHECK: return ! CHECK-LABEL: func @_QPext_func( Index: flang/test/Lower/ext-proc-as-actual-argument-2.f90 =================================================================== --- flang/test/Lower/ext-proc-as-actual-argument-2.f90 +++ flang/test/Lower/ext-proc-as-actual-argument-2.f90 @@ -9,7 +9,7 @@ ! CHECK: %[[VAL_3:.*]] = fir.undefined tuple ()>, i64> ! CHECK: %[[VAL_4:.*]] = fir.insert_value %[[VAL_3]], %[[VAL_1]], [0 : index] : (tuple ()>, i64>, !fir.boxproc<() -> ()>) -> tuple ()>, i64> ! CHECK: %[[VAL_5:.*]] = fir.insert_value %[[VAL_4]], %[[VAL_2]], [1 : index] : (tuple ()>, i64>, i64) -> tuple ()>, i64> -! CHECK: fir.call @_QFPsub(%[[VAL_5]]) : (tuple ()>, i64>) -> () +! CHECK: fir.call @_QFPsub(%[[VAL_5]]) {{.*}} : (tuple ()>, i64>) -> () ! CHECK: return ! CHECK-LABEL: func @_QPext_func( Index: flang/test/Lower/fail_image.f90 =================================================================== --- flang/test/Lower/fail_image.f90 +++ flang/test/Lower/fail_image.f90 @@ -7,7 +7,7 @@ ! CHECK: cond_br {{.*}}, ^[[BB1:.*]], ^[[BB2:.*]] ! CHECK: ^[[BB1]]: if (fail) then -! CHECK: {{.*}} = fir.call @_FortranAFailImageStatement() : () -> none +! CHECK: {{.*}} = fir.call @_FortranAFailImageStatement() {{.*}} : () -> none ! CHECK-NEXT: fir.unreachable FAIL IMAGE end if Index: flang/test/Lower/fast-math-arithmetic.f90 =================================================================== --- flang/test/Lower/fast-math-arithmetic.f90 +++ flang/test/Lower/fast-math-arithmetic.f90 @@ -1,10 +1,10 @@ ! RUN: %flang_fc1 -emit-fir -ffp-contract=fast %s -o - 2>&1 | FileCheck --check-prefixes=CONTRACT,ALL %s -! RUN: %flang_fc1 -emit-fir -menable-no-infs %s -o - 2>&1 | FileCheck --check-prefixes=NINF,ALL %s -! RUN: %flang_fc1 -emit-fir -menable-no-nans %s -o - 2>&1 | FileCheck --check-prefixes=NNAN,ALL %s -! RUN: %flang_fc1 -emit-fir -fapprox-func %s -o - 2>&1 | FileCheck --check-prefixes=AFN,ALL %s -! RUN: %flang_fc1 -emit-fir -fno-signed-zeros %s -o - 2>&1 | FileCheck --check-prefixes=NSZ,ALL %s -! RUN: %flang_fc1 -emit-fir -mreassociate %s -o - 2>&1 | FileCheck --check-prefixes=REASSOC,ALL %s -! RUN: %flang_fc1 -emit-fir -freciprocal-math %s -o - 2>&1 | FileCheck --check-prefixes=ARCP,ALL %s +! RUN: %flang_fc1 -emit-fir -menable-no-infs -ffp-contract=off %s -o - 2>&1 | FileCheck --check-prefixes=NINF,ALL %s +! RUN: %flang_fc1 -emit-fir -menable-no-nans -ffp-contract=off %s -o - 2>&1 | FileCheck --check-prefixes=NNAN,ALL %s +! RUN: %flang_fc1 -emit-fir -fapprox-func -ffp-contract=off %s -o - 2>&1 | FileCheck --check-prefixes=AFN,ALL %s +! RUN: %flang_fc1 -emit-fir -fno-signed-zeros -ffp-contract=off %s -o - 2>&1 | FileCheck --check-prefixes=NSZ,ALL %s +! RUN: %flang_fc1 -emit-fir -mreassociate -ffp-contract=off %s -o - 2>&1 | FileCheck --check-prefixes=REASSOC,ALL %s +! RUN: %flang_fc1 -emit-fir -freciprocal-math -ffp-contract=off %s -o - 2>&1 | FileCheck --check-prefixes=ARCP,ALL %s ! RUN: %flang_fc1 -emit-fir -ffp-contract=fast -menable-no-infs -menable-no-nans -fapprox-func -fno-signed-zeros -mreassociate -freciprocal-math %s -o - 2>&1 | FileCheck --check-prefixes=FAST,ALL %s ! ALL-LABEL: func.func @_QPtest Index: flang/test/Lower/forall/array-constructor.f90 =================================================================== --- flang/test/Lower/forall/array-constructor.f90 +++ flang/test/Lower/forall/array-constructor.f90 @@ -68,7 +68,7 @@ ! CHECK: %[[VAL_50:.*]] = arith.muli %[[VAL_49]], %[[VAL_41]] : index ! CHECK: %[[VAL_51:.*]] = fir.convert %[[VAL_35]] : (!fir.heap>) -> !fir.ref ! CHECK: %[[VAL_52:.*]] = fir.convert %[[VAL_50]] : (index) -> i64 -! CHECK: %[[VAL_53:.*]] = fir.call @realloc(%[[VAL_51]], %[[VAL_52]]) : (!fir.ref, i64) -> !fir.ref +! CHECK: %[[VAL_53:.*]] = fir.call @realloc(%[[VAL_51]], %[[VAL_52]]) {{.*}} : (!fir.ref, i64) -> !fir.ref ! CHECK: %[[VAL_54:.*]] = fir.convert %[[VAL_53]] : (!fir.ref) -> !fir.heap> ! CHECK: fir.result %[[VAL_54]] : !fir.heap> ! CHECK: } else { @@ -95,7 +95,7 @@ ! CHECK: %[[VAL_72:.*]] = fir.shape %[[VAL_33]] : (index) -> !fir.shape<1> ! CHECK: %[[VAL_73:.*]] = fir.embox %[[VAL_60]](%[[VAL_72]]) : (!fir.heap>, !fir.shape<1>) -> !fir.box> ! CHECK: %[[VAL_74:.*]] = fir.convert %[[VAL_73]] : (!fir.box>) -> !fir.box> -! CHECK: %[[VAL_75:.*]] = fir.call @_QFac1Pfunc(%[[VAL_74]]) : (!fir.box>) -> i32 +! CHECK: %[[VAL_75:.*]] = fir.call @_QFac1Pfunc(%[[VAL_74]]) {{.*}} : (!fir.box>) -> i32 ! CHECK: %[[VAL_76:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_77:.*]] = arith.constant 0 : index ! CHECK: %[[VAL_78:.*]] = arith.subi %[[VAL_32]], %[[VAL_76]] : index @@ -197,7 +197,7 @@ ! CHECK: %[[VAL_51:.*]] = arith.muli %[[VAL_50]], %[[VAL_42]] : index ! CHECK: %[[VAL_52:.*]] = fir.convert %[[VAL_36]] : (!fir.heap>) -> !fir.ref ! CHECK: %[[VAL_53:.*]] = fir.convert %[[VAL_51]] : (index) -> i64 -! CHECK: %[[VAL_54:.*]] = fir.call @realloc(%[[VAL_52]], %[[VAL_53]]) : (!fir.ref, i64) -> !fir.ref +! CHECK: %[[VAL_54:.*]] = fir.call @realloc(%[[VAL_52]], %[[VAL_53]]) {{.*}} : (!fir.ref, i64) -> !fir.ref ! CHECK: %[[VAL_55:.*]] = fir.convert %[[VAL_54]] : (!fir.ref) -> !fir.heap> ! CHECK: fir.result %[[VAL_55]] : !fir.heap> ! CHECK: } else { @@ -232,10 +232,10 @@ ! CHECK: %[[C0:.*]] = arith.constant 0 : index ! CHECK: %[[CMPI:.*]] = arith.cmpi sgt, %[[VAL_80]], %[[C0]] : index ! CHECK: %[[SELECT:.*]] = arith.select %[[CMPI]], %[[VAL_80]], %[[C0]] : index -! CHECK: %[[VAL_81:.*]] = fir.call @llvm.stacksave() : () -> !fir.ref +! CHECK: %[[VAL_81:.*]] = fir.call @llvm.stacksave() {{.*}} : () -> !fir.ref ! CHECK: %[[VAL_82:.*]] = fir.shape %[[SELECT]] : (index) -> !fir.shape<1> ! CHECK: %[[VAL_83:.*]] = fir.convert %[[VAL_74]] : (!fir.box>) -> !fir.box> -! CHECK: %[[VAL_84:.*]] = fir.call @_QFac2Pfunc(%[[VAL_83]]) : (!fir.box>) -> !fir.array<3xi32> +! CHECK: %[[VAL_84:.*]] = fir.call @_QFac2Pfunc(%[[VAL_83]]) {{.*}} : (!fir.box>) -> !fir.array<3xi32> ! CHECK: fir.save_result %[[VAL_84]] to %[[VAL_2]](%[[VAL_82]]) : !fir.array<3xi32>, !fir.ref>, !fir.shape<1> ! CHECK: %[[VAL_85:.*]] = fir.shape %[[SELECT]] : (index) -> !fir.shape<1> ! CHECK: %[[VAL_86:.*]] = fir.array_load %[[VAL_2]](%[[VAL_85]]) : (!fir.ref>, !fir.shape<1>) -> !fir.array<3xi32> @@ -250,7 +250,7 @@ ! CHECK: %[[VAL_97:.*]] = fir.array_update %[[VAL_92]], %[[VAL_93]], %[[VAL_96]] : (!fir.array, i32, index) -> !fir.array ! CHECK: fir.result %[[VAL_97]] : !fir.array ! CHECK: } -! CHECK: fir.call @llvm.stackrestore(%[[VAL_81]]) : (!fir.ref) -> () +! CHECK: fir.call @llvm.stackrestore(%[[VAL_81]]) {{.*}} : (!fir.ref) -> () ! CHECK: fir.freemem %[[VAL_61]] : !fir.heap> ! CHECK: fir.freemem %[[VAL_57]] : !fir.heap> ! CHECK: fir.result %[[VAL_98:.*]] : !fir.array Index: flang/test/Lower/forall/forall-2.f90 =================================================================== --- flang/test/Lower/forall/forall-2.f90 +++ flang/test/Lower/forall/forall-2.f90 @@ -185,7 +185,7 @@ ! CHECK: %[[VAL_26:.*]] = fir.shape %[[VAL_4]], %[[VAL_5]] : (index, index) -> !fir.shape<2> ! CHECK: %[[VAL_27:.*]] = fir.slice %[[VAL_18]], %[[VAL_22]], %[[VAL_20]], %[[VAL_24]], %[[VAL_25]], %[[VAL_25]] : (index, index, index, i64, index, index) -> !fir.slice<2> ! CHECK: %[[VAL_28:.*]] = fir.embox %[[VAL_1]](%[[VAL_26]]) {{\[}}%[[VAL_27]]] : (!fir.ref>, !fir.shape<2>, !fir.slice<2>) -> !fir.box> -! CHECK: %[[VAL_29:.*]] = fir.call @_QPe(%[[VAL_28]]) : (!fir.box>) -> i32 +! CHECK: %[[VAL_29:.*]] = fir.call @_QPe(%[[VAL_28]]) {{.*}} : (!fir.box>) -> i32 ! CHECK: %[[VAL_17:.*]] = arith.constant 1 : i32 ! CHECK: %[[VAL_30:.*]] = arith.addi %[[VAL_29]], %[[VAL_17]] : i32 ! CHECK: %[[VAL_31:.*]] = arith.constant 1 : index Index: flang/test/Lower/forall/forall-allocatable-2.f90 =================================================================== --- flang/test/Lower/forall/forall-allocatable-2.f90 +++ flang/test/Lower/forall/forall-allocatable-2.f90 @@ -23,7 +23,7 @@ ! CHECK: %[[VAL_5:.*]] = arith.constant {{.*}} : i32 ! CHECK: %[[VAL_6:.*]] = fir.convert %[[VAL_3]] : (!fir.box>>}>>) -> !fir.box ! CHECK: %[[VAL_7:.*]] = fir.convert %[[VAL_4]] : (!fir.ref>) -> !fir.ref -! CHECK: %[[VAL_8:.*]] = fir.call @_FortranAInitialize(%[[VAL_6]], %[[VAL_7]], %[[VAL_5]]) : (!fir.box, !fir.ref, i32) -> none +! CHECK: %[[VAL_8:.*]] = fir.call @_FortranAInitialize(%[[VAL_6]], %[[VAL_7]], %[[VAL_5]]) {{.*}} : (!fir.box, !fir.ref, i32) -> none ! CHECK: %[[VAL_9:.*]] = arith.constant 5 : i32 ! CHECK: %[[VAL_10:.*]] = fir.convert %[[VAL_9]] : (i32) -> index ! CHECK: %[[VAL_11:.*]] = arith.constant 15 : i32 Index: flang/test/Lower/forall/forall-construct-2.f90 =================================================================== --- flang/test/Lower/forall/forall-construct-2.f90 +++ flang/test/Lower/forall/forall-construct-2.f90 @@ -65,7 +65,7 @@ ! CHECK: %[[VAL_52:.*]] = fir.convert %[[VAL_51]] : (i64) -> index ! CHECK: %[[VAL_53:.*]] = arith.subi %[[VAL_52]], %[[VAL_43]] : index ! CHECK: %[[VAL_55:.*]] = fir.array_fetch %[[VAL_25]], %[[VAL_49]], %[[VAL_53]] : (!fir.array<200x200xf32>, index, index) -> f32 -! CHECK: %[[VAL_56:.*]] = arith.addf %[[VAL_54]], %[[VAL_55]] : f32 +! CHECK: %[[VAL_56:.*]] = arith.addf %[[VAL_54]], %[[VAL_55]] {{.*}} : f32 ! CHECK: %[[VAL_57:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_58:.*]] = fir.load %[[VAL_5]] : !fir.ref ! CHECK: %[[VAL_59:.*]] = fir.convert %[[VAL_58]] : (i32) -> i64 @@ -102,7 +102,7 @@ ! CHECK: %[[VAL_89:.*]] = fir.convert %[[VAL_88]] : (i64) -> index ! CHECK: %[[VAL_90:.*]] = arith.subi %[[VAL_89]], %[[VAL_82]] : index ! CHECK: %[[VAL_91:.*]] = fir.array_fetch %[[VAL_72]], %[[VAL_86]], %[[VAL_90]] : (!fir.array<200x200xf32>, index, index) -> f32 -! CHECK: %[[VAL_92:.*]] = arith.divf %[[VAL_81]], %[[VAL_91]] : f32 +! CHECK: %[[VAL_92:.*]] = arith.divf %[[VAL_81]], %[[VAL_91]] {{.*}} : f32 ! CHECK: %[[VAL_93:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_94:.*]] = fir.load %[[VAL_3]] : !fir.ref ! CHECK: %[[VAL_95:.*]] = fir.convert %[[VAL_94]] : (i32) -> i64 Index: flang/test/Lower/forall/forall-construct-3.f90 =================================================================== --- flang/test/Lower/forall/forall-construct-3.f90 +++ flang/test/Lower/forall/forall-construct-3.f90 @@ -78,7 +78,7 @@ ! CHECK: %[[VAL_65:.*]] = fir.convert %[[VAL_64]] : (i64) -> index ! CHECK: %[[VAL_66:.*]] = arith.subi %[[VAL_65]], %[[VAL_56]] : index ! CHECK: %[[VAL_68:.*]] = fir.array_fetch %[[VAL_26]], %[[VAL_62]], %[[VAL_66]] : (!fir.array<200x200xf32>, index, index) -> f32 -! CHECK: %[[VAL_69:.*]] = arith.addf %[[VAL_67]], %[[VAL_68]] : f32 +! CHECK: %[[VAL_69:.*]] = arith.addf %[[VAL_67]], %[[VAL_68]] {{.*}} : f32 ! CHECK: %[[VAL_70:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_71:.*]] = fir.load %[[VAL_6]] : !fir.ref ! CHECK: %[[VAL_72:.*]] = fir.convert %[[VAL_71]] : (i32) -> i64 @@ -131,7 +131,7 @@ ! CHECK: %[[VAL_115:.*]] = fir.convert %[[VAL_114]] : (i64) -> index ! CHECK: %[[VAL_116:.*]] = arith.subi %[[VAL_115]], %[[VAL_108]] : index ! CHECK: %[[VAL_117:.*]] = fir.array_fetch %[[VAL_86]], %[[VAL_112]], %[[VAL_116]] : (!fir.array<200x200xf32>, index, index) -> f32 -! CHECK: %[[VAL_118:.*]] = arith.divf %[[VAL_107]], %[[VAL_117]] : f32 +! CHECK: %[[VAL_118:.*]] = arith.divf %[[VAL_107]], %[[VAL_117]] {{.*}} : f32 ! CHECK: %[[VAL_119:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_120:.*]] = fir.load %[[VAL_4]] : !fir.ref ! CHECK: %[[VAL_121:.*]] = fir.convert %[[VAL_120]] : (i32) -> i64 Index: flang/test/Lower/forall/forall-construct.f90 =================================================================== --- flang/test/Lower/forall/forall-construct.f90 +++ flang/test/Lower/forall/forall-construct.f90 @@ -73,7 +73,7 @@ ! CHECK: %[[VAL_61:.*]] = arith.subi %[[VAL_60]], %[[VAL_53]] : index ! CHECK-DAG: %[[VAL_62:.*]] = arith.constant 3.140000e+00 : f32 ! CHECK-DAG: %[[VAL_63:.*]] = fir.array_fetch %[[VAL_31]], %[[VAL_57]], %[[VAL_61]] : (!fir.array, index, index) -> f32 -! CHECK: %[[VAL_64:.*]] = arith.divf %[[VAL_63]], %[[VAL_62]] : f32 +! CHECK: %[[VAL_64:.*]] = arith.divf %[[VAL_63]], %[[VAL_62]] {{.*}} : f32 ! CHECK: %[[VAL_65:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_66:.*]] = fir.load %[[VAL_3]] : !fir.ref ! CHECK: %[[VAL_67:.*]] = fir.convert %[[VAL_66]] : (i32) -> i64 Index: flang/test/Lower/forall/forall-ranked.f90 =================================================================== --- flang/test/Lower/forall/forall-ranked.f90 +++ flang/test/Lower/forall/forall-ranked.f90 @@ -40,7 +40,7 @@ ! CHECK: %[[VAL_36:.*]] = fir.convert %[[VAL_35]] : (i32) -> i64 ! CHECK: %[[VAL_37:.*]] = fir.convert %[[VAL_36]] : (i64) -> index ! CHECK: %[[VAL_38:.*]] = arith.subi %[[VAL_37]], %[[VAL_16]] : index -! CHECK: %[[VAL_45:.*]] = fir.call @_QPf(%[[VAL_0]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_45:.*]] = fir.call @_QPf(%[[VAL_0]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: %[[VAL_39:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_40:.*]] = arith.constant 0 : index ! CHECK: %[[VAL_41:.*]] = arith.subi %[[VAL_31]], %[[VAL_39]] : index Index: flang/test/Lower/forall/forall-slice.f90 =================================================================== --- flang/test/Lower/forall/forall-slice.f90 +++ flang/test/Lower/forall/forall-slice.f90 @@ -53,7 +53,7 @@ ! CHECK: %[[VAL_50:.*]] = arith.divsi %[[VAL_49]], %[[VAL_43]] : index ! CHECK: %[[VAL_51:.*]] = arith.cmpi sgt, %[[VAL_50]], %[[VAL_47]] : index ! CHECK: %[[VAL_52:.*]] = arith.select %[[VAL_51]], %[[VAL_50]], %[[VAL_47]] : index -! CHECK: %[[VAL_59:.*]] = fir.call @_QPf(%[[VAL_3]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_59:.*]] = fir.call @_QPf(%[[VAL_3]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: %[[VAL_53:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_54:.*]] = arith.constant 0 : index ! CHECK: %[[VAL_55:.*]] = arith.subi %[[VAL_52]], %[[VAL_53]] : index Index: flang/test/Lower/forall/forall-where.f90 =================================================================== --- flang/test/Lower/forall/forall-where.f90 +++ flang/test/Lower/forall/forall-where.f90 @@ -112,7 +112,7 @@ ! CHECK: fir.store %[[VAL_72]] to %[[VAL_85]] : !fir.ref ! CHECK: %[[VAL_86:.*]] = fir.convert %[[VAL_8]] : (!fir.ref>, !fir.heap>>>) -> !fir.llvm_ptr ! CHECK: %[[VAL_87:.*]] = fir.convert %[[VAL_81]] : (!fir.heap>) -> !fir.ref -! CHECK: %[[VAL_88:.*]] = fir.call @_FortranARaggedArrayAllocate(%[[VAL_86]], %[[VAL_79]], %[[VAL_80]], %[[VAL_54]], %[[VAL_87]]) : (!fir.llvm_ptr, i1, i64, i64, !fir.ref) -> !fir.llvm_ptr +! CHECK: %[[VAL_88:.*]] = fir.call @_FortranARaggedArrayAllocate(%[[VAL_86]], %[[VAL_79]], %[[VAL_80]], %[[VAL_54]], %[[VAL_87]]) {{.*}} : (!fir.llvm_ptr, i1, i64, i64, !fir.ref) -> !fir.llvm_ptr ! CHECK: } ! CHECK: %[[VAL_89:.*]] = arith.subi %[[VAL_47]], %[[VAL_19]] : index ! CHECK: %[[VAL_90:.*]] = arith.divsi %[[VAL_89]], %[[VAL_30]] : index @@ -165,7 +165,7 @@ ! CHECK: fir.store %[[VAL_135]] to %[[VAL_134]] : !fir.ref ! CHECK: %[[VAL_136:.*]] = fir.convert %[[VAL_102]] : (!fir.ref>, !fir.heap>>>) -> !fir.llvm_ptr ! CHECK: %[[VAL_137:.*]] = fir.convert %[[VAL_132]] : (!fir.heap>) -> !fir.ref -! CHECK: %[[VAL_138:.*]] = fir.call @_FortranARaggedArrayAllocate(%[[VAL_136]], %[[VAL_130]], %[[VAL_131]], %[[VAL_123]], %[[VAL_137]]) : (!fir.llvm_ptr, i1, i64, i64, !fir.ref) -> !fir.llvm_ptr +! CHECK: %[[VAL_138:.*]] = fir.call @_FortranARaggedArrayAllocate(%[[VAL_136]], %[[VAL_130]], %[[VAL_131]], %[[VAL_123]], %[[VAL_137]]) {{.*}} : (!fir.llvm_ptr, i1, i64, i64, !fir.ref) -> !fir.llvm_ptr ! CHECK: } ! CHECK: %[[VAL_139:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_140:.*]] = arith.constant 0 : index @@ -270,7 +270,7 @@ ! CHECK: %[[VAL_239:.*]] = fir.convert %[[VAL_238]] : (i8) -> i1 ! CHECK: %[[VAL_240:.*]] = fir.if %[[VAL_239]] -> (!fir.array}>>) { ! CHECK: %[[VAL_241:.*]] = fir.array_fetch %[[VAL_45]], %[[VAL_222]], %[[VAL_226]], %[[VAL_227]], %[[VAL_233]] : (!fir.array}>>, index, index, !fir.field, index) -> f32 -! CHECK: %[[VAL_242:.*]] = arith.divf %[[VAL_241]], %[[VAL_228]] : f32 +! CHECK: %[[VAL_242:.*]] = arith.divf %[[VAL_241]], %[[VAL_228]] {{.*}} : f32 ! CHECK: %[[VAL_243:.*]] = fir.array_update %[[VAL_234]], %[[VAL_242]], %[[VAL_212]], %[[VAL_216]], %[[VAL_217]], %[[VAL_233]] : (!fir.array}>>, f32, index, index, !fir.field, index) -> !fir.array}>> ! CHECK: fir.result %[[VAL_243]] : !fir.array}>> ! CHECK: } else { @@ -368,7 +368,7 @@ ! CHECK: fir.result %[[VAL_327]] : !fir.array}>> ! CHECK: } else { ! CHECK: %[[VAL_334:.*]] = fir.array_fetch %[[VAL_249]], %[[VAL_316]], %[[VAL_320]], %[[VAL_321]], %[[VAL_326]] : (!fir.array}>>, index, index, !fir.field, index) -> f32 -! CHECK: %[[VAL_335:.*]] = arith.negf %[[VAL_334]] : f32 +! CHECK: %[[VAL_335:.*]] = arith.negf %[[VAL_334]] {{.*}} : f32 ! CHECK: %[[VAL_336:.*]] = fir.array_update %[[VAL_327]], %[[VAL_335]], %[[VAL_306]], %[[VAL_310]], %[[VAL_311]], %[[VAL_326]] : (!fir.array}>>, f32, index, index, !fir.field, index) -> !fir.array}>> ! CHECK: fir.result %[[VAL_336]] : !fir.array}>> ! CHECK: } @@ -380,6 +380,6 @@ ! CHECK: } ! CHECK: fir.array_merge_store %[[VAL_248]], %[[VAL_340:.*]] to %[[VAL_0]] : !fir.array}>>, !fir.array}>>, !fir.box}>>> ! CHECK: %[[VAL_341:.*]] = fir.convert %[[VAL_8]] : (!fir.ref>, !fir.heap>>>) -> !fir.llvm_ptr -! CHECK: %[[VAL_342:.*]] = fir.call @_FortranARaggedArrayDeallocate(%[[VAL_341]]) : (!fir.llvm_ptr) -> none +! CHECK: %[[VAL_342:.*]] = fir.call @_FortranARaggedArrayDeallocate(%[[VAL_341]]) {{.*}} : (!fir.llvm_ptr) -> none ! CHECK: return ! CHECK: } Index: flang/test/Lower/forall/scalar-substring.f90 =================================================================== --- flang/test/Lower/forall/scalar-substring.f90 +++ flang/test/Lower/forall/scalar-substring.f90 @@ -63,7 +63,7 @@ ! CHECK: %[[VAL_51:.*]] = arith.constant false ! CHECK: %[[VAL_52:.*]] = fir.convert %[[VAL_40]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_53:.*]] = fir.convert %[[VAL_24]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_52]], %[[VAL_53]], %[[VAL_50]], %[[VAL_51]]) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_52]], %[[VAL_53]], %[[VAL_50]], %[[VAL_51]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_54:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_55:.*]] = arith.subi %[[VAL_45]], %[[VAL_54]] : index ! CHECK: %[[VAL_56:.*]] = arith.constant 32 : i8 Index: flang/test/Lower/forall/test9.f90 =================================================================== --- flang/test/Lower/forall/test9.f90 +++ flang/test/Lower/forall/test9.f90 @@ -60,7 +60,7 @@ ! CHECK: %[[VAL_42:.*]] = fir.convert %[[VAL_41]] : (i64) -> index ! CHECK: %[[VAL_43:.*]] = arith.subi %[[VAL_42]], %[[VAL_39]] : index ! CHECK: %[[VAL_44:.*]] = fir.array_fetch %[[VAL_28]], %[[VAL_43]] : (!fir.array, index) -> f32 -! CHECK: %[[VAL_45:.*]] = arith.addf %[[VAL_38]], %[[VAL_44]] : f32 +! CHECK: %[[VAL_45:.*]] = arith.addf %[[VAL_38]], %[[VAL_44]] {{.*}} : f32 ! CHECK: %[[VAL_46:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_47:.*]] = fir.load %[[VAL_3]] : !fir.ref ! CHECK: %[[VAL_48:.*]] = arith.constant 1 : i32 Index: flang/test/Lower/goto-statement.f90 =================================================================== --- flang/test/Lower/goto-statement.f90 +++ flang/test/Lower/goto-statement.f90 @@ -8,7 +8,7 @@ ! CHECK-LABEL: sub1 ! CHECK: cf.br ^[[BB1:.*]] ! CHECK: ^[[BB1]]: -! CHECK: {{.*}} fir.call @_FortranAStopStatement({{.*}}, {{.*}}, {{.*}}) : (i32, i1, i1) -> none +! CHECK: {{.*}} fir.call @_FortranAStopStatement({{.*}}, {{.*}}, {{.*}}) {{.*}} : (i32, i1, i1) -> none ! CHECK: } ! Test multiple goto statements @@ -25,7 +25,7 @@ ! CHECK: ^[[BB2]]: ! CHECK: cf.br ^[[BB3:.*]] ! CHECK: ^[[BB3]]: -! CHECK: {{.*}} fir.call @_FortranAStopStatement({{.*}}, {{.*}}, {{.*}}) : (i32, i1, i1) -> none +! CHECK: {{.*}} fir.call @_FortranAStopStatement({{.*}}, {{.*}}, {{.*}}) {{.*}} : (i32, i1, i1) -> none ! CHECK: } ! Test goto which branches to a previous label @@ -36,10 +36,10 @@ 3 goto 2 end subroutine ! CHECK: sub3 -! CHECK: {{.*}} fir.call @_FortranAPauseStatement() : () -> none +! CHECK: {{.*}} fir.call @_FortranAPauseStatement() {{.*}} : () -> none ! CHECK: cf.br ^[[BB2:.*]] ! CHECK: ^[[BB1:.*]]: // -! CHECK: {{.*}} fir.call @_FortranAStopStatement({{.*}}, {{.*}}, {{.*}}) : (i32, i1, i1) -> none +! CHECK: {{.*}} fir.call @_FortranAStopStatement({{.*}}, {{.*}}, {{.*}}) {{.*}} : (i32, i1, i1) -> none ! CHECK: ^[[BB2]]: ! CHECK: cf.br ^[[BB1]] ! CHECK: } @@ -55,7 +55,7 @@ pause end subroutine ! CHECK-LABEL: sub4 -! CHECK: {{.*}} fir.call @_FortranAPauseStatement() : () -> none +! CHECK: {{.*}} fir.call @_FortranAPauseStatement() {{.*}} : () -> none ! CHECK-NEXT: cf.br ^[[BB1:.*]] ! CHECK-NEXT: ^[[BB1]]: ! CHECK-NEXT: cf.br ^[[BB2:.*]] Index: flang/test/Lower/host-associated-functions.f90 =================================================================== --- flang/test/Lower/host-associated-functions.f90 +++ flang/test/Lower/host-associated-functions.f90 @@ -16,7 +16,7 @@ ! CHECK: %[[VAL_5:.*]] = arith.constant 1 : i32 ! CHECK: %[[VAL_6:.*]] = fir.coordinate_of %[[VAL_2]], %[[VAL_5]] : (!fir.ref ()>, i64>, !fir.ref>>, i32) -> !fir.llvm_ptr> ! CHECK: fir.store %[[VAL_1]] to %[[VAL_6]] : !fir.llvm_ptr> - ! CHECK: fir.call @_QFcapture_char_func_dummyPinternal(%[[VAL_2]]) : (!fir.ref ()>, i64>, !fir.ref>>) -> () + ! CHECK: fir.call @_QFcapture_char_func_dummyPinternal(%[[VAL_2]]) {{.*}} : (!fir.ref ()>, i64>, !fir.ref>>) -> () call internal() contains ! CHECK-LABEL: func @_QFcapture_char_func_dummyPinternal( @@ -36,10 +36,10 @@ ! CHECK: %[[C0:.*]] = arith.constant 0 : index ! CHECK: %[[CMPI:.*]] = arith.cmpi sgt, %[[VAL_16]], %[[C0]] : index ! CHECK: %[[SELECT:.*]] = arith.select %[[CMPI]], %[[VAL_16]], %[[C0]] : index - ! CHECK: %[[VAL_17:.*]] = fir.call @llvm.stacksave() : () -> !fir.ref + ! CHECK: %[[VAL_17:.*]] = fir.call @llvm.stacksave() {{.*}} : () -> !fir.ref ! CHECK: %[[VAL_18:.*]] = fir.alloca !fir.char<1,?>(%[[SELECT]] : index) {bindc_name = ".result"} ! CHECK: %[[VAL_19:.*]] = fir.convert %[[VAL_13]] : (() -> ()) -> ((!fir.ref>, index) -> !fir.boxchar<1>) - ! CHECK: %[[VAL_20:.*]] = fir.call %[[VAL_19]](%[[VAL_18]], %[[SELECT]]) : (!fir.ref>, index) -> !fir.boxchar<1> + ! CHECK: %[[VAL_20:.*]] = fir.call %[[VAL_19]](%[[VAL_18]], %[[SELECT]]) {{.*}} : (!fir.ref>, index) -> !fir.boxchar<1> print *, char_func_dummy() end subroutine end subroutine @@ -52,7 +52,7 @@ ! CHECK: %[[VAL_2:.*]] = arith.constant 0 : i32 ! CHECK: %[[VAL_3:.*]] = fir.coordinate_of %[[VAL_1]], %[[VAL_2]] : (!fir.ref ()>, i64>>>, i32) -> !fir.ref ()>, i64>> ! CHECK: fir.store %[[VAL_0]] to %[[VAL_3]] : !fir.ref ()>, i64>> -! CHECK: fir.call @_QFcapture_char_func_assumed_dummyPinternal(%[[VAL_1]]) : (!fir.ref ()>, i64>>>) -> () +! CHECK: fir.call @_QFcapture_char_func_assumed_dummyPinternal(%[[VAL_1]]) {{.*}} : (!fir.ref ()>, i64>>>) -> () call internal() contains ! CHECK-LABEL: func @_QFcapture_char_func_assumed_dummyPinternal( @@ -64,11 +64,11 @@ ! CHECK: %[[VAL_9:.*]] = fir.extract_value %[[VAL_3]], [0 : index] : (tuple ()>, i64>) -> !fir.boxproc<() -> ()> ! CHECK: %[[VAL_10:.*]] = fir.box_addr %[[VAL_9]] : (!fir.boxproc<() -> ()>) -> (() -> ()) ! CHECK: %[[VAL_11:.*]] = fir.extract_value %[[VAL_3]], [1 : index] : (tuple ()>, i64>) -> i64 -! CHECK: %[[VAL_12:.*]] = fir.call @llvm.stacksave() : () -> !fir.ref +! CHECK: %[[VAL_12:.*]] = fir.call @llvm.stacksave() {{.*}} : () -> !fir.ref ! CHECK: %[[VAL_13:.*]] = fir.alloca !fir.char<1,?>(%[[VAL_11]] : i64) {bindc_name = ".result"} ! CHECK: %[[VAL_14:.*]] = fir.convert %[[VAL_10]] : (() -> ()) -> ((!fir.ref>, index) -> !fir.boxchar<1>) ! CHECK: %[[VAL_15:.*]] = fir.convert %[[VAL_11]] : (i64) -> index -! CHECK: %[[VAL_16:.*]] = fir.call %[[VAL_14]](%[[VAL_13]], %[[VAL_15]]) : (!fir.ref>, index) -> !fir.boxchar<1> +! CHECK: %[[VAL_16:.*]] = fir.call %[[VAL_14]](%[[VAL_13]], %[[VAL_15]]) {{.*}} : (!fir.ref>, index) -> !fir.boxchar<1> print *, char_func_dummy() end subroutine end subroutine @@ -81,7 +81,7 @@ ! CHECK: %[[VAL_2:.*]] = arith.constant 0 : i32 ! CHECK: %[[VAL_3:.*]] = fir.coordinate_of %[[VAL_1]], %[[VAL_2]] : (!fir.ref>>, i32) -> !fir.llvm_ptr> ! CHECK: fir.store %[[VAL_0]] to %[[VAL_3]] : !fir.llvm_ptr> -! CHECK: fir.call @_QFcapture_char_funcPinternal(%[[VAL_1]]) : (!fir.ref>>) -> () +! CHECK: fir.call @_QFcapture_char_funcPinternal(%[[VAL_1]]) {{.*}} : (!fir.ref>>) -> () call internal() contains ! CHECK-LABEL: func @_QFcapture_char_funcPinternal( @@ -105,7 +105,7 @@ ! CHECK: %[[VAL_2:.*]] = arith.constant 0 : i32 ! CHECK: %[[VAL_3:.*]] = fir.coordinate_of %[[VAL_1]], %[[VAL_2]] : (!fir.ref>>, i32) -> !fir.llvm_ptr> ! CHECK: fir.store %[[VAL_0]] to %[[VAL_3]] : !fir.llvm_ptr> -! CHECK: fir.call @_QFcapture_array_funcPinternal(%[[VAL_1]]) : (!fir.ref>>) -> () +! CHECK: fir.call @_QFcapture_array_funcPinternal(%[[VAL_1]]) {{.*}} : (!fir.ref>>) -> () call internal() contains subroutine internal() @@ -124,7 +124,7 @@ ! CHECK: %[[C0:.*]] = arith.constant 0 : index ! CHECK: %[[CMPI:.*]] = arith.cmpi sgt, %[[VAL_15]], %[[C0]] : index ! CHECK: %[[SELECT:.*]] = arith.select %[[CMPI]], %[[VAL_15]], %[[C0]] : index -! CHECK: %[[VAL_16:.*]] = fir.call @llvm.stacksave() : () -> !fir.ref +! CHECK: %[[VAL_16:.*]] = fir.call @llvm.stacksave() {{.*}} : () -> !fir.ref ! CHECK: %[[VAL_17:.*]] = fir.alloca !fir.array, %[[SELECT]] {bindc_name = ".result"} print *, array_func() end subroutine @@ -143,7 +143,7 @@ subroutine use_module() ! verify there is no capture triggers by the interface. use define_char_func -! CHECK: fir.call @_QFuse_modulePinternal() : () -> () +! CHECK: fir.call @_QFuse_modulePinternal() {{.*}} : () -> () call internal() contains ! CHECK-LABEL: func @_QFuse_modulePinternal() { Index: flang/test/Lower/host-associated.f90 =================================================================== --- flang/test/Lower/host-associated.f90 +++ flang/test/Lower/host-associated.f90 @@ -15,7 +15,7 @@ ! CHECK-DAG: %[[tup:.*]] = fir.alloca tuple> ! CHECK: %[[addr:.*]] = fir.coordinate_of %[[tup]], %c0 ! CHECK: fir.store %[[i]] to %[[addr]] : !fir.llvm_ptr> - ! CHECK: fir.call @_QFtest1Ptest1_internal(%[[tup]]) : (!fir.ref>>) -> () + ! CHECK: fir.call @_QFtest1Ptest1_internal(%[[tup]]) {{.*}} : (!fir.ref>>) -> () call test1_internal print *, i contains @@ -23,7 +23,7 @@ ! CHECK-SAME: %[[arg:[^:]*]]: !fir.ref>> {fir.host_assoc}) { ! CHECK: %[[iaddr:.*]] = fir.coordinate_of %[[arg]], %c0 ! CHECK: %[[i:.*]] = fir.load %[[iaddr]] : !fir.llvm_ptr> - ! CHECK: %[[val:.*]] = fir.call @_QPifoo() : () -> i32 + ! CHECK: %[[val:.*]] = fir.call @_QPifoo() {{.*}} : () -> i32 ! CHECK: fir.store %[[val]] to %[[i]] : !fir.ref subroutine test1_internal integer, external :: ifoo @@ -42,7 +42,7 @@ ! CHECK: fir.store %{{.*}} to %[[a0]] : !fir.llvm_ptr> ! CHECK: %[[b0:.*]] = fir.coordinate_of %[[tup]], %c1 ! CHECK: fir.store %{{.*}} to %[[b0]] : !fir.llvm_ptr> - ! CHECK: fir.call @_QFtest2Ptest2_internal(%[[tup]]) : (!fir.ref, !fir.ref>>) -> () + ! CHECK: fir.call @_QFtest2Ptest2_internal(%[[tup]]) {{.*}} : (!fir.ref, !fir.ref>>) -> () call test2_internal print *, a, b contains @@ -90,7 +90,7 @@ ! CHECK: %[[coor:.*]] = fir.coordinate_of %[[tup]], %c0{{.*}} : (!fir.ref>>, i32) -> !fir.ref> ! CHECK: %[[emboxchar:.*]] = fir.emboxchar %[[cunbox]]#0, %[[cunbox]]#1 : (!fir.ref>, index) -> !fir.boxchar<1> ! CHECK: fir.store %[[emboxchar]] to %[[coor]] : !fir.ref> - ! CHECK: fir.call @_QFtest6Ptest6_inner(%[[tup]]) : (!fir.ref>>) -> () + ! CHECK: fir.call @_QFtest6Ptest6_inner(%[[tup]]) {{.*}} : (!fir.ref>>) -> () call test6_inner print *, c @@ -129,7 +129,7 @@ i = i + 1 q = -42.0 - ! CHECK: fir.call @_QFtest3Ptest3_inner(%[[tup]]) : (!fir.ref>, !fir.box>>>) -> () + ! CHECK: fir.call @_QFtest3Ptest3_inner(%[[tup]]) {{.*}} : (!fir.ref>, !fir.box>>>) -> () call test3_inner if (p(2) .ne. -42.0) then @@ -176,7 +176,7 @@ ! CHECK: fir.store %[[qbox]] to %[[qtup]] : !fir.ref>> q = -42.0 - ! CHECK: fir.call @_QFtest3aPtest3a_inner(%[[tup]]) : (!fir.ref>, !fir.box>>>) -> () + ! CHECK: fir.call @_QFtest3aPtest3a_inner(%[[tup]]) {{.*}} : (!fir.ref>, !fir.box>>>) -> () call test3a_inner if (p(1) .ne. -42.0) then @@ -217,7 +217,7 @@ ! CHECK: fir.store %[[p]] to %[[ptup]] : !fir.llvm_ptr>>> ! CHECK: %[[atup:.*]] = fir.coordinate_of %[[tup]], %c1{{.*}} : (!fir.ref>>, !fir.ref>>>>, i32) -> !fir.llvm_ptr>>> ! CHECK: fir.store %[[ally]] to %[[atup]] : !fir.llvm_ptr>>> - ! CHECK: fir.call @_QFtest4Ptest4_inner(%[[tup]]) : (!fir.ref>>, !fir.ref>>>>) -> () + ! CHECK: fir.call @_QFtest4Ptest4_inner(%[[tup]]) {{.*}} : (!fir.ref>>, !fir.ref>>>>) -> () allocate(ally) ally = -42.0 @@ -259,7 +259,7 @@ ! CHECK: fir.store %[[p]] to %[[ptup]] : !fir.llvm_ptr>>>> ! CHECK: %[[atup:.*]] = fir.coordinate_of %[[tup]], %c1{{.*}} : (!fir.ref>>>, !fir.ref>>>>>, i32) -> !fir.llvm_ptr>>>> ! CHECK: fir.store %[[ally]] to %[[atup]] : !fir.llvm_ptr>>>> - ! CHECK: fir.call @_QFtest5Ptest5_inner(%[[tup]]) : (!fir.ref>>>, !fir.ref>>>>>) -> () + ! CHECK: fir.call @_QFtest5Ptest5_inner(%[[tup]]) {{.*}} : (!fir.ref>>>, !fir.ref>>>>>) -> () allocate(ally(10)) ally = -42.0 @@ -304,7 +304,7 @@ ! CHECK: fir.store %[[j]] to %[[jtup]] : !fir.llvm_ptr> ! CHECK: %[[kelem:.*]] = fir.array_coor %[[k]] %{{.*}} : (!fir.box>, index) -> !fir.ref - ! CHECK: fir.call @_QFtest7Ptest7_inner(%[[kelem]], %[[tup]]) : (!fir.ref, !fir.ref>>) -> i32 + ! CHECK: fir.call @_QFtest7Ptest7_inner(%[[kelem]], %[[tup]]) {{.*}} : (!fir.ref, !fir.ref>>) -> i32 k = test7_inner(k) contains @@ -378,7 +378,7 @@ ! CHECK: %[[tupAddr:.*]] = fir.coordinate_of %[[tup]], %c0{{.*}} : (!fir.ref ()>>>, i32) -> !fir.ref ()>> ! CHECK: %[[dummyProc:.*]] = fir.load %[[tupAddr]] : !fir.ref ()>> ! CHECK: %[[dummyProcCast:.*]] = fir.box_addr %[[dummyProc]] : (!fir.boxproc<() -> ()>) -> ((!fir.ref) -> f32) - ! CHECK: fir.call %[[dummyProcCast]](%{{.*}}) : (!fir.ref) -> f32 + ! CHECK: fir.call %[[dummyProcCast]](%{{.*}}) {{.*}} : (!fir.ref) -> f32 print *, dummy_proc(42.) end subroutine end subroutine @@ -398,7 +398,7 @@ ! CHECK: %[[tupAddr:.*]] = fir.coordinate_of %[[tup]], %c0{{.*}} : (!fir.ref ()>>>, i32) -> !fir.ref ()>> ! CHECK: %[[dummyProc:.*]] = fir.load %[[tupAddr]] : !fir.ref ()>> ! CHECK: %[[pa:.*]] = fir.box_addr %[[dummyProc]] - ! CHECK: fir.call %[[pa]]() : () -> () + ! CHECK: fir.call %[[pa]]() {{.*}} : () -> () call dummy_proc() end subroutine end subroutine @@ -412,7 +412,7 @@ namelist /a_namelist/ i ! CHECK: %[[tupAddr:.*]] = fir.coordinate_of %[[tup:.*]], %c0{{.*}} : (!fir.ref>>>>>, i32) -> !fir.llvm_ptr>>>> ! CHECK: fir.store %[[i]] to %[[tupAddr]] : !fir.llvm_ptr>>>> - ! CHECK: fir.call @_QFtest10Pbar(%[[tup]]) : (!fir.ref>>>>>) -> () + ! CHECK: fir.call @_QFtest10Pbar(%[[tup]]) {{.*}} : (!fir.ref>>>>>) -> () call bar() contains ! CHECK-LABEL: func @_QFtest10Pbar( @@ -431,7 +431,7 @@ ! CHECK: %[[VAL_5:.*]] = fir.alloca tuple> ! CHECK: %[[VAL_7:.*]] = fir.address_of(@_QFtest_proc_dummyPtest_proc_dummy_a) : (!fir.ref, !fir.ref>>) -> () ! CHECK: %[[VAL_8:.*]] = fir.emboxproc %[[VAL_7]], %[[VAL_5]] : ((!fir.ref, !fir.ref>>) -> (), !fir.ref>>) -> !fir.boxproc<() -> ()> -! CHECK: fir.call @_QPtest_proc_dummy_other(%[[VAL_8]]) : (!fir.boxproc<() -> ()>) -> () +! CHECK: fir.call @_QPtest_proc_dummy_other(%[[VAL_8]]) {{.*}} : (!fir.boxproc<() -> ()>) -> () ! CHECK-LABEL: func @_QFtest_proc_dummyPtest_proc_dummy_a( ! CHECK-SAME: %[[VAL_0:.*]]: !fir.ref {fir.bindc_name = "j"}, @@ -452,7 +452,7 @@ ! CHECK: %[[VAL_2:.*]] = fir.alloca i32 {adapt.valuebyref} ! CHECK: fir.store %[[VAL_1]] to %[[VAL_2]] : !fir.ref ! CHECK: %[[VAL_3:.*]] = fir.box_addr %[[VAL_0]] : (!fir.boxproc<() -> ()>) -> ((!fir.ref) -> ()) -! CHECK: fir.call %[[VAL_3]](%[[VAL_2]]) : (!fir.ref) -> () +! CHECK: fir.call %[[VAL_3]](%[[VAL_2]]) {{.*}} : (!fir.ref) -> () ! CHECK: return ! CHECK: } @@ -493,7 +493,7 @@ ! CHECK: %[[VAL_18:.*]] = fir.convert %[[VAL_2]] : (index) -> i64 ! CHECK: %[[VAL_19:.*]] = fir.convert %[[VAL_12]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_20:.*]] = fir.convert %[[VAL_17]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_19]], %[[VAL_20]], %[[VAL_18]], %[[VAL_3]]) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_19]], %[[VAL_20]], %[[VAL_18]], %[[VAL_3]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_21:.*]] = fir.undefined !fir.char<1> ! CHECK: %[[VAL_22:.*]] = fir.insert_value %[[VAL_21]], %[[VAL_5]], [0 : index] : (!fir.char<1>, i8) -> !fir.char<1> ! CHECK: br ^bb1(%[[VAL_2]], %[[VAL_4]] : index, index) @@ -510,19 +510,19 @@ ! CHECK: ^bb3: ! CHECK: %[[VAL_30:.*]] = fir.address_of(@_QQcl.{{.*}}) : !fir.ref>) -> !fir.ref -! CHECK: %[[VAL_32:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_6]], %[[VAL_31]], %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref +! CHECK: %[[VAL_32:.*]] = fir.call @_FortranAioBeginExternalListOutput(%[[VAL_6]], %[[VAL_31]], %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_33:.*]] = fir.address_of(@_QFtest_proc_dummy_charPgen_message) : (!fir.ref>, index, !fir.ref>>) -> !fir.boxchar<1> ! CHECK: %[[VAL_34:.*]] = fir.emboxproc %[[VAL_33]], %[[VAL_13]] : ((!fir.ref>, index, !fir.ref>>) -> !fir.boxchar<1>, !fir.ref>>) -> !fir.boxproc<() -> ()> ! CHECK: %[[VAL_35:.*]] = fir.undefined tuple ()>, i64> ! CHECK: %[[VAL_36:.*]] = fir.insert_value %[[VAL_35]], %[[VAL_34]], [0 : index] : (tuple ()>, i64>, !fir.boxproc<() -> ()>) -> tuple ()>, i64> ! CHECK: %[[VAL_37:.*]] = fir.insert_value %[[VAL_36]], %[[VAL_8]], [1 : index] : (tuple ()>, i64>, i64) -> tuple ()>, i64> -! CHECK: %[[VAL_38:.*]] = fir.call @llvm.stacksave() : () -> !fir.ref -! CHECK: %[[VAL_39:.*]] = fir.call @_QPget_message(%[[VAL_11]], %[[VAL_9]], %[[VAL_37]]) : (!fir.ref>, index, tuple ()>, i64>) -> !fir.boxchar<1> +! CHECK: %[[VAL_38:.*]] = fir.call @llvm.stacksave() {{.*}} : () -> !fir.ref +! CHECK: %[[VAL_39:.*]] = fir.call @_QPget_message(%[[VAL_11]], %[[VAL_9]], %[[VAL_37]]) {{.*}} : (!fir.ref>, index, tuple ()>, i64>) -> !fir.boxchar<1> ! CHECK: %[[VAL_40:.*]] = fir.convert %[[VAL_11]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_41:.*]] = fir.convert %[[VAL_9]] : (index) -> i64 -! CHECK: %[[VAL_42:.*]] = fir.call @_FortranAioOutputAscii(%[[VAL_32]], %[[VAL_40]], %[[VAL_41]]) : (!fir.ref, !fir.ref, i64) -> i1 -! CHECK: fir.call @llvm.stackrestore(%[[VAL_38]]) : (!fir.ref) -> () -! CHECK: %[[VAL_43:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_32]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_42:.*]] = fir.call @_FortranAioOutputAscii(%[[VAL_32]], %[[VAL_40]], %[[VAL_41]]) {{.*}} : (!fir.ref, !fir.ref, i64) -> i1 +! CHECK: fir.call @llvm.stackrestore(%[[VAL_38]]) {{.*}} : (!fir.ref) -> () +! CHECK: %[[VAL_43:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_32]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: return ! CHECK: } @@ -545,7 +545,7 @@ ! CHECK: %[[VAL_15:.*]] = fir.convert %[[VAL_14]] : (index) -> i64 ! CHECK: %[[VAL_16:.*]] = fir.convert %[[VAL_12]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_17:.*]] = fir.convert %[[VAL_11]]#0 : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_16]], %[[VAL_17]], %[[VAL_15]], %[[VAL_5]]) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_16]], %[[VAL_17]], %[[VAL_15]], %[[VAL_5]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_18:.*]] = fir.undefined !fir.char<1> ! CHECK: %[[VAL_19:.*]] = fir.insert_value %[[VAL_18]], %[[VAL_7]], [0 : index] : (!fir.char<1>, i8) -> !fir.char<1> ! CHECK: %[[VAL_20:.*]] = arith.subi %[[VAL_4]], %[[VAL_14]] : index @@ -580,17 +580,17 @@ ! CHECK: %[[VAL_11:.*]] = fir.extract_value %[[VAL_2]], [0 : index] : (tuple ()>, i64>) -> !fir.boxproc<() -> ()> ! CHECK: %[[VAL_12:.*]] = fir.box_addr %[[VAL_11]] : (!fir.boxproc<() -> ()>) -> (() -> ()) ! CHECK: %[[VAL_13:.*]] = fir.extract_value %[[VAL_2]], [1 : index] : (tuple ()>, i64>) -> i64 -! CHECK: %[[VAL_14:.*]] = fir.call @llvm.stacksave() : () -> !fir.ref +! CHECK: %[[VAL_14:.*]] = fir.call @llvm.stacksave() {{.*}} : () -> !fir.ref ! CHECK: %[[VAL_15:.*]] = fir.alloca !fir.char<1,?>(%[[VAL_13]] : i64) {bindc_name = ".result"} ! CHECK: %[[VAL_16:.*]] = fir.convert %[[VAL_12]] : (() -> ()) -> ((!fir.ref>, index) -> !fir.boxchar<1>) ! CHECK: %[[VAL_17:.*]] = fir.convert %[[VAL_13]] : (i64) -> index -! CHECK: %[[VAL_18:.*]] = fir.call %[[VAL_16]](%[[VAL_15]], %[[VAL_17]]) : (!fir.ref>, index) -> !fir.boxchar<1> +! CHECK: %[[VAL_18:.*]] = fir.call %[[VAL_16]](%[[VAL_15]], %[[VAL_17]]) {{.*}} : (!fir.ref>, index) -> !fir.boxchar<1> ! CHECK: %[[VAL_19:.*]] = arith.addi %[[VAL_17]], %[[VAL_4]] : index ! CHECK: %[[VAL_20:.*]] = fir.alloca !fir.char<1,?>(%[[VAL_19]] : index) {bindc_name = ".chrtmp"} ! CHECK: %[[VAL_21:.*]] = fir.convert %[[VAL_4]] : (index) -> i64 ! CHECK: %[[VAL_22:.*]] = fir.convert %[[VAL_20]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_23:.*]] = fir.convert %[[VAL_10]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_22]], %[[VAL_23]], %[[VAL_21]], %[[VAL_5]]) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_22]], %[[VAL_23]], %[[VAL_21]], %[[VAL_5]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: br ^bb1(%[[VAL_4]], %[[VAL_17]] : index, index) ! CHECK: ^bb1(%[[VAL_24:.*]]: index, %[[VAL_25:.*]]: index): ! CHECK: %[[VAL_26:.*]] = arith.cmpi sgt, %[[VAL_25]], %[[VAL_8]] : index @@ -611,7 +611,7 @@ ! CHECK: %[[VAL_36:.*]] = arith.select %[[VAL_35]], %[[VAL_3]], %[[VAL_19]] : index ! CHECK: %[[VAL_37:.*]] = fir.convert %[[VAL_36]] : (index) -> i64 ! CHECK: %[[VAL_38:.*]] = fir.convert %[[VAL_9]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_38]], %[[VAL_22]], %[[VAL_37]], %[[VAL_5]]) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_38]], %[[VAL_22]], %[[VAL_37]], %[[VAL_5]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_39:.*]] = fir.undefined !fir.char<1> ! CHECK: %[[VAL_40:.*]] = fir.insert_value %[[VAL_39]], %[[VAL_7]], [0 : index] : (!fir.char<1>, i8) -> !fir.char<1> ! CHECK: %[[VAL_41:.*]] = arith.subi %[[VAL_3]], %[[VAL_36]] : index @@ -627,7 +627,7 @@ ! CHECK: %[[VAL_48:.*]] = arith.subi %[[VAL_43]], %[[VAL_6]] : index ! CHECK: br ^bb4(%[[VAL_47]], %[[VAL_48]] : index, index) ! CHECK: ^bb6: -! CHECK: fir.call @llvm.stackrestore(%[[VAL_14]]) : (!fir.ref) -> () +! CHECK: fir.call @llvm.stackrestore(%[[VAL_14]]) {{.*}} : (!fir.ref) -> () ! CHECK: %[[VAL_49:.*]] = fir.emboxchar %[[VAL_9]], %[[VAL_3]] : (!fir.ref>, index) -> !fir.boxchar<1> ! CHECK: return %[[VAL_49]] : !fir.boxchar<1> ! CHECK: } @@ -654,7 +654,7 @@ ! CHECK-LABEL: func @_QPtest_11a() { ! CHECK: %[[a:.*]] = fir.address_of(@_QPtest_11b) : () -> () ! CHECK: %[[b:.*]] = fir.emboxproc %[[a]] : (() -> ()) -> !fir.boxproc<() -> ()> -! CHECK: fir.call @_QPtest_11c(%[[b]], %{{.*}}) : (!fir.boxproc<() -> ()>, !fir.ref) -> () +! CHECK: fir.call @_QPtest_11c(%[[b]], %{{.*}}) {{.*}} : (!fir.boxproc<() -> ()>, !fir.ref) -> () ! CHECK: func private @_QPtest_11c(!fir.boxproc<() -> ()>, !fir.ref) subroutine test_11a Index: flang/test/Lower/implicit-interface.f90 =================================================================== --- flang/test/Lower/implicit-interface.f90 +++ flang/test/Lower/implicit-interface.f90 @@ -10,7 +10,7 @@ ! CHECK-LABEL: @_QPtest_char_return_caller() subroutine test_char_return_caller character(10) :: char_return_caller - ! CHECK: fir.call @_QPchar_return_caller({{.*}}) : (!fir.ref>, index, !fir.ref) -> !fir.boxchar<1> + ! CHECK: fir.call @_QPchar_return_caller({{.*}}) {{.*}} : (!fir.ref>, index, !fir.ref) -> !fir.boxchar<1> print *, char_return_caller(5) end subroutine @@ -22,7 +22,7 @@ ! CHECK-DAG: %[[c3:.*]] = arith.constant 3 : index ! CHECK-DAG: %[[xbuff:.*]] = fir.convert %[[xarray]] : (!fir.ref>>) -> !fir.ref> ! CHECK: %[[boxchar:.*]] = fir.emboxchar %[[xbuff]], %[[c3]] : (!fir.ref>, index) -> !fir.boxchar<1> - ! CHECK: fir.call @_QPsub_taking_a_char_array(%[[boxchar]]) : (!fir.boxchar<1>) -> () + ! CHECK: fir.call @_QPsub_taking_a_char_array(%[[boxchar]]) {{.*}} : (!fir.boxchar<1>) -> () end subroutine ! TODO more implicit interface cases with/without explicit interface Index: flang/test/Lower/intentout-deallocate.f90 =================================================================== --- flang/test/Lower/intentout-deallocate.f90 +++ flang/test/Lower/intentout-deallocate.f90 @@ -67,7 +67,7 @@ ! CHECK: fir.freemem %[[LOAD]] : !fir.heap> ! CHECK: %[[ZERO:.*]] = fir.zero_bits !fir.heap> ! CHECK: fir.store %[[ZERO]] to %[[BOX_ALLOC]] : !fir.ref>> -! CHECK: fir.call @sub3(%[[BOX]]) : (!fir.ref>>>) -> () +! CHECK: fir.call @sub3(%[[BOX]]) {{.*}} : (!fir.ref>>>) -> () subroutine sub4() type(t1), allocatable :: t @@ -84,7 +84,7 @@ ! CHECK-LABEL: func.func @_QMmod1Psub4() ! CHECK: %[[BOX:.*]] = fir.alloca !fir.box>> {bindc_name = "t", uniq_name = "_QMmod1Fsub4Et"} ! CHECK-NOT: fir.call @_FortranAAllocatableDeallocate -! CHECK: fir.call @_QMmod1Psub5(%[[BOX]]) : (!fir.ref>>>) -> () +! CHECK: fir.call @_QMmod1Psub5(%[[BOX]]) {{.*}} : (!fir.ref>>>) -> () ! Check deallocation of allocatble intent(out) on the callee side. Deallocation ! is done with a runtime call. @@ -92,7 +92,7 @@ ! CHECK-LABEL: func.func @_QMmod1Psub5( ! CHECK-SAME: %[[ARG0:.*]]: !fir.ref>>> {fir.bindc_name = "t"}) ! CHECK: %[[BOX_NONE:.*]] = fir.convert %[[ARG0]] : (!fir.ref>>>) -> !fir.ref> -! CHECK: %{{.*}} = fir.call @_FortranAAllocatableDeallocate(%[[BOX_NONE]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 +! CHECK: %{{.*}} = fir.call @_FortranAAllocatableDeallocate(%[[BOX_NONE]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 subroutine sub6() type(t1), allocatable :: t @@ -105,8 +105,8 @@ ! CHECK-LABEL: func.func @_QMmod1Psub6() ! CHECK: %[[BOX:.*]] = fir.alloca !fir.box>> {bindc_name = "t", uniq_name = "_QMmod1Fsub6Et"} ! CHECK: %[[BOX_NONE:.*]] = fir.convert %[[BOX]] : (!fir.ref>>>) -> !fir.ref> -! CHECK: %{{.*}} = fir.call @_FortranAAllocatableDeallocate(%[[BOX_NONE]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 -! CHECK: fir.call @sub7(%[[BOX]]) : (!fir.ref>>>) -> () +! CHECK: %{{.*}} = fir.call @_FortranAAllocatableDeallocate(%[[BOX_NONE]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 +! CHECK: fir.call @sub7(%[[BOX]]) {{.*}} : (!fir.ref>>>) -> () subroutine sub8() integer, allocatable :: a(:) Index: flang/test/Lower/io-char-array.f90 =================================================================== --- flang/test/Lower/io-char-array.f90 +++ flang/test/Lower/io-char-array.f90 @@ -24,4 +24,4 @@ ! CHECK: %[[BOX_R_NONE:.*]] = fir.convert %[[BOX_R]] : (!fir.box>>) -> !fir.box ! CHECK: %[[DATA:.*]] = fir.address_of(@_QQcl.{{.*}}) : !fir.ref> ! CHECK: %[[DATA_PTR:.*]] = fir.convert %8 : (!fir.ref>) -> !fir.ref -! CHECK: %{{.*}} = fir.call @_FortranAioBeginInternalArrayFormattedOutput(%[[BOX_R_NONE]], %[[DATA_PTR]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) : (!fir.box, !fir.ref, i64, !fir.box, !fir.ref>, i64, !fir.ref, i32) -> !fir.ref +! CHECK: %{{.*}} = fir.call @_FortranAioBeginInternalArrayFormattedOutput(%[[BOX_R_NONE]], %[[DATA_PTR]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.box, !fir.ref, i64, !fir.box, !fir.ref>, i64, !fir.ref, i32) -> !fir.ref Index: flang/test/Lower/io-item-list.f90 =================================================================== --- flang/test/Lower/io-item-list.f90 +++ flang/test/Lower/io-item-list.f90 @@ -9,7 +9,7 @@ write(1, rec=1) c ! CHECK: %[[box:.*]] = fir.embox %[[unbox]]#0 typeparams %[[unbox]]#1 : (!fir.ref>, index) -> !fir.box> ! CHECK: %[[castedBox:.*]] = fir.convert %[[box]] : (!fir.box>) -> !fir.box - ! CHECK: fir.call @_FortranAioOutputDescriptor(%{{.*}}, %[[castedBox]]) : (!fir.ref, !fir.box) -> i1 + ! CHECK: fir.call @_FortranAioOutputDescriptor(%{{.*}}, %[[castedBox]]) {{.*}} : (!fir.ref, !fir.box) -> i1 end ! CHECK-LABEL: func @_QPpass_assumed_len_char_array @@ -22,7 +22,7 @@ ! CHECK-DAG: %[[shape:.*]] = fir.shape %[[c2]], %[[c3]] : (index, index) -> !fir.shape<2> ! CHECK: %[[box:.*]] = fir.embox %[[buffer]](%[[shape]]) typeparams %[[unboxed]]#1 : (!fir.ref>>, !fir.shape<2>, index) -> !fir.box>> ! CHECK: %[[descriptor:.*]] = fir.convert %[[box]] : (!fir.box>>) -> !fir.box - ! CHECK: fir.call @_FortranAioOutputDescriptor(%{{.*}}, %[[descriptor]]) : (!fir.ref, !fir.box) -> i1 + ! CHECK: fir.call @_FortranAioOutputDescriptor(%{{.*}}, %[[descriptor]]) {{.*}} : (!fir.ref, !fir.box) -> i1 print *, carray end @@ -32,7 +32,7 @@ ! CHECK: %[[VAL_2:.*]] = fir.address_of(@_QQcl.{{.*}}) : !fir.ref>) -> !fir.ref ! CHECK: %[[VAL_4:.*]] = arith.constant {{[0-9]+}} : i32 -! CHECK: %[[VAL_5:.*]] = fir.call @_FortranAioBeginExternalListInput(%[[VAL_1]], %[[VAL_3]], %[[VAL_4]]) : (i32, !fir.ref, i32) -> !fir.ref +! CHECK: %[[VAL_5:.*]] = fir.call @_FortranAioBeginExternalListInput(%[[VAL_1]], %[[VAL_3]], %[[VAL_4]]) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_6:.*]] = arith.constant 101 : i64 ! CHECK: %[[VAL_7:.*]] = fir.convert %[[VAL_6]] : (i64) -> index ! CHECK: %[[VAL_8:.*]] = arith.constant 2 : i64 @@ -42,8 +42,8 @@ ! CHECK: %[[VAL_12:.*]] = fir.slice %[[VAL_7]], %[[VAL_11]], %[[VAL_9]] : (index, index, index) -> !fir.slice<1> ! CHECK: %[[VAL_13:.*]] = fir.rebox %[[VAL_0]] {{\[}}%[[VAL_12]]] : (!fir.box>, !fir.slice<1>) -> !fir.box> ! CHECK: %[[VAL_14:.*]] = fir.convert %[[VAL_13]] : (!fir.box>) -> !fir.box -! CHECK: %[[VAL_15:.*]] = fir.call @_FortranAioInputDescriptor(%[[VAL_5]], %[[VAL_14]]) : (!fir.ref, !fir.box) -> i1 -! CHECK: %[[VAL_16:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_5]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_15:.*]] = fir.call @_FortranAioInputDescriptor(%[[VAL_5]], %[[VAL_14]]) {{.*}} : (!fir.ref, !fir.box) -> i1 +! CHECK: %[[VAL_16:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_5]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: return ! CHECK: } @@ -58,10 +58,10 @@ ! CHECK: %[[VAL_2:.*]] = fir.address_of(@_QQcl.{{.*}}) : !fir.ref>) -> !fir.ref ! CHECK: %[[VAL_4:.*]] = arith.constant {{[0-9]+}} : i32 -! CHECK: %[[VAL_5:.*]] = fir.call @_FortranAioBeginUnformattedOutput(%[[VAL_1]], %[[VAL_3]], %[[VAL_4]]) : (i32, !fir.ref, i32) -> !fir.ref +! CHECK: %[[VAL_5:.*]] = fir.call @_FortranAioBeginUnformattedOutput(%[[VAL_1]], %[[VAL_3]], %[[VAL_4]]) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_6:.*]] = arith.constant 1 : i32 ! CHECK: %[[VAL_7:.*]] = fir.convert %[[VAL_6]] : (i32) -> i64 -! CHECK: %[[VAL_8:.*]] = fir.call @_FortranAioSetRec(%[[VAL_5]], %[[VAL_7]]) : (!fir.ref, i64) -> i1 +! CHECK: %[[VAL_8:.*]] = fir.call @_FortranAioSetRec(%[[VAL_5]], %[[VAL_7]]) {{.*}} : (!fir.ref, i64) -> i1 ! CHECK: %[[VAL_9:.*]] = arith.constant 101 : i64 ! CHECK: %[[VAL_10:.*]] = fir.convert %[[VAL_9]] : (i64) -> index ! CHECK: %[[VAL_11:.*]] = arith.constant 2 : i64 @@ -71,8 +71,8 @@ ! CHECK: %[[VAL_15:.*]] = fir.slice %[[VAL_10]], %[[VAL_14]], %[[VAL_12]] : (index, index, index) -> !fir.slice<1> ! CHECK: %[[VAL_16:.*]] = fir.rebox %[[VAL_0]] {{\[}}%[[VAL_15]]] : (!fir.box>, !fir.slice<1>) -> !fir.box> ! CHECK: %[[VAL_17:.*]] = fir.convert %[[VAL_16]] : (!fir.box>) -> !fir.box -! CHECK: %[[VAL_18:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_5]], %[[VAL_17]]) : (!fir.ref, !fir.box) -> i1 -! CHECK: %[[VAL_19:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_5]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_18:.*]] = fir.call @_FortranAioOutputDescriptor(%[[VAL_5]], %[[VAL_17]]) {{.*}} : (!fir.ref, !fir.box) -> i1 +! CHECK: %[[VAL_19:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_5]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: return ! CHECK: } @@ -103,7 +103,7 @@ ! CHECK: fir.array_merge_store %[[tempload]], %[[copy]] to %[[temp]] : !fir.array<10xf32>, !fir.array<10xf32>, !fir.heap> ! CHECK: %[[embox:.*]] = fir.embox %[[temp]](%{{.*}}) : (!fir.heap>, !fir.shape<1>) -> !fir.box> ! CHECK: %[[boxCast:.*]] = fir.convert %[[embox]] : (!fir.box>) -> !fir.box - ! CHECK: fir.call @_FortranAioOutputDescriptor(%{{.*}}, %[[boxCast]]) : (!fir.ref, !fir.box) -> i1 + ! CHECK: fir.call @_FortranAioOutputDescriptor(%{{.*}}, %[[boxCast]]) {{.*}} : (!fir.ref, !fir.box) -> i1 ! CHECK: fir.freemem %[[temp]] : !fir.heap> write(1, rec=1) x(j) end Index: flang/test/Lower/io-statement-1.f90 =================================================================== --- flang/test/Lower/io-statement-1.f90 +++ flang/test/Lower/io-statement-1.f90 @@ -90,56 +90,56 @@ ! CHARACTER ! CHECK: %[[sugar:.*]] = fir.call {{.*}}BeginInquireUnit - ! CHECK: call {{.*}}InquireCharacter(%[[sugar]], %c{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref, i64, !fir.ref, i64) -> i1 + ! CHECK: call {{.*}}InquireCharacter(%[[sugar]], %c{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref, i64, !fir.ref, i64) -> i1 ! CHECK: call {{.*}}EndIoStatement inquire(88, name=ch) ! INTEGER ! CHECK: %[[oatmeal:.*]] = fir.call {{.*}}BeginInquireUnit - ! CHECK: call @_FortranAioInquireInteger64(%[[oatmeal]], %c{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref, i64, !fir.ref, i32) -> i1 + ! CHECK: call @_FortranAioInquireInteger64(%[[oatmeal]], %c{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref, i64, !fir.ref, i32) -> i1 ! CHECK: call {{.*}}EndIoStatement inquire(89, pos=i) ! LOGICAL ! CHECK: %[[snicker:.*]] = fir.call {{.*}}BeginInquireUnit - ! CHECK: call @_FortranAioInquireLogical(%[[snicker]], %c{{.*}}, %[[b:.*]]) : (!fir.ref, i64, !fir.ref) -> i1 + ! CHECK: call @_FortranAioInquireLogical(%[[snicker]], %c{{.*}}, %[[b:.*]]) {{.*}} : (!fir.ref, i64, !fir.ref) -> i1 ! CHECK: call {{.*}}EndIoStatement inquire(90, opened=b) ! PENDING with ID ! CHECK-DAG: %[[chip:.*]] = fir.call {{.*}}BeginInquireUnit ! CHECK-DAG: fir.call @_QPid_func - ! CHECK: call @_FortranAioInquirePendingId(%[[chip]], %{{.*}}, %{{.*}}) : (!fir.ref, i64, !fir.ref) -> i1 + ! CHECK: call @_FortranAioInquirePendingId(%[[chip]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref, i64, !fir.ref) -> i1 ! CHECK: call {{.*}}EndIoStatement inquire(91, id=id_func(), pending=b) end subroutine inquire_test ! CHECK-LABEL: @_QPboz subroutine boz - ! CHECK: fir.call @_FortranAioOutputInteger8(%{{.*}}, %{{.*}}) : (!fir.ref, i8) -> i1 - ! CHECK: fir.call @_FortranAioOutputInteger16(%{{.*}}, %{{.*}}) : (!fir.ref, i16) -> i1 - ! CHECK: fir.call @_FortranAioOutputInteger32(%{{.*}}, %{{.*}}) : (!fir.ref, i32) -> i1 - ! CHECK: fir.call @_FortranAioOutputInteger64(%{{.*}}, %{{.*}}) : (!fir.ref, i64) -> i1 - ! CHECK: fir.call @_FortranAioOutputInteger128(%{{.*}}, %{{.*}}) : (!fir.ref, i128) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger8(%{{.*}}, %{{.*}}) {{.*}} : (!fir.ref, i8) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger16(%{{.*}}, %{{.*}}) {{.*}} : (!fir.ref, i16) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger32(%{{.*}}, %{{.*}}) {{.*}} : (!fir.ref, i32) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger64(%{{.*}}, %{{.*}}) {{.*}} : (!fir.ref, i64) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger128(%{{.*}}, %{{.*}}) {{.*}} : (!fir.ref, i128) -> i1 print '(*(Z3))', 96_1, 96_2, 96_4, 96_8, 96_16 - ! CHECK: fir.call @_FortranAioOutputInteger32(%{{.*}}, %{{.*}}) : (!fir.ref, i32) -> i1 - ! CHECK: fir.call @_FortranAioOutputInteger64(%{{.*}}, %{{.*}}) : (!fir.ref, i64) -> i1 - ! CHECK: fir.call @_FortranAioOutputInteger64(%{{.*}}, %{{.*}}) : (!fir.ref, i64) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger32(%{{.*}}, %{{.*}}) {{.*}} : (!fir.ref, i32) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger64(%{{.*}}, %{{.*}}) {{.*}} : (!fir.ref, i64) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger64(%{{.*}}, %{{.*}}) {{.*}} : (!fir.ref, i64) -> i1 print '(I3,2Z44)', 40, 2**40_8, 2**40_8+1 - ! CHECK: fir.call @_FortranAioOutputInteger32(%{{.*}}, %{{.*}}) : (!fir.ref, i32) -> i1 - ! CHECK: fir.call @_FortranAioOutputInteger64(%{{.*}}, %{{.*}}) : (!fir.ref, i64) -> i1 - ! CHECK: fir.call @_FortranAioOutputInteger64(%{{.*}}, %{{.*}}) : (!fir.ref, i64) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger32(%{{.*}}, %{{.*}}) {{.*}} : (!fir.ref, i32) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger64(%{{.*}}, %{{.*}}) {{.*}} : (!fir.ref, i64) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger64(%{{.*}}, %{{.*}}) {{.*}} : (!fir.ref, i64) -> i1 print '(I3,2I44)', 40, 1099511627776, 1099511627777 - ! CHECK: fir.call @_FortranAioOutputInteger32(%{{.*}}, %{{.*}}) : (!fir.ref, i32) -> i1 - ! CHECK: fir.call @_FortranAioOutputInteger64(%{{.*}}, %{{.*}}) : (!fir.ref, i64) -> i1 - ! CHECK: fir.call @_FortranAioOutputInteger64(%{{.*}}, %{{.*}}) : (!fir.ref, i64) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger32(%{{.*}}, %{{.*}}) {{.*}} : (!fir.ref, i32) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger64(%{{.*}}, %{{.*}}) {{.*}} : (!fir.ref, i64) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger64(%{{.*}}, %{{.*}}) {{.*}} : (!fir.ref, i64) -> i1 print '(I3,2O44)', 40, 2**40_8, 2**40_8+1 - ! CHECK: fir.call @_FortranAioOutputInteger32(%{{.*}}, %{{.*}}) : (!fir.ref, i32) -> i1 - ! CHECK: fir.call @_FortranAioOutputInteger64(%{{.*}}, %{{.*}}) : (!fir.ref, i64) -> i1 - ! CHECK: fir.call @_FortranAioOutputInteger64(%{{.*}}, %{{.*}}) : (!fir.ref, i64) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger32(%{{.*}}, %{{.*}}) {{.*}} : (!fir.ref, i32) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger64(%{{.*}}, %{{.*}}) {{.*}} : (!fir.ref, i64) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger64(%{{.*}}, %{{.*}}) {{.*}} : (!fir.ref, i64) -> i1 print '(I3,2B44)', 40, 2**40_8, 2**40_8+1 end Index: flang/test/Lower/io-statement-2.f90 =================================================================== --- flang/test/Lower/io-statement-2.f90 +++ flang/test/Lower/io-statement-2.f90 @@ -139,7 +139,7 @@ subroutine impliedformat ! CHECK: BeginExternalListInput(%c-1 ! CHECK: InputReal32 - ! CHECK: EndIoStatement(%3) : (!fir.ref) -> i32 + ! CHECK: EndIoStatement(%3) {{.*}} : (!fir.ref) -> i32 read*, x ! CHECK: BeginExternalListOutput(%c-1 ! CHECK: OutputReal32 Index: flang/test/Lower/io-statement-3.f90 =================================================================== --- flang/test/Lower/io-statement-3.f90 +++ flang/test/Lower/io-statement-3.f90 @@ -17,10 +17,10 @@ ! CHECK: } ! CHECK: } ! CHECK: } - ! CHECK: %[[sizeValue:.*]] = fir.call @_FortranAioGetSize(%[[cookie]]) : (!fir.ref) -> i64 + ! CHECK: %[[sizeValue:.*]] = fir.call @_FortranAioGetSize(%[[cookie]]) {{.*}} : (!fir.ref) -> i64 ! CHECK: %[[sizeCast:.*]] = fir.convert %[[sizeValue]] : (i64) -> i32 ! CHECK: fir.store %[[sizeCast]] to %[[sizeVar]] : !fir.ref - ! CHECK: fir.call @_FortranAioEndIoStatement(%[[cookie]]) : (!fir.ref) -> i32 + ! CHECK: fir.call @_FortranAioEndIoStatement(%[[cookie]]) {{.*}} : (!fir.ref) -> i32 READ(unit, '(A)', ADVANCE='NO', SIZE=size, IOSTAT=stat) c1, c2 end subroutine @@ -30,14 +30,14 @@ character(4) :: c2 integer :: size = 0 integer :: stat = 0 - ! CHECK: %[[cookie:.*]] = fir.call @_FortranAioBeginOpenNewUnit(%{{.*}}, %{{.*}}) : (!fir.ref, i32) -> !fir.ref - ! CHECK: fir.call @_FortranAioSetAccess(%[[cookie]], %{{.*}}, %{{.*}}) : (!fir.ref, !fir.ref, i64) -> i1 - ! CHECK: fir.call @_FortranAioSetAction(%[[cookie]], %{{.*}}, %{{.*}}) : (!fir.ref, !fir.ref, i64) -> i1 - ! CHECK: fir.call @_FortranAioSetForm(%[[cookie]], %{{.*}}, %{{.*}}) : (!fir.ref, !fir.ref, i64) -> i1 - ! CHECK: fir.call @_FortranAioSetStatus(%[[cookie]], %{{.*}}, %{{.*}}) : (!fir.ref, !fir.ref, i64) -> i1 + ! CHECK: %[[cookie:.*]] = fir.call @_FortranAioBeginOpenNewUnit(%{{.*}}, %{{.*}}) {{.*}} : (!fir.ref, i32) -> !fir.ref + ! CHECK: fir.call @_FortranAioSetAccess(%[[cookie]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref, !fir.ref, i64) -> i1 + ! CHECK: fir.call @_FortranAioSetAction(%[[cookie]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref, !fir.ref, i64) -> i1 + ! CHECK: fir.call @_FortranAioSetForm(%[[cookie]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref, !fir.ref, i64) -> i1 + ! CHECK: fir.call @_FortranAioSetStatus(%[[cookie]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref, !fir.ref, i64) -> i1 ! CHECK: %[[kind:.*]] = arith.constant 4 : i32 - ! CHECK: fir.call @_FortranAioGetNewUnit(%[[cookie]], %[[unit]], %[[kind]]) : (!fir.ref, !fir.ref, i32) -> i1 - ! CHECK: fir.call @_FortranAioEndIoStatement(%[[cookie]]) : (!fir.ref) -> i32 + ! CHECK: fir.call @_FortranAioGetNewUnit(%[[cookie]], %[[unit]], %[[kind]]) {{.*}} : (!fir.ref, !fir.ref, i32) -> i1 + ! CHECK: fir.call @_FortranAioEndIoStatement(%[[cookie]]) {{.*}} : (!fir.ref) -> i32 OPEN(NEWUNIT=unit,ACCESS='SEQUENTIAL',ACTION='READWRITE',& FORM='FORMATTED',STATUS='SCRATCH') WRITE(unit, '(A)') "ABCDEF" Index: flang/test/Lower/io-statement-big-unit-checks.f90 =================================================================== --- flang/test/Lower/io-statement-big-unit-checks.f90 +++ flang/test/Lower/io-statement-big-unit-checks.f90 @@ -45,11 +45,11 @@ ! CHECK: %[[VAL_2:.*]] = arith.constant false ! CHECK: %[[VAL_3:.*]] = fir.zero_bits !fir.ref ! CHECK: %[[VAL_4:.*]] = arith.constant 0 : i64 -! CHECK: %[[VAL_8:.*]] = fir.call @_FortranAioCheckUnitNumberInRange64(%[[VAL_1]], %[[VAL_2]], %[[VAL_3]], %[[VAL_4]], %{{.*}}, %{{.*}}) : (i64, i1, !fir.ref, i64, !fir.ref, i32) -> i32 +! CHECK: %[[VAL_8:.*]] = fir.call @_FortranAioCheckUnitNumberInRange64(%[[VAL_1]], %[[VAL_2]], %[[VAL_3]], %[[VAL_4]], %{{.*}}, %{{.*}}) {{.*}} : (i64, i1, !fir.ref, i64, !fir.ref, i32) -> i32 ! CHECK-NOT: fir.if ! CHECK: %[[VAL_9:.*]] = fir.convert %[[VAL_1]] : (i64) -> i32 -! CHECK: %[[VAL_13:.*]] = fir.call @_FortranAioBeginOpenUnit(%[[VAL_9]], %{{.*}}, %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref -! CHECK: %[[VAL_14:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_13]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_13:.*]] = fir.call @_FortranAioBeginOpenUnit(%[[VAL_9]], %{{.*}}, %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref +! CHECK: %[[VAL_14:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_13]]) {{.*}} : (!fir.ref) -> i32 open(n) end subroutine @@ -61,7 +61,7 @@ ! CHECK: %[[VAL_2:.*]] = arith.constant false ! CHECK: %[[VAL_3:.*]] = fir.zero_bits !fir.ref ! CHECK: %[[VAL_4:.*]] = arith.constant 0 : i64 -! CHECK: %[[VAL_8:.*]] = fir.call @_FortranAioCheckUnitNumberInRange64(%[[VAL_1]], %[[VAL_2]], %[[VAL_3]], %[[VAL_4]], %{{.*}}, %{{.*}}) : (i64, i1, !fir.ref, i64, !fir.ref, i32) -> i32 +! CHECK: %[[VAL_8:.*]] = fir.call @_FortranAioCheckUnitNumberInRange64(%[[VAL_1]], %[[VAL_2]], %[[VAL_3]], %[[VAL_4]], %{{.*}}, %{{.*}}) {{.*}} : (i64, i1, !fir.ref, i64, !fir.ref, i32) -> i32 ! CHECK-NOT: fir.if ! CHECK: BeginClose close(n) @@ -75,7 +75,7 @@ ! CHECK: %[[VAL_2:.*]] = arith.constant false ! CHECK: %[[VAL_3:.*]] = fir.zero_bits !fir.ref ! CHECK: %[[VAL_4:.*]] = arith.constant 0 : i64 -! CHECK: %[[VAL_8:.*]] = fir.call @_FortranAioCheckUnitNumberInRange64(%[[VAL_1]], %[[VAL_2]], %[[VAL_3]], %[[VAL_4]], %{{.*}}, %{{.*}}) : (i64, i1, !fir.ref, i64, !fir.ref, i32) -> i32 +! CHECK: %[[VAL_8:.*]] = fir.call @_FortranAioCheckUnitNumberInRange64(%[[VAL_1]], %[[VAL_2]], %[[VAL_3]], %[[VAL_4]], %{{.*}}, %{{.*}}) {{.*}} : (i64, i1, !fir.ref, i64, !fir.ref, i32) -> i32 ! CHECK-NOT: fir.if ! CHECK: BeginRewind rewind(n) @@ -90,7 +90,7 @@ ! CHECK: %[[VAL_2:.*]] = arith.constant false ! CHECK: %[[VAL_3:.*]] = fir.zero_bits !fir.ref ! CHECK: %[[VAL_4:.*]] = arith.constant 0 : i64 -! CHECK: %[[VAL_8:.*]] = fir.call @_FortranAioCheckUnitNumberInRange64(%[[VAL_1]], %[[VAL_2]], %[[VAL_3]], %[[VAL_4]], %{{.*}}, %{{.*}}) : (i64, i1, !fir.ref, i64, !fir.ref, i32) -> i32 +! CHECK: %[[VAL_8:.*]] = fir.call @_FortranAioCheckUnitNumberInRange64(%[[VAL_1]], %[[VAL_2]], %[[VAL_3]], %[[VAL_4]], %{{.*}}, %{{.*}}) {{.*}} : (i64, i1, !fir.ref, i64, !fir.ref, i32) -> i32 ! CHECK-NOT: fir.if ! CHECK: BeginBackspace end subroutine @@ -104,7 +104,7 @@ ! CHECK: %[[VAL_2:.*]] = arith.constant false ! CHECK: %[[VAL_3:.*]] = fir.zero_bits !fir.ref ! CHECK: %[[VAL_4:.*]] = arith.constant 0 : i64 -! CHECK: %[[VAL_8:.*]] = fir.call @_FortranAioCheckUnitNumberInRange64(%[[VAL_1]], %[[VAL_2]], %[[VAL_3]], %[[VAL_4]], %{{.*}}, %{{.*}}) : (i64, i1, !fir.ref, i64, !fir.ref, i32) -> i32 +! CHECK: %[[VAL_8:.*]] = fir.call @_FortranAioCheckUnitNumberInRange64(%[[VAL_1]], %[[VAL_2]], %[[VAL_3]], %[[VAL_4]], %{{.*}}, %{{.*}}) {{.*}} : (i64, i1, !fir.ref, i64, !fir.ref, i32) -> i32 ! CHECK-NOT: fir.if ! CHECK: BeginInquire inquire(n, formatted=fm) @@ -118,7 +118,7 @@ ! CHECK: %[[VAL_2:.*]] = arith.constant false ! CHECK: %[[VAL_3:.*]] = fir.zero_bits !fir.ref ! CHECK: %[[VAL_4:.*]] = arith.constant 0 : i64 -! CHECK: %[[VAL_8:.*]] = fir.call @_FortranAioCheckUnitNumberInRange64(%[[VAL_1]], %[[VAL_2]], %[[VAL_3]], %[[VAL_4]], %{{.*}}, %{{.*}}) : (i64, i1, !fir.ref, i64, !fir.ref, i32) -> i32 +! CHECK: %[[VAL_8:.*]] = fir.call @_FortranAioCheckUnitNumberInRange64(%[[VAL_1]], %[[VAL_2]], %[[VAL_3]], %[[VAL_4]], %{{.*}}, %{{.*}}) {{.*}} : (i64, i1, !fir.ref, i64, !fir.ref, i32) -> i32 ! CHECK-NOT: fir.if ! CHECK: BeginExternalListOutput write(n, *) "hello" @@ -133,7 +133,7 @@ ! CHECK: %[[VAL_2:.*]] = arith.constant false ! CHECK: %[[VAL_3:.*]] = fir.zero_bits !fir.ref ! CHECK: %[[VAL_4:.*]] = arith.constant 0 : i64 -! CHECK: %[[VAL_8:.*]] = fir.call @_FortranAioCheckUnitNumberInRange64(%[[VAL_1]], %[[VAL_2]], %[[VAL_3]], %[[VAL_4]], %{{.*}}, %{{.*}}) : (i64, i1, !fir.ref, i64, !fir.ref, i32) -> i32 +! CHECK: %[[VAL_8:.*]] = fir.call @_FortranAioCheckUnitNumberInRange64(%[[VAL_1]], %[[VAL_2]], %[[VAL_3]], %[[VAL_4]], %{{.*}}, %{{.*}}) {{.*}} : (i64, i1, !fir.ref, i64, !fir.ref, i32) -> i32 ! CHECK-NOT: fir.if ! CHECK: BeginExternalListInput read(n, *) var @@ -147,7 +147,7 @@ ! CHECK: %[[VAL_2:.*]] = arith.constant false ! CHECK: %[[VAL_3:.*]] = fir.zero_bits !fir.ref ! CHECK: %[[VAL_4:.*]] = arith.constant 0 : i64 -! CHECK: %[[VAL_8:.*]] = fir.call @_FortranAioCheckUnitNumberInRange128(%[[VAL_1]], %[[VAL_2]], %[[VAL_3]], %[[VAL_4]], %{{.*}}, %{{.*}}) : (i128, i1, !fir.ref, i64, !fir.ref, i32) -> i32 +! CHECK: %[[VAL_8:.*]] = fir.call @_FortranAioCheckUnitNumberInRange128(%[[VAL_1]], %[[VAL_2]], %[[VAL_3]], %[[VAL_4]], %{{.*}}, %{{.*}}) {{.*}} : (i128, i1, !fir.ref, i64, !fir.ref, i32) -> i32 open(n) end subroutine @@ -166,19 +166,19 @@ ! CHECK: %[[VAL_3:.*]] = arith.constant true ! CHECK: %[[VAL_4:.*]] = fir.zero_bits !fir.ref ! CHECK: %[[VAL_5:.*]] = arith.constant 0 : i64 -! CHECK: %[[VAL_9:.*]] = fir.call @_FortranAioCheckUnitNumberInRange64(%[[VAL_2]], %[[VAL_3]], %[[VAL_4]], %[[VAL_5]], %{{.*}}, %{{.*}}) : (i64, i1, !fir.ref, i64, !fir.ref, i32) -> i32 +! CHECK: %[[VAL_9:.*]] = fir.call @_FortranAioCheckUnitNumberInRange64(%[[VAL_2]], %[[VAL_3]], %[[VAL_4]], %[[VAL_5]], %{{.*}}, %{{.*}}) {{.*}} : (i64, i1, !fir.ref, i64, !fir.ref, i32) -> i32 ! CHECK: %[[VAL_10:.*]] = arith.constant 0 : i32 ! CHECK: %[[VAL_11:.*]] = arith.cmpi eq, %[[VAL_9]], %[[VAL_10]] : i32 ! CHECK: %[[VAL_12:.*]] = fir.if %[[VAL_11]] -> (i32) { ! CHECK: %[[VAL_13:.*]] = fir.convert %[[VAL_2]] : (i64) -> i32 -! CHECK: %[[VAL_17:.*]] = fir.call @_FortranAioBeginOpenUnit(%[[VAL_13]], %{{.*}}, {{.*}}) : (i32, !fir.ref, i32) -> !fir.ref +! CHECK: %[[VAL_17:.*]] = fir.call @_FortranAioBeginOpenUnit(%[[VAL_13]], %{{.*}}, {{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_18:.*]] = arith.constant true ! CHECK: %[[VAL_19:.*]] = arith.constant false ! CHECK: %[[VAL_20:.*]] = arith.constant false ! CHECK: %[[VAL_21:.*]] = arith.constant false ! CHECK: %[[VAL_22:.*]] = arith.constant false -! CHECK: %[[VAL_23:.*]] = fir.call @_FortranAioEnableHandlers(%[[VAL_17]], %[[VAL_18]], %[[VAL_19]], %[[VAL_20]], %[[VAL_21]], %[[VAL_22]]) : (!fir.ref, i1, i1, i1, i1, i1) -> none -! CHECK: %[[VAL_24:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_17]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_23:.*]] = fir.call @_FortranAioEnableHandlers(%[[VAL_17]], %[[VAL_18]], %[[VAL_19]], %[[VAL_20]], %[[VAL_21]], %[[VAL_22]]) {{.*}} : (!fir.ref, i1, i1, i1, i1, i1) -> none +! CHECK: %[[VAL_24:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_17]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: fir.result %[[VAL_24]] : i32 ! CHECK: } else { ! CHECK: fir.result %[[VAL_9]] : i32 @@ -198,22 +198,22 @@ ! CHECK: %[[VAL_4:.*]] = arith.constant true ! CHECK: %[[VAL_5:.*]] = fir.convert %[[VAL_2]]#0 : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_6:.*]] = fir.convert %[[VAL_2]]#1 : (index) -> i64 -! CHECK: %[[VAL_10:.*]] = fir.call @_FortranAioCheckUnitNumberInRange64(%[[VAL_3]], %[[VAL_4]], %[[VAL_5]], %[[VAL_6]], %{{.*}}, %{{.*}}) : (i64, i1, !fir.ref, i64, !fir.ref, i32) -> i32 +! CHECK: %[[VAL_10:.*]] = fir.call @_FortranAioCheckUnitNumberInRange64(%[[VAL_3]], %[[VAL_4]], %[[VAL_5]], %[[VAL_6]], %{{.*}}, %{{.*}}) {{.*}} : (i64, i1, !fir.ref, i64, !fir.ref, i32) -> i32 ! CHECK: %[[VAL_11:.*]] = arith.constant 0 : i32 ! CHECK: %[[VAL_12:.*]] = arith.cmpi eq, %[[VAL_10]], %[[VAL_11]] : i32 ! CHECK: %[[VAL_13:.*]] = fir.if %[[VAL_12]] -> (i32) { ! CHECK: %[[VAL_14:.*]] = fir.convert %[[VAL_3]] : (i64) -> i32 -! CHECK: %[[VAL_18:.*]] = fir.call @_FortranAioBeginOpenUnit(%[[VAL_14]], %{{.*}}, %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref +! CHECK: %[[VAL_18:.*]] = fir.call @_FortranAioBeginOpenUnit(%[[VAL_14]], %{{.*}}, %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_19:.*]] = arith.constant false ! CHECK: %[[VAL_20:.*]] = arith.constant true ! CHECK: %[[VAL_21:.*]] = arith.constant false ! CHECK: %[[VAL_22:.*]] = arith.constant false ! CHECK: %[[VAL_23:.*]] = arith.constant true -! CHECK: %[[VAL_24:.*]] = fir.call @_FortranAioEnableHandlers(%[[VAL_18]], %[[VAL_19]], %[[VAL_20]], %[[VAL_21]], %[[VAL_22]], %[[VAL_23]]) : (!fir.ref, i1, i1, i1, i1, i1) -> none +! CHECK: %[[VAL_24:.*]] = fir.call @_FortranAioEnableHandlers(%[[VAL_18]], %[[VAL_19]], %[[VAL_20]], %[[VAL_21]], %[[VAL_22]], %[[VAL_23]]) {{.*}} : (!fir.ref, i1, i1, i1, i1, i1) -> none ! CHECK: %[[VAL_25:.*]] = fir.convert %[[VAL_2]]#0 : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_26:.*]] = fir.convert %[[VAL_2]]#1 : (index) -> i64 -! CHECK: %[[VAL_27:.*]] = fir.call @_FortranAioGetIoMsg(%[[VAL_18]], %[[VAL_25]], %[[VAL_26]]) : (!fir.ref, !fir.ref, i64) -> none -! CHECK: %[[VAL_28:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_18]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_27:.*]] = fir.call @_FortranAioGetIoMsg(%[[VAL_18]], %[[VAL_25]], %[[VAL_26]]) {{.*}} : (!fir.ref, !fir.ref, i64) -> none +! CHECK: %[[VAL_28:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_18]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: fir.result %[[VAL_28]] : i32 ! CHECK: } else { ! CHECK: fir.result %[[VAL_10]] : i32 @@ -223,7 +223,7 @@ ! CHECK: ^bb1: ! CHECK: br ^bb3 ! CHECK: ^bb2: -! CHECK: fir.call @_QPi_failed() : () -> () +! CHECK: fir.call @_QPi_failed() {{.*}} : () -> () ! CHECK: br ^bb3 ! CHECK: ^bb3: ! CHECK: return @@ -263,9 +263,9 @@ ! CHECK-SAME: %[[VAL_0:.*]]: !fir.ref> {fir.bindc_name = "n"}, ! CHECK-SAME: %[[VAL_1:.*]]: !fir.boxchar<1> {fir.bindc_name = "msg"}, ! CHECK-SAME: %[[VAL_2:.*]]: !fir.ref> {fir.bindc_name = "ios"}) { -! CHECK: %[[VAL_10:.*]] = fir.call @_QPmake_temp2() : () -> !fir.box> +! CHECK: %[[VAL_10:.*]] = fir.call @_QPmake_temp2() {{.*}} : () -> !fir.box> ! CHECK: fir.save_result %[[VAL_10]] to %[[VAL_8:.*]] : !fir.box>, !fir.ref>> -! CHECK: %[[VAL_15:.*]] = fir.call @_QPmake_temp3() : () -> !fir.box> +! CHECK: %[[VAL_15:.*]] = fir.call @_QPmake_temp3() {{.*}} : () -> !fir.box> ! CHECK: fir.save_result %[[VAL_15]] to %[[VAL_7:.*]] : !fir.box>, !fir.ref>> ! CHECK: fir.load %[[VAL_7]] ! CHECK: %[[VAL_32:.*]] = fir.load %[[VAL_7]] : !fir.ref>> @@ -274,7 +274,7 @@ ! CHECK: %[[VAL_37:.*]] = fir.load %[[VAL_8]] : !fir.ref>> ! CHECK: %[[VAL_38:.*]] = fir.box_addr %[[VAL_37]] : (!fir.box>) -> !fir.heap ! CHECK: fir.freemem %[[VAL_38]] : !fir.heap -! CHECK: %[[VAL_42:.*]] = fir.call @_QPmake_temp0() : () -> !fir.box> +! CHECK: %[[VAL_42:.*]] = fir.call @_QPmake_temp0() {{.*}} : () -> !fir.box> ! CHECK: fir.save_result %[[VAL_42]] to %[[VAL_6:.*]] : !fir.box>, !fir.ref>> ! CHECK: %[[VAL_57:.*]] = fir.call @_FortranAioCheckUnitNumberInRange64( ! CHECK: %[[VAL_58:.*]] = arith.constant 0 : i32 @@ -282,14 +282,14 @@ ! CHECK: %[[VAL_60:.*]] = fir.if %[[VAL_59]] -> (i32) { ! CHECK: fir.call @_FortranAioBeginUnformattedOutput( ! CHECK: fir.call @_FortranAioEnableHandlers( -! CHECK: %[[VAL_72:.*]] = fir.call @_QPmake_temp4() : () -> !fir.box> +! CHECK: %[[VAL_72:.*]] = fir.call @_QPmake_temp4() {{.*}} : () -> !fir.box> ! CHECK: fir.save_result %[[VAL_72]] to %[[VAL_5:.*]] : !fir.box>, !fir.ref>> ! CHECK: %[[VAL_77:.*]] = fir.call @_FortranAioOutputDescriptor( ! CHECK: %[[VAL_77_1:.*]] = fir.load %[[VAL_5]] : !fir.ref>> ! CHECK: %[[VAL_77_2:.*]] = fir.box_addr %[[VAL_77_1]] : (!fir.box>) -> !fir.heap ! CHECK: fir.freemem %[[VAL_77_2]] : !fir.heap ! CHECK: fir.if %[[VAL_77]] { -! CHECK: %[[VAL_78:.*]] = fir.call @_QPmake_temp5() : () -> !fir.box> +! CHECK: %[[VAL_78:.*]] = fir.call @_QPmake_temp5() {{.*}} : () -> !fir.box> ! CHECK: fir.save_result %[[VAL_78]] to %[[VAL_4:.*]] : !fir.box>, !fir.ref>> ! CHECK: fir.call @_FortranAioOutputDescriptor( ! CHECK: %[[VAL_84:.*]] = fir.load %[[VAL_4]] : !fir.ref>> @@ -303,7 +303,7 @@ ! CHECK: } else { ! CHECK: fir.result %[[VAL_57]] : i32 ! CHECK: } -! CHECK: %[[VAL_98:.*]] = fir.call @_QPmake_temp1() : () -> !fir.box> +! CHECK: %[[VAL_98:.*]] = fir.call @_QPmake_temp1() {{.*}} : () -> !fir.box> ! CHECK: fir.save_result %[[VAL_98]] to %[[VAL_3:.*]] : !fir.box>, !fir.ref>> ! CHECK: fir.load %[[VAL_3]] ! CHECK: %[[VAL_107:.*]] = fir.load %[[VAL_3]] : !fir.ref>> Index: flang/test/Lower/io-statement-clean-ups.f90 =================================================================== --- flang/test/Lower/io-statement-clean-ups.f90 +++ flang/test/Lower/io-statement-clean-ups.f90 @@ -17,21 +17,21 @@ ! CHECK: %[[VAL_2:.*]] = fir.alloca !fir.box>> ! CHECK: %[[VAL_3:.*]] = fir.alloca !fir.box>> ! CHECK: fir.call @_FortranAioBeginOpenUnit -! CHECK: %[[VAL_15:.*]] = fir.call @_QPgen_temp_character() : () -> !fir.box>> +! CHECK: %[[VAL_15:.*]] = fir.call @_QPgen_temp_character() {{.*}} : () -> !fir.box>> ! CHECK: fir.save_result %[[VAL_15]] to %[[VAL_3]] : !fir.box>>, !fir.ref>>> ! CHECK: %[[VAL_21:.*]] = fir.call @_FortranAioSetEncoding ! CHECK: %[[VAL_22:.*]] = fir.load %[[VAL_3]] : !fir.ref>>> ! CHECK: %[[VAL_23:.*]] = fir.box_addr %[[VAL_22]] : (!fir.box>>) -> !fir.heap> ! CHECK: fir.freemem %[[VAL_23]] : !fir.heap> ! CHECK: fir.if %[[VAL_21]] { -! CHECK: %[[VAL_27:.*]] = fir.call @_QPgen_temp_character() : () -> !fir.box>> +! CHECK: %[[VAL_27:.*]] = fir.call @_QPgen_temp_character() {{.*}} : () -> !fir.box>> ! CHECK: fir.save_result %[[VAL_27]] to %[[VAL_2]] : !fir.box>>, !fir.ref>>> ! CHECK: %[[VAL_33:.*]] = fir.call @_FortranAioSetFile ! CHECK: %[[VAL_34:.*]] = fir.load %[[VAL_2]] : !fir.ref>>> ! CHECK: %[[VAL_35:.*]] = fir.box_addr %[[VAL_34]] : (!fir.box>>) -> !fir.heap> ! CHECK: fir.freemem %[[VAL_35]] : !fir.heap> ! CHECK: fir.if %[[VAL_33]] { -! CHECK: %[[VAL_39:.*]] = fir.call @_QPgen_temp_character() : () -> !fir.box>> +! CHECK: %[[VAL_39:.*]] = fir.call @_QPgen_temp_character() {{.*}} : () -> !fir.box>> ! CHECK: fir.save_result %[[VAL_39]] to %[[VAL_1]] : !fir.box>>, !fir.ref>>> ! CHECK: fir.call @_FortranAioSetPad ! CHECK: %[[VAL_46:.*]] = fir.load %[[VAL_1]] : !fir.ref>>> Index: flang/test/Lower/io-statement-open-options.f90 =================================================================== --- flang/test/Lower/io-statement-open-options.f90 +++ flang/test/Lower/io-statement-open-options.f90 @@ -4,13 +4,13 @@ ! CHECK-LABEL: func.func @_QPtest_convert_specifier( subroutine test_convert_specifier(unit) integer :: unit - ! CHECK: %[[cookie:.*]] = fir.call @_FortranAioBeginOpenUnit(%{{.*}}, %{{.*}}, %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref + ! CHECK: %[[cookie:.*]] = fir.call @_FortranAioBeginOpenUnit(%{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[be_str:.*]] = fir.address_of(@[[be_str_name:.*]]) : !fir.ref> ! CHECK: %[[len:.*]] = arith.constant 10 : index ! CHECK: %[[be_str_conv:.*]] = fir.convert %[[be_str]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[len_conv:.*]] = fir.convert %[[len]] : (index) -> i64 - ! CHECK: %{{.*}} = fir.call @_FortranAioSetConvert(%[[cookie]], %[[be_str_conv]], %[[len_conv]]) : (!fir.ref, !fir.ref, i64) -> i1 - ! CHECK: %{{.*}} = fir.call @_FortranAioEndIoStatement(%[[cookie]]) : (!fir.ref) -> i32 + ! CHECK: %{{.*}} = fir.call @_FortranAioSetConvert(%[[cookie]], %[[be_str_conv]], %[[len_conv]]) {{.*}} : (!fir.ref, !fir.ref, i64) -> i1 + ! CHECK: %{{.*}} = fir.call @_FortranAioEndIoStatement(%[[cookie]]) {{.*}} : (!fir.ref) -> i32 open(unit, form="UNFORMATTED", convert="BIG_ENDIAN") close(unit) end subroutine Index: flang/test/Lower/io-write.f90 =================================================================== --- flang/test/Lower/io-write.f90 +++ flang/test/Lower/io-write.f90 @@ -18,9 +18,9 @@ ! CHECK: %[[Const_0:.*]] = arith.constant 0 : index ! CHECK: %[[Val_7:.*]] = arith.cmpi sgt, %[[Val_6]], %[[Const_0]] : index ! CHECK: %[[Val_8:.*]] = arith.select %[[Val_7]], %[[Val_6]], %[[Const_0]] : index -! CHECK: %[[Val_9:.*]] = fir.call @llvm.stacksave() : () -> !fir.ref +! CHECK: %[[Val_9:.*]] = fir.call @llvm.stacksave() {{.*}} : () -> !fir.ref ! CHECK: %[[Val_10:.*]] = fir.alloca !fir.char<1,?>(%[[Val_8]] : index) {bindc_name = ".result"} -! CHECK: %[[Val_11:.*]] = fir.call @_QFPgetstring(%[[Val_10]], %[[Val_8]], %[[Val_0]]) : (!fir.ref>, index, !fir.ref) -> !fir.boxchar<1> +! CHECK: %[[Val_11:.*]] = fir.call @_QFPgetstring(%[[Val_10]], %[[Val_8]], %[[Val_0]]) {{.*}} : (!fir.ref>, index, !fir.ref) -> !fir.boxchar<1> ! CHECK: %[[Val_12:.*]] = fir.convert %[[Val_10]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[Val_13:.*]] = fir.convert %[[Val_8]] : (index) -> i64 ! CHECK: %[[Val_14:.*]] = fir.zero_bits !fir.box @@ -31,8 +31,8 @@ ! CHECK: %[[Val_17:.*]] = fir.convert %[[Val_16]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[Val_18:.*]] = fir.call @_FortranAioBeginInternalFormattedOutput(%[[Val_2]], %[[Val_3]], %[[Val_12]], %[[Val_13]], ! %[[Val_14]], %[[Val_15]], %[[Const_0_i64_0]], %17, %{{.*}}) : (!fir.ref, i64, !fir.ref, i64, !fir.box, !fir.ref>, i64, !fir.ref, i32) -> !fir.ref -! CHECK: %[[Val_19:.*]] = fir.call @_FortranAioEndIoStatement(%18) : (!fir.ref) -> i32 -! CHECK: fir.call @llvm.stackrestore(%[[Val_9]]) : (!fir.ref) -> () +! CHECK: %[[Val_19:.*]] = fir.call @_FortranAioEndIoStatement(%18) {{.*}} : (!fir.ref) -> i32 +! CHECK: fir.call @llvm.stackrestore(%[[Val_9]]) {{.*}} : (!fir.ref) -> () if (string/="hi") stop 'FAIL' contains function getstring(n) result(r) Index: flang/test/Lower/logical-as-fortran.f90 =================================================================== --- flang/test/Lower/logical-as-fortran.f90 +++ flang/test/Lower/logical-as-fortran.f90 @@ -18,12 +18,12 @@ ! CHECK: %[[true2:.*]] = fir.convert %true{{.*}} : (i1) -> !fir.logical<2> ! CHECK: fir.store %[[true2]] to %[[mem2:.*]] : !fir.ref> - ! CHECK: fir.call @_QPfoo2(%[[mem2]]) : (!fir.ref>) -> () + ! CHECK: fir.call @_QPfoo2(%[[mem2]]) {{.*}} : (!fir.ref>) -> () call foo2(.true._2) ! CHECK: %[[true4:.*]] = fir.convert %true{{.*}} : (i1) -> !fir.logical<4> ! CHECK: fir.store %[[true4]] to %[[mem4:.*]] : !fir.ref> - ! CHECK: fir.call @_QPfoo4(%[[mem4]]) : (!fir.ref>) -> () + ! CHECK: fir.call @_QPfoo4(%[[mem4]]) {{.*}} : (!fir.ref>) -> () call foo4(.true.) end subroutine Index: flang/test/Lower/loops2.f90 =================================================================== --- flang/test/Lower/loops2.f90 +++ flang/test/Lower/loops2.f90 @@ -52,7 +52,7 @@ ! CHECK: cond_br %{{.*}}, ^bb2, ^bb3 ! CHECK: ^bb2: ! CHECK: %[[VAL_19:.*]] = fir.load %[[VAL_3]] : !fir.ptr -! CHECK: %[[VAL_20:.*]] = arith.addf %[[VAL_19]], %[[VAL_8]] : f32 +! CHECK: %[[VAL_20:.*]] = arith.addf %[[VAL_19]], %[[VAL_8]] {{.*}} : f32 ! CHECK: fir.store %[[VAL_20]] to %[[VAL_3]] : !fir.ptr ! CHECK: br ^bb1 ! CHECK: ^bb3: @@ -77,7 +77,7 @@ ! CHECK: cond_br %{{.*}}, ^bb2, ^bb3 ! CHECK: ^bb2: ! CHECK: %[[VAL_19:.*]] = fir.load %[[VAL_3]] : !fir.heap -! CHECK: %[[VAL_20:.*]] = arith.addf %[[VAL_19]], %[[VAL_8]] : f32 +! CHECK: %[[VAL_20:.*]] = arith.addf %[[VAL_19]], %[[VAL_8]] {{.*}} : f32 ! CHECK: fir.store %[[VAL_20]] to %[[VAL_3]] : !fir.heap ! CHECK: br ^bb1 ! CHECK: ^bb3: Index: flang/test/Lower/math-lowering.f90 =================================================================== --- flang/test/Lower/math-lowering.f90 +++ flang/test/Lower/math-lowering.f90 @@ -14,9 +14,9 @@ end function ! ALL-LABEL: @_QPtest_real4 -! FAST: {{%[A-Za-z0-9._]+}} = math.absf {{%[A-Za-z0-9._]+}} : f32 -! RELAXED: {{%[A-Za-z0-9._]+}} = math.absf {{%[A-Za-z0-9._]+}} : f32 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @fabsf({{%[A-Za-z0-9._]+}}) : (f32) -> f32 +! FAST: {{%[A-Za-z0-9._]+}} = math.absf {{%[A-Za-z0-9._]+}} {{.*}} : f32 +! RELAXED: {{%[A-Za-z0-9._]+}} = math.absf {{%[A-Za-z0-9._]+}} {{.*}} : f32 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @fabsf({{%[A-Za-z0-9._]+}}) {{.*}} : (f32) -> f32 function test_real8(x) real(8) :: x, test_real8 @@ -24,18 +24,18 @@ end function ! ALL-LABEL: @_QPtest_real8 -! FAST: {{%[A-Za-z0-9._]+}} = math.absf {{%[A-Za-z0-9._]+}} : f64 -! RELAXED: {{%[A-Za-z0-9._]+}} = math.absf {{%[A-Za-z0-9._]+}} : f64 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @fabs({{%[A-Za-z0-9._]+}}) : (f64) -> f64 +! FAST: {{%[A-Za-z0-9._]+}} = math.absf {{%[A-Za-z0-9._]+}} {{.*}} : f64 +! RELAXED: {{%[A-Za-z0-9._]+}} = math.absf {{%[A-Za-z0-9._]+}} {{.*}} : f64 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @fabs({{%[A-Za-z0-9._]+}}) {{.*}} : (f64) -> f64 function test_real16(x) real(16) :: x, test_real16 test_real16 = abs(x) end function ! ALL-LABEL: @_QPtest_real16 -! FAST: {{%[A-Za-z0-9._]+}} = math.absf {{%[A-Za-z0-9._]+}} : f128 -! RELAXED: {{%[A-Za-z0-9._]+}} = math.absf {{%[A-Za-z0-9._]+}} : f128 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @llvm.fabs.f128({{%[A-Za-z0-9._]+}}) : (f128) -> f128 +! FAST: {{%[A-Za-z0-9._]+}} = math.absf {{%[A-Za-z0-9._]+}} {{.*}} : f128 +! RELAXED: {{%[A-Za-z0-9._]+}} = math.absf {{%[A-Za-z0-9._]+}} {{.*}} : f128 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @llvm.fabs.f128({{%[A-Za-z0-9._]+}}) {{.*}} : (f128) -> f128 function test_complex4(c) complex(4) :: c, test_complex4 @@ -45,7 +45,7 @@ ! ALL-LABEL: @_QPtest_complex4 ! FAST: {{%[A-Za-z0-9._]+}} = complex.abs {{%[A-Za-z0-9._]+}} : complex ! RELAXED: {{%[A-Za-z0-9._]+}} = complex.abs {{%[A-Za-z0-9._]+}} : complex -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @cabsf({{%[A-Za-z0-9._]+}}) : (!fir.complex<4>) -> f32 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @cabsf({{%[A-Za-z0-9._]+}}) {{.*}} : (!fir.complex<4>) -> f32 function test_complex8(c) complex(8) :: c, test_complex8 @@ -55,7 +55,7 @@ ! ALL-LABEL: @_QPtest_complex8 ! FAST: {{%[A-Za-z0-9._]+}} = complex.abs {{%[A-Za-z0-9._]+}} : complex ! RELAXED: {{%[A-Za-z0-9._]+}} = complex.abs {{%[A-Za-z0-9._]+}} : complex -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @cabs({{%[A-Za-z0-9._]+}}) : (!fir.complex<8>) -> f64 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @cabs({{%[A-Za-z0-9._]+}}) {{.*}} : (!fir.complex<8>) -> f64 //--- aint.f90 ! RUN: bbc -emit-fir %t/aint.f90 -o - --math-runtime=fast | FileCheck --check-prefixes=ALL %t/aint.f90 @@ -71,7 +71,7 @@ end function ! ALL-LABEL: @_QPtest_real4 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @llvm.trunc.f32({{%[A-Za-z0-9._]+}}) : (f32) -> f32 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @llvm.trunc.f32({{%[A-Za-z0-9._]+}}) {{.*}} : (f32) -> f32 function test_real8(x) real(8) :: x, test_real8 @@ -79,7 +79,7 @@ end function ! ALL-LABEL: @_QPtest_real8 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @llvm.trunc.f64({{%[A-Za-z0-9._]+}}) : (f64) -> f64 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @llvm.trunc.f64({{%[A-Za-z0-9._]+}}) {{.*}} : (f64) -> f64 function test_real10(x) real(10) :: x, test_real10 @@ -87,7 +87,7 @@ end function ! ALL-LABEL: @_QPtest_real10 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @llvm.trunc.f80({{%[A-Za-z0-9._]+}}) : (f80) -> f80 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @llvm.trunc.f80({{%[A-Za-z0-9._]+}}) {{.*}} : (f80) -> f80 ! TODO: wait until fp128 is supported well in llvm.trunc !function test_real16(x) @@ -111,7 +111,7 @@ ! ALL-LABEL: @_QPtest_real4 ! FAST: {{%[A-Za-z0-9._]+}} = llvm.intr.round({{%[A-Za-z0-9._]+}}) : (f32) -> f32 ! RELAXED: {{%[A-Za-z0-9._]+}} = llvm.intr.round({{%[A-Za-z0-9._]+}}) : (f32) -> f32 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @llvm.round.f32({{%[A-Za-z0-9._]+}}) : (f32) -> f32 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @llvm.round.f32({{%[A-Za-z0-9._]+}}) {{.*}} : (f32) -> f32 function test_real8(x) real(8) :: x, test_real8 @@ -121,7 +121,7 @@ ! ALL-LABEL: @_QPtest_real8 ! FAST: {{%[A-Za-z0-9._]+}} = llvm.intr.round({{%[A-Za-z0-9._]+}}) : (f64) -> f64 ! RELAXED: {{%[A-Za-z0-9._]+}} = llvm.intr.round({{%[A-Za-z0-9._]+}}) : (f64) -> f64 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @llvm.round.f64({{%[A-Za-z0-9._]+}}) : (f64) -> f64 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @llvm.round.f64({{%[A-Za-z0-9._]+}}) {{.*}} : (f64) -> f64 function test_real10(x) real(10) :: x, test_real10 @@ -131,7 +131,7 @@ ! ALL-LABEL: @_QPtest_real10 ! FAST: {{%[A-Za-z0-9._]+}} = llvm.intr.round({{%[A-Za-z0-9._]+}}) : (f80) -> f80 ! RELAXED: {{%[A-Za-z0-9._]+}} = llvm.intr.round({{%[A-Za-z0-9._]+}}) : (f80) -> f80 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @llvm.round.f80({{%[A-Za-z0-9._]+}}) : (f80) -> f80 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @llvm.round.f80({{%[A-Za-z0-9._]+}}) {{.*}} : (f80) -> f80 ! TODO: wait until fp128 is supported well in llvm.round !function test_real16(x) @@ -153,9 +153,9 @@ end function ! ALL-LABEL: @_QPtest_real4 -! FAST: {{%[A-Za-z0-9._]+}} = math.atan {{%[A-Za-z0-9._]+}} : f32 -! RELAXED: {{%[A-Za-z0-9._]+}} = math.atan {{%[A-Za-z0-9._]+}} : f32 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @atanf({{%[A-Za-z0-9._]+}}) : (f32) -> f32 +! FAST: {{%[A-Za-z0-9._]+}} = math.atan {{%[A-Za-z0-9._]+}} {{.*}} : f32 +! RELAXED: {{%[A-Za-z0-9._]+}} = math.atan {{%[A-Za-z0-9._]+}} {{.*}} : f32 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @atanf({{%[A-Za-z0-9._]+}}) {{.*}} : (f32) -> f32 function test_real8(x) real(8) :: x, test_real8 @@ -163,9 +163,9 @@ end function ! ALL-LABEL: @_QPtest_real8 -! FAST: {{%[A-Za-z0-9._]+}} = math.atan {{%[A-Za-z0-9._]+}} : f64 -! RELAXED: {{%[A-Za-z0-9._]+}} = math.atan {{%[A-Za-z0-9._]+}} : f64 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @atan({{%[A-Za-z0-9._]+}}) : (f64) -> f64 +! FAST: {{%[A-Za-z0-9._]+}} = math.atan {{%[A-Za-z0-9._]+}} {{.*}} : f64 +! RELAXED: {{%[A-Za-z0-9._]+}} = math.atan {{%[A-Za-z0-9._]+}} {{.*}} : f64 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @atan({{%[A-Za-z0-9._]+}}) {{.*}} : (f64) -> f64 //--- atan2.f90 ! RUN: bbc -emit-fir %t/atan2.f90 -o - --math-runtime=fast | FileCheck --check-prefixes=ALL,FAST %t/atan2.f90 @@ -181,9 +181,9 @@ end function ! ALL-LABEL: @_QPtest_real4 -! FAST: {{%[A-Za-z0-9._]+}} = math.atan2 {{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}} : f32 -! RELAXED: {{%[A-Za-z0-9._]+}} = math.atan2 {{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}} : f32 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @atan2f({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) : (f32, f32) -> f32 +! FAST: {{%[A-Za-z0-9._]+}} = math.atan2 {{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}} {{.*}} : f32 +! RELAXED: {{%[A-Za-z0-9._]+}} = math.atan2 {{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}} {{.*}} : f32 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @atan2f({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) {{.*}} : (f32, f32) -> f32 function test_real8(x, y) real(8) :: x, y, test_real8 @@ -191,9 +191,9 @@ end function ! ALL-LABEL: @_QPtest_real8 -! FAST: {{%[A-Za-z0-9._]+}} = math.atan2 {{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}} : f64 -! RELAXED: {{%[A-Za-z0-9._]+}} = math.atan2 {{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}} : f64 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @atan2({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) : (f64, f64) -> f64 +! FAST: {{%[A-Za-z0-9._]+}} = math.atan2 {{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}} {{.*}} : f64 +! RELAXED: {{%[A-Za-z0-9._]+}} = math.atan2 {{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}} {{.*}} : f64 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @atan2({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) {{.*}} : (f64, f64) -> f64 //--- ceiling.f90 ! RUN: bbc -emit-fir %t/ceiling.f90 -o - --math-runtime=fast | FileCheck --check-prefixes=ALL,FAST %t/ceiling.f90 @@ -209,9 +209,9 @@ end function ! ALL-LABEL: @_QPtest_real4 -! FAST: {{%[A-Za-z0-9._]+}} = math.ceil {{%[A-Za-z0-9._]+}} : f32 -! RELAXED: {{%[A-Za-z0-9._]+}} = math.ceil {{%[A-Za-z0-9._]+}} : f32 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @ceilf({{%[A-Za-z0-9._]+}}) : (f32) -> f32 +! FAST: {{%[A-Za-z0-9._]+}} = math.ceil {{%[A-Za-z0-9._]+}} {{.*}} : f32 +! RELAXED: {{%[A-Za-z0-9._]+}} = math.ceil {{%[A-Za-z0-9._]+}} {{.*}} : f32 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @ceilf({{%[A-Za-z0-9._]+}}) {{.*}} : (f32) -> f32 function test_real8(x) real(8) :: x, test_real8 @@ -219,9 +219,9 @@ end function ! ALL-LABEL: @_QPtest_real8 -! FAST: {{%[A-Za-z0-9._]+}} = math.ceil {{%[A-Za-z0-9._]+}} : f64 -! RELAXED: {{%[A-Za-z0-9._]+}} = math.ceil {{%[A-Za-z0-9._]+}} : f64 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @ceil({{%[A-Za-z0-9._]+}}) : (f64) -> f64 +! FAST: {{%[A-Za-z0-9._]+}} = math.ceil {{%[A-Za-z0-9._]+}} {{.*}} : f64 +! RELAXED: {{%[A-Za-z0-9._]+}} = math.ceil {{%[A-Za-z0-9._]+}} {{.*}} : f64 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @ceil({{%[A-Za-z0-9._]+}}) {{.*}} : (f64) -> f64 //--- cos.f90 ! RUN: bbc -emit-fir %t/cos.f90 -o - --math-runtime=fast | FileCheck --check-prefixes=ALL,FAST %t/cos.f90 @@ -237,9 +237,9 @@ end function ! ALL-LABEL: @_QPtest_real4 -! FAST: {{%[A-Za-z0-9._]+}} = math.cos {{%[A-Za-z0-9._]+}} : f32 -! RELAXED: {{%[A-Za-z0-9._]+}} = math.cos {{%[A-Za-z0-9._]+}} : f32 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @cosf({{%[A-Za-z0-9._]+}}) : (f32) -> f32 +! FAST: {{%[A-Za-z0-9._]+}} = math.cos {{%[A-Za-z0-9._]+}} {{.*}} : f32 +! RELAXED: {{%[A-Za-z0-9._]+}} = math.cos {{%[A-Za-z0-9._]+}} {{.*}} : f32 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @cosf({{%[A-Za-z0-9._]+}}) {{.*}} : (f32) -> f32 function test_real8(x) real(8) :: x, test_real8 @@ -247,9 +247,9 @@ end function ! ALL-LABEL: @_QPtest_real8 -! FAST: {{%[A-Za-z0-9._]+}} = math.cos {{%[A-Za-z0-9._]+}} : f64 -! RELAXED: {{%[A-Za-z0-9._]+}} = math.cos {{%[A-Za-z0-9._]+}} : f64 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @cos({{%[A-Za-z0-9._]+}}) : (f64) -> f64 +! FAST: {{%[A-Za-z0-9._]+}} = math.cos {{%[A-Za-z0-9._]+}} {{.*}} : f64 +! RELAXED: {{%[A-Za-z0-9._]+}} = math.cos {{%[A-Za-z0-9._]+}} {{.*}} : f64 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @cos({{%[A-Za-z0-9._]+}}) {{.*}} : (f64) -> f64 //--- cosh.f90 ! RUN: bbc -emit-fir %t/cosh.f90 -o - --math-runtime=fast | FileCheck --check-prefixes=ALL %t/cosh.f90 @@ -265,7 +265,7 @@ end function ! ALL-LABEL: @_QPtest_real4 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @coshf({{%[A-Za-z0-9._]+}}) : (f32) -> f32 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @coshf({{%[A-Za-z0-9._]+}}) {{.*}} : (f32) -> f32 function test_real8(x) real(8) :: x, test_real8 @@ -273,7 +273,7 @@ end function ! ALL-LABEL: @_QPtest_real8 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @cosh({{%[A-Za-z0-9._]+}}) : (f64) -> f64 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @cosh({{%[A-Za-z0-9._]+}}) {{.*}} : (f64) -> f64 //--- erf.f90 ! RUN: bbc -emit-fir %t/erf.f90 -o - --math-runtime=fast | FileCheck --check-prefixes=ALL,FAST %t/erf.f90 @@ -289,9 +289,9 @@ end function ! ALL-LABEL: @_QPtest_real4 -! FAST: {{%[A-Za-z0-9._]+}} = math.erf {{%[A-Za-z0-9._]+}} : f32 -! RELAXED: {{%[A-Za-z0-9._]+}} = math.erf {{%[A-Za-z0-9._]+}} : f32 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @erff({{%[A-Za-z0-9._]+}}) : (f32) -> f32 +! FAST: {{%[A-Za-z0-9._]+}} = math.erf {{%[A-Za-z0-9._]+}} {{.*}} : f32 +! RELAXED: {{%[A-Za-z0-9._]+}} = math.erf {{%[A-Za-z0-9._]+}} {{.*}} : f32 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @erff({{%[A-Za-z0-9._]+}}) {{.*}} : (f32) -> f32 function test_real8(x) real(8) :: x, test_real8 @@ -299,9 +299,9 @@ end function ! ALL-LABEL: @_QPtest_real8 -! FAST: {{%[A-Za-z0-9._]+}} = math.erf {{%[A-Za-z0-9._]+}} : f64 -! RELAXED: {{%[A-Za-z0-9._]+}} = math.erf {{%[A-Za-z0-9._]+}} : f64 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @erf({{%[A-Za-z0-9._]+}}) : (f64) -> f64 +! FAST: {{%[A-Za-z0-9._]+}} = math.erf {{%[A-Za-z0-9._]+}} {{.*}} : f64 +! RELAXED: {{%[A-Za-z0-9._]+}} = math.erf {{%[A-Za-z0-9._]+}} {{.*}} : f64 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @erf({{%[A-Za-z0-9._]+}}) {{.*}} : (f64) -> f64 //--- exp.f90 ! RUN: bbc -emit-fir %t/exp.f90 -o - --math-runtime=fast | FileCheck --check-prefixes=ALL,FAST %t/exp.f90 @@ -317,9 +317,9 @@ end function ! ALL-LABEL: @_QPtest_real4 -! FAST: {{%[A-Za-z0-9._]+}} = math.exp {{%[A-Za-z0-9._]+}} : f32 -! RELAXED: {{%[A-Za-z0-9._]+}} = math.exp {{%[A-Za-z0-9._]+}} : f32 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @expf({{%[A-Za-z0-9._]+}}) : (f32) -> f32 +! FAST: {{%[A-Za-z0-9._]+}} = math.exp {{%[A-Za-z0-9._]+}} {{.*}} : f32 +! RELAXED: {{%[A-Za-z0-9._]+}} = math.exp {{%[A-Za-z0-9._]+}} {{.*}} : f32 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @expf({{%[A-Za-z0-9._]+}}) {{.*}} : (f32) -> f32 function test_real8(x) real(8) :: x, test_real8 @@ -327,9 +327,9 @@ end function ! ALL-LABEL: @_QPtest_real8 -! FAST: {{%[A-Za-z0-9._]+}} = math.exp {{%[A-Za-z0-9._]+}} : f64 -! RELAXED: {{%[A-Za-z0-9._]+}} = math.exp {{%[A-Za-z0-9._]+}} : f64 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @exp({{%[A-Za-z0-9._]+}}) : (f64) -> f64 +! FAST: {{%[A-Za-z0-9._]+}} = math.exp {{%[A-Za-z0-9._]+}} {{.*}} : f64 +! RELAXED: {{%[A-Za-z0-9._]+}} = math.exp {{%[A-Za-z0-9._]+}} {{.*}} : f64 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @exp({{%[A-Za-z0-9._]+}}) {{.*}} : (f64) -> f64 //--- floor.f90 ! RUN: bbc -emit-fir %t/floor.f90 -o - --math-runtime=fast | FileCheck --check-prefixes=ALL,FAST %t/floor.f90 @@ -345,9 +345,9 @@ end function ! ALL-LABEL: @_QPtest_real4 -! FAST: {{%[A-Za-z0-9._]+}} = math.floor {{%[A-Za-z0-9._]+}} : f32 -! RELAXED: {{%[A-Za-z0-9._]+}} = math.floor {{%[A-Za-z0-9._]+}} : f32 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @floorf({{%[A-Za-z0-9._]+}}) : (f32) -> f32 +! FAST: {{%[A-Za-z0-9._]+}} = math.floor {{%[A-Za-z0-9._]+}} {{.*}} : f32 +! RELAXED: {{%[A-Za-z0-9._]+}} = math.floor {{%[A-Za-z0-9._]+}} {{.*}} : f32 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @floorf({{%[A-Za-z0-9._]+}}) {{.*}} : (f32) -> f32 function test_real8(x) real(8) :: x, test_real8 @@ -355,9 +355,9 @@ end function ! ALL-LABEL: @_QPtest_real8 -! FAST: {{%[A-Za-z0-9._]+}} = math.floor {{%[A-Za-z0-9._]+}} : f64 -! RELAXED: {{%[A-Za-z0-9._]+}} = math.floor {{%[A-Za-z0-9._]+}} : f64 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @floor({{%[A-Za-z0-9._]+}}) : (f64) -> f64 +! FAST: {{%[A-Za-z0-9._]+}} = math.floor {{%[A-Za-z0-9._]+}} {{.*}} : f64 +! RELAXED: {{%[A-Za-z0-9._]+}} = math.floor {{%[A-Za-z0-9._]+}} {{.*}} : f64 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @floor({{%[A-Za-z0-9._]+}}) {{.*}} : (f64) -> f64 //--- log.f90 ! RUN: bbc -emit-fir %t/log.f90 -o - --math-runtime=fast | FileCheck --check-prefixes=ALL,FAST %t/log.f90 @@ -373,9 +373,9 @@ end function ! ALL-LABEL: @_QPtest_real4 -! FAST: {{%[A-Za-z0-9._]+}} = math.log {{%[A-Za-z0-9._]+}} : f32 -! RELAXED: {{%[A-Za-z0-9._]+}} = math.log {{%[A-Za-z0-9._]+}} : f32 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @logf({{%[A-Za-z0-9._]+}}) : (f32) -> f32 +! FAST: {{%[A-Za-z0-9._]+}} = math.log {{%[A-Za-z0-9._]+}} {{.*}} : f32 +! RELAXED: {{%[A-Za-z0-9._]+}} = math.log {{%[A-Za-z0-9._]+}} {{.*}} : f32 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @logf({{%[A-Za-z0-9._]+}}) {{.*}} : (f32) -> f32 function test_real8(x) real(8) :: x, test_real8 @@ -383,9 +383,9 @@ end function ! ALL-LABEL: @_QPtest_real8 -! FAST: {{%[A-Za-z0-9._]+}} = math.log {{%[A-Za-z0-9._]+}} : f64 -! RELAXED: {{%[A-Za-z0-9._]+}} = math.log {{%[A-Za-z0-9._]+}} : f64 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @log({{%[A-Za-z0-9._]+}}) : (f64) -> f64 +! FAST: {{%[A-Za-z0-9._]+}} = math.log {{%[A-Za-z0-9._]+}} {{.*}} : f64 +! RELAXED: {{%[A-Za-z0-9._]+}} = math.log {{%[A-Za-z0-9._]+}} {{.*}} : f64 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @log({{%[A-Za-z0-9._]+}}) {{.*}} : (f64) -> f64 //--- log10.f90 ! RUN: bbc -emit-fir %t/log10.f90 -o - --math-runtime=fast | FileCheck --check-prefixes=ALL,FAST %t/log10.f90 @@ -401,9 +401,9 @@ end function ! ALL-LABEL: @_QPtest_real4 -! FAST: {{%[A-Za-z0-9._]+}} = math.log10 {{%[A-Za-z0-9._]+}} : f32 -! RELAXED: {{%[A-Za-z0-9._]+}} = math.log10 {{%[A-Za-z0-9._]+}} : f32 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @log10f({{%[A-Za-z0-9._]+}}) : (f32) -> f32 +! FAST: {{%[A-Za-z0-9._]+}} = math.log10 {{%[A-Za-z0-9._]+}} {{.*}} : f32 +! RELAXED: {{%[A-Za-z0-9._]+}} = math.log10 {{%[A-Za-z0-9._]+}} {{.*}} : f32 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @log10f({{%[A-Za-z0-9._]+}}) {{.*}} : (f32) -> f32 function test_real8(x) real(8) :: x, test_real8 @@ -411,9 +411,9 @@ end function ! ALL-LABEL: @_QPtest_real8 -! FAST: {{%[A-Za-z0-9._]+}} = math.log10 {{%[A-Za-z0-9._]+}} : f64 -! RELAXED: {{%[A-Za-z0-9._]+}} = math.log10 {{%[A-Za-z0-9._]+}} : f64 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @log10({{%[A-Za-z0-9._]+}}) : (f64) -> f64 +! FAST: {{%[A-Za-z0-9._]+}} = math.log10 {{%[A-Za-z0-9._]+}} {{.*}} : f64 +! RELAXED: {{%[A-Za-z0-9._]+}} = math.log10 {{%[A-Za-z0-9._]+}} {{.*}} : f64 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @log10({{%[A-Za-z0-9._]+}}) {{.*}} : (f64) -> f64 //--- nint.f90 ! RUN: bbc -emit-fir %t/nint.f90 -o - --math-runtime=fast | FileCheck --check-prefixes=ALL %t/nint.f90 @@ -429,8 +429,8 @@ end function ! ALL-LABEL: @_QPtest_real4 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @llvm.lround.i32.f32({{%[A-Za-z0-9._]+}}) : (f32) -> i32 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @llvm.lround.i64.f32({{%[A-Za-z0-9._]+}}) : (f32) -> i64 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @llvm.lround.i32.f32({{%[A-Za-z0-9._]+}}) {{.*}} : (f32) -> i32 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @llvm.lround.i64.f32({{%[A-Za-z0-9._]+}}) {{.*}} : (f32) -> i64 function test_real8(x) real(8) :: x, test_real8 @@ -438,8 +438,8 @@ end function ! ALL-LABEL: @_QPtest_real8 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @llvm.lround.i32.f64({{%[A-Za-z0-9._]+}}) : (f64) -> i32 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @llvm.lround.i64.f64({{%[A-Za-z0-9._]+}}) : (f64) -> i64 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @llvm.lround.i32.f64({{%[A-Za-z0-9._]+}}) {{.*}} : (f64) -> i32 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @llvm.lround.i64.f64({{%[A-Za-z0-9._]+}}) {{.*}} : (f64) -> i64 //--- exponentiation.f90 ! RUN: bbc -emit-fir %t/exponentiation.f90 -o - --math-runtime=fast | FileCheck --check-prefixes=ALL,FAST %t/exponentiation.f90 @@ -458,11 +458,11 @@ ! ALL-LABEL: @_QPtest_real4 ! ALL: [[STOI:%[A-Za-z0-9._]+]] = fir.convert {{%[A-Za-z0-9._]+}} : (i16) -> i32 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @llvm.powi.f32.i32({{%[A-Za-z0-9._]+}}, [[STOI]]) : (f32, i32) -> f32 -! FAST: {{%[A-Za-z0-9._]+}} = math.powf {{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}} : f32 -! RELAXED: {{%[A-Za-z0-9._]+}} = math.powf {{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}} : f32 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @powf({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) : (f32, f32) -> f32 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @llvm.powi.f32.i32({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) : (f32, i32) -> f32 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @llvm.powi.f32.i32({{%[A-Za-z0-9._]+}}, [[STOI]]) {{.*}} : (f32, i32) -> f32 +! FAST: {{%[A-Za-z0-9._]+}} = math.powf {{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}} {{.*}} : f32 +! RELAXED: {{%[A-Za-z0-9._]+}} = math.powf {{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}} {{.*}} : f32 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @powf({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) {{.*}} : (f32, f32) -> f32 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @llvm.powi.f32.i32({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) {{.*}} : (f32, i32) -> f32 function test_real8(x, y, s, i) real(8) :: x, y, test_real8 @@ -473,11 +473,11 @@ ! ALL-LABEL: @_QPtest_real8 ! ALL: [[STOI:%[A-Za-z0-9._]+]] = fir.convert {{%[A-Za-z0-9._]+}} : (i16) -> i32 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @llvm.powi.f64.i32({{%[A-Za-z0-9._]+}}, [[STOI]]) : (f64, i32) -> f64 -! FAST: {{%[A-Za-z0-9._]+}} = math.powf {{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}} : f64 -! RELAXED: {{%[A-Za-z0-9._]+}} = math.powf {{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}} : f64 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @pow({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) : (f64, f64) -> f64 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @llvm.powi.f64.i32({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) : (f64, i32) -> f64 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @llvm.powi.f64.i32({{%[A-Za-z0-9._]+}}, [[STOI]]) {{.*}} : (f64, i32) -> f64 +! FAST: {{%[A-Za-z0-9._]+}} = math.powf {{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}} {{.*}} : f64 +! RELAXED: {{%[A-Za-z0-9._]+}} = math.powf {{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}} {{.*}} : f64 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @pow({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) {{.*}} : (f64, f64) -> f64 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @llvm.powi.f64.i32({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) {{.*}} : (f64, i32) -> f64 //--- sign.f90 ! RUN: bbc -emit-fir %t/sign.f90 -o - --math-runtime=fast | FileCheck --check-prefixes=ALL,FAST %t/sign.f90 @@ -493,9 +493,9 @@ end function ! ALL-LABEL: @_QPtest_real4 -! FAST: {{%[A-Za-z0-9._]+}} = math.copysign {{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}} : f32 -! RELAXED: {{%[A-Za-z0-9._]+}} = math.copysign {{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}} : f32 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @copysignf({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) : (f32, f32) -> f32 +! FAST: {{%[A-Za-z0-9._]+}} = math.copysign {{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}} {{.*}} : f32 +! RELAXED: {{%[A-Za-z0-9._]+}} = math.copysign {{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}} {{.*}} : f32 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @copysignf({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) {{.*}} : (f32, f32) -> f32 function test_real8(x, y) real(8) :: x, y, test_real8 @@ -503,9 +503,9 @@ end function ! ALL-LABEL: @_QPtest_real8 -! FAST: {{%[A-Za-z0-9._]+}} = math.copysign {{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}} : f64 -! RELAXED: {{%[A-Za-z0-9._]+}} = math.copysign {{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}} : f64 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @copysign({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) : (f64, f64) -> f64 +! FAST: {{%[A-Za-z0-9._]+}} = math.copysign {{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}} {{.*}} : f64 +! RELAXED: {{%[A-Za-z0-9._]+}} = math.copysign {{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}} {{.*}} : f64 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @copysign({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) {{.*}} : (f64, f64) -> f64 function test_real10(x, y) real(10) :: x, y, test_real10 @@ -513,9 +513,9 @@ end function ! ALL-LABEL: @_QPtest_real10 -! FAST: {{%[A-Za-z0-9._]+}} = math.copysign {{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}} : f80 -! RELAXED: {{%[A-Za-z0-9._]+}} = math.copysign {{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}} : f80 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @copysignl({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) : (f80, f80) -> f80 +! FAST: {{%[A-Za-z0-9._]+}} = math.copysign {{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}} {{.*}} : f80 +! RELAXED: {{%[A-Za-z0-9._]+}} = math.copysign {{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}} {{.*}} : f80 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @copysignl({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) {{.*}} : (f80, f80) -> f80 function test_real16(x, y) real(16) :: x, y, test_real16 @@ -523,9 +523,9 @@ end function ! ALL-LABEL: @_QPtest_real16 -! FAST: {{%[A-Za-z0-9._]+}} = math.copysign {{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}} : f128 -! RELAXED: {{%[A-Za-z0-9._]+}} = math.copysign {{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}} : f128 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @llvm.copysign.f128({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) : (f128, f128) -> f128 +! FAST: {{%[A-Za-z0-9._]+}} = math.copysign {{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}} {{.*}} : f128 +! RELAXED: {{%[A-Za-z0-9._]+}} = math.copysign {{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}} {{.*}} : f128 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @llvm.copysign.f128({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) {{.*}} : (f128, f128) -> f128 //--- sin.f90 ! RUN: bbc -emit-fir %t/sin.f90 -o - --math-runtime=fast | FileCheck --check-prefixes=ALL,FAST %t/sin.f90 @@ -541,9 +541,9 @@ end function ! ALL-LABEL: @_QPtest_real4 -! FAST: {{%[A-Za-z0-9._]+}} = math.sin {{%[A-Za-z0-9._]+}} : f32 -! RELAXED: {{%[A-Za-z0-9._]+}} = math.sin {{%[A-Za-z0-9._]+}} : f32 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @sinf({{%[A-Za-z0-9._]+}}) : (f32) -> f32 +! FAST: {{%[A-Za-z0-9._]+}} = math.sin {{%[A-Za-z0-9._]+}} {{.*}} : f32 +! RELAXED: {{%[A-Za-z0-9._]+}} = math.sin {{%[A-Za-z0-9._]+}} {{.*}} : f32 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @sinf({{%[A-Za-z0-9._]+}}) {{.*}} : (f32) -> f32 function test_real8(x) real(8) :: x, test_real8 @@ -551,9 +551,9 @@ end function ! ALL-LABEL: @_QPtest_real8 -! FAST: {{%[A-Za-z0-9._]+}} = math.sin {{%[A-Za-z0-9._]+}} : f64 -! RELAXED: {{%[A-Za-z0-9._]+}} = math.sin {{%[A-Za-z0-9._]+}} : f64 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @sin({{%[A-Za-z0-9._]+}}) : (f64) -> f64 +! FAST: {{%[A-Za-z0-9._]+}} = math.sin {{%[A-Za-z0-9._]+}} {{.*}} : f64 +! RELAXED: {{%[A-Za-z0-9._]+}} = math.sin {{%[A-Za-z0-9._]+}} {{.*}} : f64 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @sin({{%[A-Za-z0-9._]+}}) {{.*}} : (f64) -> f64 //--- sinh.f90 ! RUN: bbc -emit-fir %t/sinh.f90 -o - --math-runtime=fast | FileCheck --check-prefixes=ALL %t/sinh.f90 @@ -569,7 +569,7 @@ end function ! ALL-LABEL: @_QPtest_real4 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @sinhf({{%[A-Za-z0-9._]+}}) : (f32) -> f32 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @sinhf({{%[A-Za-z0-9._]+}}) {{.*}} : (f32) -> f32 function test_real8(x) real(8) :: x, test_real8 @@ -577,7 +577,7 @@ end function ! ALL-LABEL: @_QPtest_real8 -! ALL: {{%[A-Za-z0-9._]+}} = fir.call @sinh({{%[A-Za-z0-9._]+}}) : (f64) -> f64 +! ALL: {{%[A-Za-z0-9._]+}} = fir.call @sinh({{%[A-Za-z0-9._]+}}) {{.*}} : (f64) -> f64 //--- tanh.f90 ! RUN: bbc -emit-fir %t/tanh.f90 -o - --math-runtime=fast | FileCheck --check-prefixes=ALL,FAST %t/tanh.f90 @@ -593,9 +593,9 @@ end function ! ALL-LABEL: @_QPtest_real4 -! FAST: {{%[A-Za-z0-9._]+}} = math.tanh {{%[A-Za-z0-9._]+}} : f32 -! RELAXED: {{%[A-Za-z0-9._]+}} = math.tanh {{%[A-Za-z0-9._]+}} : f32 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @tanhf({{%[A-Za-z0-9._]+}}) : (f32) -> f32 +! FAST: {{%[A-Za-z0-9._]+}} = math.tanh {{%[A-Za-z0-9._]+}} {{.*}} : f32 +! RELAXED: {{%[A-Za-z0-9._]+}} = math.tanh {{%[A-Za-z0-9._]+}} {{.*}} : f32 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @tanhf({{%[A-Za-z0-9._]+}}) {{.*}} : (f32) -> f32 function test_real8(x) real(8) :: x, test_real8 @@ -603,9 +603,9 @@ end function ! ALL-LABEL: @_QPtest_real8 -! FAST: {{%[A-Za-z0-9._]+}} = math.tanh {{%[A-Za-z0-9._]+}} : f64 -! RELAXED: {{%[A-Za-z0-9._]+}} = math.tanh {{%[A-Za-z0-9._]+}} : f64 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @tanh({{%[A-Za-z0-9._]+}}) : (f64) -> f64 +! FAST: {{%[A-Za-z0-9._]+}} = math.tanh {{%[A-Za-z0-9._]+}} {{.*}} : f64 +! RELAXED: {{%[A-Za-z0-9._]+}} = math.tanh {{%[A-Za-z0-9._]+}} {{.*}} : f64 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @tanh({{%[A-Za-z0-9._]+}}) {{.*}} : (f64) -> f64 //--- tan.f90 ! RUN: bbc -emit-fir %t/tan.f90 -o - --math-runtime=fast | FileCheck --check-prefixes=ALL,FAST %t/tan.f90 @@ -621,9 +621,9 @@ end function ! ALL-LABEL: @_QPtest_real4 -! FAST: {{%[A-Za-z0-9._]+}} = math.tan {{%[A-Za-z0-9._]+}} : f32 -! RELAXED: {{%[A-Za-z0-9._]+}} = math.tan {{%[A-Za-z0-9._]+}} : f32 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @tanf({{%[A-Za-z0-9._]+}}) : (f32) -> f32 +! FAST: {{%[A-Za-z0-9._]+}} = math.tan {{%[A-Za-z0-9._]+}} {{.*}} : f32 +! RELAXED: {{%[A-Za-z0-9._]+}} = math.tan {{%[A-Za-z0-9._]+}} {{.*}} : f32 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @tanf({{%[A-Za-z0-9._]+}}) {{.*}} : (f32) -> f32 function test_real8(x) real(8) :: x, test_real8 @@ -631,6 +631,6 @@ end function ! ALL-LABEL: @_QPtest_real8 -! FAST: {{%[A-Za-z0-9._]+}} = math.tan {{%[A-Za-z0-9._]+}} : f64 -! RELAXED: {{%[A-Za-z0-9._]+}} = math.tan {{%[A-Za-z0-9._]+}} : f64 -! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @tan({{%[A-Za-z0-9._]+}}) : (f64) -> f64 +! FAST: {{%[A-Za-z0-9._]+}} = math.tan {{%[A-Za-z0-9._]+}} {{.*}} : f64 +! RELAXED: {{%[A-Za-z0-9._]+}} = math.tan {{%[A-Za-z0-9._]+}} {{.*}} : f64 +! PRECISE: {{%[A-Za-z0-9._]+}} = fir.call @tan({{%[A-Za-z0-9._]+}}) {{.*}} : (f64) -> f64 Index: flang/test/Lower/mixed_loops.f90 =================================================================== --- flang/test/Lower/mixed_loops.f90 +++ flang/test/Lower/mixed_loops.f90 @@ -59,9 +59,9 @@ ! CHECK: ^[[EXIT1]]: // pred: ^[[HDR1]] ! CHECK: %[[IPRINT:.*]] = fir.load %[[I_REF]] : !fir.ref - ! CHECK: fir.call @_FortranAioOutputInteger32(%{{.*}}, %[[IPRINT]]) : (!fir.ref, i32) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger32(%{{.*}}, %[[IPRINT]]) {{.*}} : (!fir.ref, i32) -> i1 ! CHECK: %[[JPRINT:.*]] = fir.load %[[J_REF]] : !fir.ref - ! CHECK: fir.call @_FortranAioOutputInteger32(%{{.*}}, %[[JPRINT]]) : (!fir.ref, i32) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger32(%{{.*}}, %[[JPRINT]]) {{.*}} : (!fir.ref, i32) -> i1 print *, i, j end subroutine @@ -115,8 +115,8 @@ ! CHECK: ^[[EXIT1]]: // pred: ^[[HDR1]] ! CHECK: %[[IPRINT:.*]] = fir.load %[[I_REF]] : !fir.ref - ! CHECK: fir.call @_FortranAioOutputInteger32(%{{.*}}, %[[IPRINT]]) : (!fir.ref, i32) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger32(%{{.*}}, %[[IPRINT]]) {{.*}} : (!fir.ref, i32) -> i1 ! CHECK: %[[JPRINT:.*]] = fir.load %[[J_REF]] : !fir.ref - ! CHECK: fir.call @_FortranAioOutputInteger32(%{{.*}}, %[[JPRINT]]) : (!fir.ref, i32) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger32(%{{.*}}, %[[JPRINT]]) {{.*}} : (!fir.ref, i32) -> i1 print *, i, j end subroutine Index: flang/test/Lower/namelist.f90 =================================================================== --- flang/test/Lower/namelist.f90 +++ flang/test/Lower/namelist.f90 @@ -75,7 +75,7 @@ ! CHECK: %[[a0:.*]] = fir.address_of namelist/mygroup/ptrarray ! CHECK: %[[a1:.*]] = fir.convert %[[a0]] - ! CHECK: %[[a2:.*]] = fir.call @_FortranAioBeginExternalListOutput({{.*}}, %[[a1]], {{.*}}) : (i32, !fir.ref, i32) -> !fir.ref + ! CHECK: %[[a2:.*]] = fir.call @_FortranAioBeginExternalListOutput({{.*}}, %[[a1]], {{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[a3:.*]] = fir.address_of ! CHECK: %[[a4:.*]] = fir.convert %[[a3]] ! CHECK: %[[a5:.*]] = fir.call @_FortranAioOutputNamelist(%[[a2]], %[[a4]]) Index: flang/test/Lower/nested-where.f90 =================================================================== --- flang/test/Lower/nested-where.f90 +++ flang/test/Lower/nested-where.f90 @@ -73,7 +73,7 @@ ! CHECK: fir.store %[[VAL_49]] to %[[VAL_60]] : !fir.ref ! CHECK: %[[VAL_61:.*]] = fir.convert %[[VAL_4]] : (!fir.ref>, !fir.heap>>>) -> !fir.llvm_ptr ! CHECK: %[[VAL_62:.*]] = fir.convert %[[VAL_58]] : (!fir.heap>) -> !fir.ref - ! CHECK: %[[VAL_63:.*]] = fir.call @_FortranARaggedArrayAllocate(%[[VAL_61]], %[[VAL_56]], %[[VAL_57]], %[[VAL_40]], %[[VAL_62]]) : (!fir.llvm_ptr, i1, i64, i64, !fir.ref) -> !fir.llvm_ptr + ! CHECK: %[[VAL_63:.*]] = fir.call @_FortranARaggedArrayAllocate(%[[VAL_61]], %[[VAL_56]], %[[VAL_57]], %[[VAL_40]], %[[VAL_62]]) {{.*}} : (!fir.llvm_ptr, i1, i64, i64, !fir.ref) -> !fir.llvm_ptr ! CHECK: } ! CHECK: %[[VAL_64:.*]] = arith.subi %[[VAL_37]], %[[VAL_30]] : index ! CHECK: %[[VAL_65:.*]] = arith.divsi %[[VAL_64]], %[[VAL_33]] : index @@ -109,7 +109,7 @@ ! CHECK: fir.store %[[VAL_93]] to %[[VAL_92]] : !fir.ref ! CHECK: %[[VAL_94:.*]] = fir.convert %[[VAL_73]] : (!fir.ref>, !fir.heap>>>) -> !fir.llvm_ptr ! CHECK: %[[VAL_95:.*]] = fir.convert %[[VAL_90]] : (!fir.heap>) -> !fir.ref - ! CHECK: %[[VAL_96:.*]] = fir.call @_FortranARaggedArrayAllocate(%[[VAL_94]], %[[VAL_88]], %[[VAL_89]], %[[VAL_81]], %[[VAL_95]]) : (!fir.llvm_ptr, i1, i64, i64, !fir.ref) -> !fir.llvm_ptr + ! CHECK: %[[VAL_96:.*]] = fir.call @_FortranARaggedArrayAllocate(%[[VAL_94]], %[[VAL_88]], %[[VAL_89]], %[[VAL_81]], %[[VAL_95]]) {{.*}} : (!fir.llvm_ptr, i1, i64, i64, !fir.ref) -> !fir.llvm_ptr ! CHECK: } ! CHECK: %[[VAL_97:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_98:.*]] = arith.constant 0 : index @@ -157,7 +157,7 @@ ! CHECK: fir.store %[[VAL_125]] to %[[VAL_136]] : !fir.ref ! CHECK: %[[VAL_137:.*]] = fir.convert %[[VAL_3]] : (!fir.ref>, !fir.heap>>>) -> !fir.llvm_ptr ! CHECK: %[[VAL_138:.*]] = fir.convert %[[VAL_134]] : (!fir.heap>) -> !fir.ref - ! CHECK: %[[VAL_139:.*]] = fir.call @_FortranARaggedArrayAllocate(%[[VAL_137]], %[[VAL_132]], %[[VAL_133]], %[[VAL_116]], %[[VAL_138]]) : (!fir.llvm_ptr, i1, i64, i64, !fir.ref) -> !fir.llvm_ptr + ! CHECK: %[[VAL_139:.*]] = fir.call @_FortranARaggedArrayAllocate(%[[VAL_137]], %[[VAL_132]], %[[VAL_133]], %[[VAL_116]], %[[VAL_138]]) {{.*}} : (!fir.llvm_ptr, i1, i64, i64, !fir.ref) -> !fir.llvm_ptr ! CHECK: } ! CHECK: %[[VAL_140:.*]] = arith.subi %[[VAL_113]], %[[VAL_30]] : index ! CHECK: %[[VAL_141:.*]] = arith.divsi %[[VAL_140]], %[[VAL_33]] : index @@ -193,7 +193,7 @@ ! CHECK: fir.store %[[VAL_169]] to %[[VAL_168]] : !fir.ref ! CHECK: %[[VAL_170:.*]] = fir.convert %[[VAL_149]] : (!fir.ref>, !fir.heap>>>) -> !fir.llvm_ptr ! CHECK: %[[VAL_171:.*]] = fir.convert %[[VAL_166]] : (!fir.heap>) -> !fir.ref - ! CHECK: %[[VAL_172:.*]] = fir.call @_FortranARaggedArrayAllocate(%[[VAL_170]], %[[VAL_164]], %[[VAL_165]], %[[VAL_157]], %[[VAL_171]]) : (!fir.llvm_ptr, i1, i64, i64, !fir.ref) -> !fir.llvm_ptr + ! CHECK: %[[VAL_172:.*]] = fir.call @_FortranARaggedArrayAllocate(%[[VAL_170]], %[[VAL_164]], %[[VAL_165]], %[[VAL_157]], %[[VAL_171]]) {{.*}} : (!fir.llvm_ptr, i1, i64, i64, !fir.ref) -> !fir.llvm_ptr ! CHECK: } ! CHECK: %[[VAL_173:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_174:.*]] = arith.constant 0 : index @@ -310,9 +310,9 @@ ! CHECK: } ! CHECK: fir.array_merge_store %[[VAL_35]], %[[VAL_277:.*]] to %[[VAL_5]] : !fir.array<3xi32>, !fir.array<3xi32>, !fir.ref> ! CHECK: %[[VAL_278:.*]] = fir.convert %[[VAL_3]] : (!fir.ref>, !fir.heap>>>) -> !fir.llvm_ptr - ! CHECK: %[[VAL_279:.*]] = fir.call @_FortranARaggedArrayDeallocate(%[[VAL_278]]) : (!fir.llvm_ptr) -> none + ! CHECK: %[[VAL_279:.*]] = fir.call @_FortranARaggedArrayDeallocate(%[[VAL_278]]) {{.*}} : (!fir.llvm_ptr) -> none ! CHECK: %[[VAL_280:.*]] = fir.convert %[[VAL_4]] : (!fir.ref>, !fir.heap>>>) -> !fir.llvm_ptr - ! CHECK: %[[VAL_281:.*]] = fir.call @_FortranARaggedArrayDeallocate(%[[VAL_280]]) : (!fir.llvm_ptr) -> none + ! CHECK: %[[VAL_281:.*]] = fir.call @_FortranARaggedArrayDeallocate(%[[VAL_280]]) {{.*}} : (!fir.llvm_ptr) -> none integer :: a(3) = 0 logical :: mask1(3) = (/ .true.,.false.,.true. /) Index: flang/test/Lower/non-standard-extensions.f90 =================================================================== --- flang/test/Lower/non-standard-extensions.f90 +++ flang/test/Lower/non-standard-extensions.f90 @@ -9,7 +9,7 @@ real(4) :: returns_i32 ! CHECK: %[[funcAddr:.*]] = fir.address_of(@_QPreturns_i32) : () -> i32 ! CHECK: %[[funcCast:.*]] = fir.convert %[[funcAddr]] : (() -> i32) -> (() -> f32) - ! CHECK: fir.call %[[funcCast]]() : () -> f32 + ! CHECK: fir.call %[[funcCast]]() {{.*}} : () -> f32 print *, returns_i32() end subroutine integer(4) function returns_i32() Index: flang/test/Lower/nullify-polymorphic.f90 =================================================================== --- flang/test/Lower/nullify-polymorphic.f90 +++ flang/test/Lower/nullify-polymorphic.f90 @@ -43,10 +43,10 @@ ! CHECK-LABEL: func.func @_QMpolyPtest_nullify() ! CHECK: %[[C_DESC:.*]] = fir.alloca !fir.class>> {bindc_name = "c", uniq_name = "_QMpolyFtest_nullifyEc"} -! CHECK: %{{.*}} = fir.call @_FortranAPointerAllocate(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 +! CHECK: %{{.*}} = fir.call @_FortranAPointerAllocate(%{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 ! CHECK: %[[DECLARED_TYPE:.*]] = fir.address_of(@_QMpolyE.dt.p1) : !fir.ref> ! CHECK: %[[C_DESC_CAST:.*]] = fir.convert %[[C_DESC]] : (!fir.ref>>>) -> !fir.ref> ! CHECK: %[[TYPE_DESC_CAST:.*]] = fir.convert %[[DECLARED_TYPE]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[RANK:.*]] = arith.constant 0 : i32 ! CHECK: %[[CORANK:.*]] = arith.constant 0 : i32 -! CHECK: %{{.*}} = fir.call @_FortranAPointerNullifyDerived(%[[C_DESC_CAST]], %[[TYPE_DESC_CAST]], %[[RANK]], %[[CORANK]]) : (!fir.ref>, !fir.ref, i32, i32) -> none +! CHECK: %{{.*}} = fir.call @_FortranAPointerNullifyDerived(%[[C_DESC_CAST]], %[[TYPE_DESC_CAST]], %[[RANK]], %[[CORANK]]) {{.*}} : (!fir.ref>, !fir.ref, i32, i32) -> none Index: flang/test/Lower/optional-value-caller.f90 =================================================================== --- flang/test/Lower/optional-value-caller.f90 +++ flang/test/Lower/optional-value-caller.f90 @@ -37,7 +37,7 @@ ! CHECK: %[[VAL_0:.*]] = fir.alloca i32 {adapt.valuebyref} ! CHECK: %[[VAL_1:.*]] = arith.constant 42 : i32 ! CHECK: fir.store %[[VAL_1]] to %[[VAL_0]] : !fir.ref -! CHECK: fir.call @_QPscalar(%[[VAL_0]]) : (!fir.ref) -> () +! CHECK: fir.call @_QPscalar(%[[VAL_0]]) {{.*}} : (!fir.ref) -> () end subroutine ! CHECK-LABEL: func @_QMtestPtest_scalar( @@ -55,7 +55,7 @@ ! CHECK: %[[VAL_5:.*]] = fir.absent !fir.ref ! CHECK: fir.result %[[VAL_5]] : !fir.ref ! CHECK: } -! CHECK: fir.call @_QPscalar(%[[VAL_6:.*]]) : (!fir.ref) -> () +! CHECK: fir.call @_QPscalar(%[[VAL_6:.*]]) {{.*}} : (!fir.ref) -> () end subroutine ! CHECK-LABEL: func @_QMtestPtest_scalar2( @@ -73,7 +73,7 @@ ! CHECK: %[[VAL_5:.*]] = fir.absent !fir.ref ! CHECK: fir.result %[[VAL_5]] : !fir.ref ! CHECK: } -! CHECK: fir.call @_QPscalar(%[[VAL_6:.*]]) : (!fir.ref) -> () +! CHECK: fir.call @_QPscalar(%[[VAL_6:.*]]) {{.*}} : (!fir.ref) -> () end subroutine ! CHECK-LABEL: func @_QMtestPtest_scalar3( @@ -86,7 +86,7 @@ ! CHECK: %[[VAL_2:.*]] = fir.load %[[VAL_0]] : !fir.ref ! CHECK: %[[VAL_3:.*]] = fir.no_reassoc %[[VAL_2]] : i32 ! CHECK: fir.store %[[VAL_3]] to %[[VAL_1]] : !fir.ref -! CHECK: fir.call @_QPscalar(%[[VAL_1]]) : (!fir.ref) -> () +! CHECK: fir.call @_QPscalar(%[[VAL_1]]) {{.*}} : (!fir.ref) -> () end subroutine ! CHECK-LABEL: func @_QMtestPtest_scalar_ptr( @@ -110,7 +110,7 @@ ! CHECK: %[[VAL_11:.*]] = fir.absent !fir.ref ! CHECK: fir.result %[[VAL_11]] : !fir.ref ! CHECK: } -! CHECK: fir.call @_QPscalar(%[[VAL_12:.*]]) : (!fir.ref) -> () +! CHECK: fir.call @_QPscalar(%[[VAL_12:.*]]) {{.*}} : (!fir.ref) -> () end subroutine ! CHECK-LABEL: func @_QMtestPtest_scalar_simple_var( @@ -121,7 +121,7 @@ ! CHECK: %[[VAL_1:.*]] = fir.alloca i32 ! CHECK: %[[VAL_2:.*]] = fir.load %[[VAL_0]] : !fir.ref ! CHECK: fir.store %[[VAL_2]] to %[[VAL_1]] : !fir.ref -! CHECK: fir.call @_QPscalar(%[[VAL_1]]) : (!fir.ref) -> () +! CHECK: fir.call @_QPscalar(%[[VAL_1]]) {{.*}} : (!fir.ref) -> () end subroutine @@ -146,7 +146,7 @@ ! CHECK: %[[VAL_11:.*]] = fir.absent !fir.ref ! CHECK: fir.result %[[VAL_11]] : !fir.ref ! CHECK: } -! CHECK: fir.call @_QPscalar(%[[VAL_12:.*]]) : (!fir.ref) -> () +! CHECK: fir.call @_QPscalar(%[[VAL_12:.*]]) {{.*}} : (!fir.ref) -> () end subroutine ! CHECK-LABEL: func @_QMtestPtest_ptr_2() { @@ -154,7 +154,7 @@ call scalar(returns_ptr()) ! CHECK: %[[VAL_0:.*]] = fir.alloca i32 {adapt.valuebyref} ! CHECK: %[[VAL_1:.*]] = fir.alloca !fir.box> {bindc_name = ".result"} -! CHECK: %[[VAL_2:.*]] = fir.call @_QPreturns_ptr() : () -> !fir.box> +! CHECK: %[[VAL_2:.*]] = fir.call @_QPreturns_ptr() {{.*}} : () -> !fir.box> ! CHECK: fir.save_result %[[VAL_2]] to %[[VAL_1]] : !fir.box>, !fir.ref>> ! CHECK: %[[VAL_3:.*]] = fir.load %[[VAL_1]] : !fir.ref>> ! CHECK: %[[VAL_4:.*]] = fir.box_addr %[[VAL_3]] : (!fir.box>) -> !fir.ptr @@ -171,7 +171,7 @@ ! CHECK: %[[VAL_12:.*]] = fir.absent !fir.ref ! CHECK: fir.result %[[VAL_12]] : !fir.ref ! CHECK: } -! CHECK: fir.call @_QPscalar(%[[VAL_13:.*]]) : (!fir.ref) -> () +! CHECK: fir.call @_QPscalar(%[[VAL_13:.*]]) {{.*}} : (!fir.ref) -> () end subroutine ! CHECK-LABEL: func @_QMtestPtest_array( @@ -202,7 +202,7 @@ ! CHECK: fir.result %[[VAL_18]] : !fir.heap> ! CHECK: } ! CHECK: %[[VAL_19:.*]] = fir.convert %[[VAL_20:.*]] : (!fir.heap>) -> !fir.ref> -! CHECK: fir.call @_QParray(%[[VAL_19]]) : (!fir.ref>) -> () +! CHECK: fir.call @_QParray(%[[VAL_19]]) {{.*}} : (!fir.ref>) -> () ! CHECK: fir.if %[[VAL_2]] { ! CHECK: fir.freemem %[[VAL_20]] : !fir.heap> ! CHECK: } @@ -232,7 +232,7 @@ ! CHECK: fir.result %[[VAL_23]] : !fir.heap> ! CHECK: } ! CHECK: %[[VAL_24:.*]] = fir.convert %[[VAL_8]] : (!fir.heap>) -> !fir.ref> -! CHECK: fir.call @_QParray(%[[VAL_24]]) : (!fir.ref>) -> () +! CHECK: fir.call @_QParray(%[[VAL_24]]) {{.*}} : (!fir.ref>) -> () ! CHECK: fir.if %[[VAL_7]] { ! CHECK: fir.freemem %[[VAL_8]] : !fir.heap> ! CHECK: } @@ -262,7 +262,7 @@ ! CHECK: fir.result %[[VAL_23]] : !fir.heap> ! CHECK: } ! CHECK: %[[VAL_24:.*]] = fir.convert %[[VAL_8]] : (!fir.heap>) -> !fir.ref> -! CHECK: fir.call @_QPdyn_array(%[[VAL_24]], %[[VAL_1]]) : (!fir.ref>, !fir.ref) -> () +! CHECK: fir.call @_QPdyn_array(%[[VAL_24]], %[[VAL_1]]) {{.*}} : (!fir.ref>, !fir.ref) -> () ! CHECK: fir.if %[[VAL_7]] { ! CHECK: fir.freemem %[[VAL_8]] : !fir.heap> ! CHECK: } @@ -282,7 +282,7 @@ ! CHECK: %[[VAL_6:.*]] = fir.embox %[[VAL_3]](%[[VAL_5]]) : (!fir.ref>, !fir.shape<1>) -> !fir.box> ! CHECK: %[[VAL_7:.*]] = arith.select %[[VAL_2]], %[[VAL_0]], %[[VAL_6]] : !fir.box> ! CHECK: %[[box_none:.*]] = fir.convert %[[VAL_7]] : (!fir.box>) -> !fir.box -! CHECK: %[[is_contiguous:.*]] = fir.call @_FortranAIsContiguous(%[[box_none]]) : (!fir.box) -> i1 +! CHECK: %[[is_contiguous:.*]] = fir.call @_FortranAIsContiguous(%[[box_none]]) {{.*}} : (!fir.box) -> i1 ! CHECK: %[[VAL_8:.*]] = fir.if %[[VAL_2]] -> (!fir.heap>) { ! CHECK: %[[VAL_9:.*]] = arith.constant 0 : index ! CHECK: %[[VAL_10:.*]]:3 = fir.box_dims %[[VAL_7]], %[[VAL_9]] : (!fir.box>, index) -> (index, index, index) @@ -298,7 +298,7 @@ ! CHECK: %[[not_contiguous:.*]] = arith.cmpi eq, %[[is_contiguous]], %false{{.*}} : i1 ! CHECK: %[[and:.*]] = arith.andi %[[VAL_2]], %[[not_contiguous]] : i1 ! CHECK: %[[VAL_25:.*]] = fir.convert %[[VAL_8]] : (!fir.heap>) -> !fir.ref> -! CHECK: fir.call @_QPdyn_array(%[[VAL_25]], %[[VAL_1]]) : (!fir.ref>, !fir.ref) -> () +! CHECK: fir.call @_QPdyn_array(%[[VAL_25]], %[[VAL_1]]) {{.*}} : (!fir.ref>, !fir.ref) -> () ! CHECK: fir.if %[[and]] { ! CHECK: fir.freemem %[[VAL_8]] : !fir.heap> ! CHECK: } @@ -318,7 +318,7 @@ ! CHECK: %[[VAL_7:.*]] = arith.constant 0 : index ! CHECK: %[[VAL_8:.*]]:3 = fir.box_dims %[[VAL_6]], %[[VAL_7]] : (!fir.box>>, index) -> (index, index, index) ! CHECK: %[[box_none:.*]] = fir.convert %[[VAL_6]] : (!fir.box>>) -> !fir.box -! CHECK: %[[is_contiguous:.*]] = fir.call @_FortranAIsContiguous(%[[box_none]]) : (!fir.box) -> i1 +! CHECK: %[[is_contiguous:.*]] = fir.call @_FortranAIsContiguous(%[[box_none]]) {{.*}} : (!fir.box) -> i1 ! CHECK: %[[VAL_9:.*]] = fir.if %[[VAL_5]] -> (!fir.heap>) { ! CHECK: %[[VAL_10:.*]] = arith.constant 0 : index ! CHECK: %[[VAL_11:.*]]:3 = fir.box_dims %[[VAL_6]], %[[VAL_10]] : (!fir.box>>, index) -> (index, index, index) @@ -352,14 +352,14 @@ ! CHECK: %[[VAL_6:.*]] = fir.if %[[VAL_2]] -> (!fir.ref>) { ! CHECK: %[[VAL_13:.*]] = fir.convert %[[VAL_5]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_14:.*]] = fir.convert %[[VAL_1]]#0 : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_13]], %[[VAL_14]], %{{.*}}, %{{.*}}) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_13]], %[[VAL_14]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: fir.result %[[VAL_5]] : !fir.ref> ! CHECK: } else { ! CHECK: %[[VAL_24:.*]] = fir.absent !fir.ref> ! CHECK: fir.result %[[VAL_24]] : !fir.ref> ! CHECK: } ! CHECK: %[[VAL_25:.*]] = fir.emboxchar %[[VAL_6]], %[[VAL_4]] : (!fir.ref>, index) -> !fir.boxchar<1> -! CHECK: fir.call @_QPdyn_char(%[[VAL_25]]) : (!fir.boxchar<1>) -> () +! CHECK: fir.call @_QPdyn_char(%[[VAL_25]]) {{.*}} : (!fir.boxchar<1>) -> () end subroutine ! CHECK-LABEL: func @_QMtestPtest_char_ptr( @@ -381,14 +381,14 @@ ! CHECK: %[[VAL_12:.*]] = fir.if %[[VAL_5]] -> (!fir.ref>) { ! CHECK: %[[VAL_19:.*]] = fir.convert %[[VAL_11]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_20:.*]] = fir.convert %[[VAL_8]] : (!fir.ptr>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_19]], %[[VAL_20]], %{{.*}}, %{{.*}}) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_19]], %[[VAL_20]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: fir.result %[[VAL_11]] : !fir.ref> ! CHECK: } else { ! CHECK: %[[VAL_30:.*]] = fir.absent !fir.ref> ! CHECK: fir.result %[[VAL_30]] : !fir.ref> ! CHECK: } ! CHECK: %[[VAL_31:.*]] = fir.emboxchar %[[VAL_12]], %[[VAL_10]] : (!fir.ref>, index) -> !fir.boxchar<1> -! CHECK: fir.call @_QPdyn_char(%[[VAL_31]]) : (!fir.boxchar<1>) -> () +! CHECK: fir.call @_QPdyn_char(%[[VAL_31]]) {{.*}} : (!fir.boxchar<1>) -> () end subroutine ! CHECK-LABEL: func @_QMtestPtest_char_array( @@ -406,7 +406,7 @@ ! CHECK: %[[VAL_7:.*]] = fir.embox %[[VAL_3]](%[[VAL_5]]) typeparams %[[VAL_6]] : (!fir.ref>>, !fir.shape<1>, index) -> !fir.box>> ! CHECK: %[[VAL_8:.*]] = arith.select %[[VAL_2]], %[[VAL_0]], %[[VAL_7]] : !fir.box>> ! CHECK: %[[box_none:.*]] = fir.convert %5 : (!fir.box>>) -> !fir.box -! CHECK: %[[is_contiguous:.*]] = fir.call @_FortranAIsContiguous(%[[box_none]]) : (!fir.box) -> i1 +! CHECK: %[[is_contiguous:.*]] = fir.call @_FortranAIsContiguous(%[[box_none]]) {{.*}} : (!fir.box) -> i1 ! CHECK: %[[VAL_9:.*]] = fir.if %[[VAL_2]] -> (!fir.heap>>) { ! CHECK: %[[VAL_10:.*]] = arith.constant 0 : index ! CHECK: %[[VAL_11:.*]]:3 = fir.box_dims %[[VAL_8]], %[[VAL_10]] : (!fir.box>>, index) -> (index, index, index) @@ -426,7 +426,7 @@ ! CHECK: %[[and:.*]] = arith.andi %[[VAL_2]], %[[not_contiguous]] : i1 ! CHECK: %[[VAL_47:.*]] = fir.convert %[[VAL_9]] : (!fir.heap>>) -> !fir.ref> ! CHECK: %[[VAL_49:.*]] = fir.emboxchar %[[VAL_47]], %[[VAL_46]] : (!fir.ref>, index) -> !fir.boxchar<1> -! CHECK: fir.call @_QPdyn_char_array(%[[VAL_49]], %[[VAL_1]]) : (!fir.boxchar<1>, !fir.ref) -> () +! CHECK: fir.call @_QPdyn_char_array(%[[VAL_49]], %[[VAL_1]]) {{.*}} : (!fir.boxchar<1>, !fir.ref) -> () ! CHECK: fir.if %[[and]] { ! CHECK: fir.freemem %[[VAL_9]] : !fir.heap>> ! CHECK: } Index: flang/test/Lower/parent-component.f90 =================================================================== --- flang/test/Lower/parent-component.f90 +++ flang/test/Lower/parent-component.f90 @@ -55,16 +55,16 @@ ! CHECK: %[[SLICE:.*]] = fir.slice %[[C1]], %[[UB]], %[[STRIDE]] path %[[FIELD]] : (index, index, index, !fir.field) -> !fir.slice<1> ! CHECK: %[[BOX:.*]] = fir.embox %[[Y]](%[[SHAPE]]) [%[[SLICE]]] : (!fir.ref>>, !fir.shape<1>, !fir.slice<1>) -> !fir.box>> ! CHECK: %[[BOX_NONE:.*]] = fir.convert %[[BOX]] : (!fir.box>>) -> !fir.box - ! CHECK: %[[IS_CONTIGOUS:.*]] = fir.call @_FortranAIsContiguous(%[[BOX_NONE]]) : (!fir.box) -> i1 + ! CHECK: %[[IS_CONTIGOUS:.*]] = fir.call @_FortranAIsContiguous(%[[BOX_NONE]]) {{.*}} : (!fir.box) -> i1 ! CHECK: %[[TEMP:.*]] = fir.if %[[IS_CONTIGOUS]] -> (!fir.heap>>) { ! CHECK: } else { ! CHECK: %{{.*}} = fir.do_loop %{{.*}} = %{{.*}} to %{{.*}} step %{{.*}} unordered iter_args(%{{.*}} = %{{.*}}) -> (!fir.array<2x!fir.type<_QFTp{a:i32}>>) ! CHECK: %{{.*}} = fir.field_index a, !fir.type<_QFTp{a:i32}> ! CHECK-NOT: %{{.*}} = fir.field_index b, !fir.type<_QFTp{a:i32}> ! CHECK: %[[TEMP_CAST:.*]] = fir.convert %[[TEMP]] : (!fir.heap>>) -> !fir.ref>> - ! CHECK: fir.call @_QFPprint_p(%[[TEMP_CAST]]) : (!fir.ref>>) -> () + ! CHECK: fir.call @_QFPprint_p(%[[TEMP_CAST]]) {{.*}} : (!fir.ref>>) -> () - ! CHECK-LABEL: %{{.*}} = fir.call @_FortranAioBeginExternalListOutput(%{{.*}}, %{{.*}}, %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref + ! CHECK-LABEL: %{{.*}} = fir.call @_FortranAioBeginExternalListOutput(%{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[C1:.*]] = arith.constant 1 : index ! CHECK: %[[C1_I64:.*]] = arith.constant 1 : i64 ! CHECK: %[[STRIDE:.*]] = fir.convert %[[C1_I64]] : (i64) -> index @@ -75,7 +75,7 @@ ! CHECK: %[[SLICE:.*]] = fir.slice %[[C1]], %[[UB]], %[[STRIDE]] path %[[FIELD]] : (index, index, index, !fir.field) -> !fir.slice<1> ! CHECK: %[[BOX:.*]] = fir.embox %[[Y]](%[[SHAPE]]) [%[[SLICE]]] : (!fir.ref>>, !fir.shape<1>, !fir.slice<1>) -> !fir.box>> ! CHECK: %[[BOX_NONE:.*]] = fir.convert %[[BOX]] : (!fir.box>>) -> !fir.box - ! CHECK: %{{.*}} = fir.call @_FortranAioOutputDescriptor(%{{.*}}, %[[BOX_NONE]]) : (!fir.ref, !fir.box) -> i1 + ! CHECK: %{{.*}} = fir.call @_FortranAioOutputDescriptor(%{{.*}}, %[[BOX_NONE]]) {{.*}} : (!fir.ref, !fir.box) -> i1 subroutine init_no_slice() type(c) :: y(2) = [ c(11, 21), c(12, 22) ] @@ -93,16 +93,16 @@ ! CHECK: %[[SLICE:.*]] = fir.slice %[[C1]], %[[BOX_DIM]]#1, %[[C1]] path %[[FIELD]] : (index, index, index, !fir.field) -> !fir.slice<1> ! CHECK: %[[BOX:.*]] = fir.embox %[[Y]](%[[SHAPE]]) [%[[SLICE]]] : (!fir.ref>>, !fir.shape<1>, !fir.slice<1>) -> !fir.box>> ! CHECK: %[[BOX_NONE:.*]] = fir.convert %[[BOX]] : (!fir.box>>) -> !fir.box - ! CHECK: %[[IS_CONTIGOUS:.*]] = fir.call @_FortranAIsContiguous(%[[BOX_NONE]]) : (!fir.box) -> i1 + ! CHECK: %[[IS_CONTIGOUS:.*]] = fir.call @_FortranAIsContiguous(%[[BOX_NONE]]) {{.*}} : (!fir.box) -> i1 ! CHECK: %[[TEMP:.*]] = fir.if %[[IS_CONTIGOUS]] -> (!fir.heap>>) { ! CHECK: } else { ! CHECK: %{{.*}} = fir.do_loop %{{.*}} = %{{.*}} to %{{.*}} step %{{.*}} unordered iter_args(%{{.*}} = %{{.*}}) -> (!fir.array<2x!fir.type<_QFTp{a:i32}>>) ! CHECK: %{{.*}} = fir.field_index a, !fir.type<_QFTp{a:i32}> ! CHECK-NOT: %{{.*}} = fir.field_index b, !fir.type<_QFTp{a:i32}> ! CHECK: %[[TEMP_CAST:.*]] = fir.convert %[[TEMP]] : (!fir.heap>>) -> !fir.ref>> - ! CHECK: fir.call @_QFPprint_p(%[[TEMP_CAST]]) : (!fir.ref>>) -> () + ! CHECK: fir.call @_QFPprint_p(%[[TEMP_CAST]]) {{.*}} : (!fir.ref>>) -> () - ! CHECK-LABEL: %{{.*}} = fir.call @_FortranAioBeginExternalListOutput(%{{.*}}, %{{.*}}, %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref + ! CHECK-LABEL: %{{.*}} = fir.call @_FortranAioBeginExternalListOutput(%{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[SHAPE:.*]] = fir.shape %[[C2]] : (index) -> !fir.shape<1> ! CHECK: %[[FIELD:.*]] = fir.field_index a, !fir.type<_QFTc{a:i32,b:i32}> ! CHECK: %[[C0:.*]] = arith.constant 0 : index @@ -111,7 +111,7 @@ ! CHECK: %[[SLICE:.*]] = fir.slice %[[C1]], %[[BOX_DIMS]]#1, %[[C1]] path %[[FIELD]] : (index, index, index, !fir.field) -> !fir.slice<1> ! CHECK: %[[BOX:.*]] = fir.embox %[[Y]](%[[SHAPE]]) [%[[SLICE]]] : (!fir.ref>>, !fir.shape<1>, !fir.slice<1>) -> !fir.box>> ! CHECK: %[[BOX_NONE:.*]] = fir.convert %[[BOX]] : (!fir.box>>) -> !fir.box - ! CHECK: %{{.*}} = fir.call @_FortranAioOutputDescriptor(%{{.*}}, %[[BOX_NONE]]) : (!fir.ref, !fir.box) -> i1 + ! CHECK: %{{.*}} = fir.call @_FortranAioOutputDescriptor(%{{.*}}, %[[BOX_NONE]]) {{.*}} : (!fir.ref, !fir.box) -> i1 subroutine init_allocatable() type(c), allocatable :: y(:) @@ -138,16 +138,16 @@ ! CHECK: %[[SLICE:.*]] = fir.slice %[[C1]], %[[BOX_DIMS]]#1, %[[C1]] path %[[FIELD]] : (index, index, index, !fir.field) -> !fir.slice<1> ! CHECK: %[[BOX:.*]] = fir.embox %[[MEM]](%[[SHAPE_SHIFT]]) [%[[SLICE]]] : (!fir.heap>>, !fir.shapeshift<1>, !fir.slice<1>) -> !fir.box>> ! CHECK: %[[BOX_NONE:.*]] = fir.convert %[[BOX]] : (!fir.box>>) -> !fir.box - ! CHECK: %[[IS_CONTIGOUS:.*]] = fir.call @_FortranAIsContiguous(%[[BOX_NONE]]) : (!fir.box) -> i1 + ! CHECK: %[[IS_CONTIGOUS:.*]] = fir.call @_FortranAIsContiguous(%[[BOX_NONE]]) {{.*}} : (!fir.box) -> i1 ! CHECK: %[[TEMP:.*]] = fir.if %[[IS_CONTIGOUS]] -> (!fir.heap>>) { ! CHECK: } else { ! CHECK: %{{.*}} = fir.do_loop %{{.*}} = %{{.*}} to %{{.*}} step %{{.*}} unordered iter_args(%{{.*}} = %{{.*}}) -> (!fir.array>) ! CHECK: %{{.*}} = fir.field_index a, !fir.type<_QFTp{a:i32}> ! CHECK-NOT: %{{.*}} = fir.field_index b, !fir.type<_QFTp{a:i32}> ! CHECK: %[[TEMP_CAST:.*]] = fir.convert %[[TEMP]] : (!fir.heap>>) -> !fir.ref>> - ! CHECK: fir.call @_QFPprint_p(%[[TEMP_CAST]]) : (!fir.ref>>) -> () + ! CHECK: fir.call @_QFPprint_p(%[[TEMP_CAST]]) {{.*}} : (!fir.ref>>) -> () - ! CHECK-LABEL: %{{.*}} = fir.call @_FortranAioBeginExternalListOutput(%{{.*}}, %{{.*}}, %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref + ! CHECK-LABEL: %{{.*}} = fir.call @_FortranAioBeginExternalListOutput(%{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[LOAD_LB0:.*]] = fir.load %[[LB0]] : !fir.ref ! CHECK: %[[LOAD_EXT0:.*]] = fir.load %[[EXT0]] : !fir.ref ! CHECK: %[[LOAD_ALLOC:.*]] = fir.load %[[ALLOC]] : !fir.ref>>> @@ -159,7 +159,7 @@ ! CHECK: %[[SLICE:.*]] = fir.slice %[[C1]], %[[BOX_DIMS]]#1, %[[C1]] path %[[FIELD]] : (index, index, index, !fir.field) -> !fir.slice<1> ! CHECK: %[[BOX:.*]] = fir.embox %[[LOAD_ALLOC]](%[[SHAPE_SHIFT]]) [%[[SLICE]]] : (!fir.heap>>, !fir.shapeshift<1>, !fir.slice<1>) -> !fir.box>> ! CHECK: %[[BOX_NONE:.*]] = fir.convert %[[BOX]] : (!fir.box>>) -> !fir.box - ! CHECK: %{{.*}} = fir.call @_FortranAioOutputDescriptor(%{{.*}}, %[[BOX_NONE]]) : (!fir.ref, !fir.box) -> i1 + ! CHECK: %{{.*}} = fir.call @_FortranAioOutputDescriptor(%{{.*}}, %[[BOX_NONE]]) {{.*}} : (!fir.ref, !fir.box) -> i1 subroutine init_scalar() type(c) :: s = c(11, 21) @@ -170,11 +170,11 @@ ! CHECK-LABEL: func.func @_QFPinit_scalar() ! CHECK: %[[S:.*]] = fir.address_of(@_QFinit_scalarEs) : !fir.ref> ! CHECK: %[[CAST:.*]] = fir.convert %[[S]] : (!fir.ref>) -> !fir.ref> - ! CHECK: fir.call @_QFPprint_scalar(%[[CAST]]) : (!fir.ref>) -> () + ! CHECK: fir.call @_QFPprint_scalar(%[[CAST]]) {{.*}} : (!fir.ref>) -> () ! CHECK: %[[BOX:.*]] = fir.embox %{{.*}} : (!fir.ref>) -> !fir.box> ! CHECK: %[[BOX_NONE:.*]] = fir.convert %[[BOX]] : (!fir.box>) -> !fir.box - ! CHECK: %{{.*}} = fir.call @_FortranAioOutputDescriptor(%{{.*}}, %[[BOX_NONE]]) : (!fir.ref, !fir.box) -> i1 + ! CHECK: %{{.*}} = fir.call @_FortranAioOutputDescriptor(%{{.*}}, %[[BOX_NONE]]) {{.*}} : (!fir.ref, !fir.box) -> i1 subroutine init_assumed(y) type(c) :: y(:) @@ -200,7 +200,7 @@ ! CHECK: %[[SLICE:.*]] = fir.slice %[[C1]], %[[BOX_DIMS]]#1, %[[C1]] path %[[FIELD]] : (index, index, index, !fir.field) -> !fir.slice<1> ! CHECK: %[[REBOX:.*]] = fir.rebox %arg0 [%[[SLICE]]] : (!fir.box>>, !fir.slice<1>) -> !fir.box>> ! CHECK: %[[REBOX_CAST:.*]] = fir.convert %[[REBOX]] : (!fir.box>>) -> !fir.box - ! CHECK: %{{.*}} = fir.call @_FortranAioOutputDescriptor(%{{.*}}, %[[REBOX_CAST]]) : (!fir.ref, !fir.box) -> i1 + ! CHECK: %{{.*}} = fir.call @_FortranAioOutputDescriptor(%{{.*}}, %[[REBOX_CAST]]) {{.*}} : (!fir.ref, !fir.box) -> i1 subroutine init_existing_field() type(z) :: y(2) Index: flang/test/Lower/pointer-args-caller.f90 =================================================================== --- flang/test/Lower/pointer-args-caller.f90 +++ flang/test/Lower/pointer-args-caller.f90 @@ -26,7 +26,7 @@ ! CHECK-SAME: %[[VAL_0:.*]]: !fir.ref>> {fir.bindc_name = "p"}) { subroutine test_ptr_to_scalar_ptr(p) integer, pointer :: p -! CHECK: fir.call @_QPscalar_ptr(%[[VAL_0]]) : (!fir.ref>>) -> () +! CHECK: fir.call @_QPscalar_ptr(%[[VAL_0]]) {{.*}} : (!fir.ref>>) -> () call scalar_ptr(p) end subroutine @@ -41,7 +41,7 @@ ! CHECK-SAME: %[[VAL_0:.*]]: !fir.ref>>>> {fir.bindc_name = "p"}) { subroutine test_ptr_to_char_array_ptr(p) character(:), pointer :: p(:) -! CHECK: fir.call @_QPchar_array_ptr(%[[VAL_0]]) : (!fir.ref>>>>) -> () +! CHECK: fir.call @_QPchar_array_ptr(%[[VAL_0]]) {{.*}} : (!fir.ref>>>>) -> () call char_array_ptr(p) end subroutine @@ -51,7 +51,7 @@ integer :: n character(n), pointer :: p(:) ! CHECK: %[[VAL_1:.*]] = fir.convert %[[VAL_0]] : (!fir.ref>>>>) -> !fir.ref>>>> -! CHECK: fir.call @_QPnon_deferred_char_array_ptr(%[[VAL_1]]) : (!fir.ref>>>>) -> () +! CHECK: fir.call @_QPnon_deferred_char_array_ptr(%[[VAL_1]]) {{.*}} : (!fir.ref>>>>) -> () call non_deferred_char_array_ptr(p) end subroutine @@ -66,7 +66,7 @@ ! CHECK: %[[VAL_1:.*]] = fir.alloca !fir.box> ! CHECK: %[[VAL_2:.*]] = fir.embox %[[VAL_0]] : (!fir.ref) -> !fir.box> ! CHECK: fir.store %[[VAL_2]] to %[[VAL_1]] : !fir.ref>> -! CHECK: fir.call @_QPscalar_ptr(%[[VAL_1]]) : (!fir.ref>>) -> () +! CHECK: fir.call @_QPscalar_ptr(%[[VAL_1]]) {{.*}} : (!fir.ref>>) -> () call scalar_ptr(p) end subroutine @@ -77,7 +77,7 @@ ! CHECK: %[[VAL_1:.*]] = fir.alloca !fir.box>> ! CHECK: %[[VAL_2:.*]] = fir.rebox %[[VAL_0]] : (!fir.box>) -> !fir.box>> ! CHECK: fir.store %[[VAL_2]] to %[[VAL_1]] : !fir.ref>>> -! CHECK: fir.call @_QParray_ptr(%[[VAL_1]]) : (!fir.ref>>>) -> () +! CHECK: fir.call @_QParray_ptr(%[[VAL_1]]) {{.*}} : (!fir.ref>>>) -> () call array_ptr(p) end subroutine @@ -92,7 +92,7 @@ ! CHECK: %[[VAL_4:.*]] = fir.shift %[[VAL_3]] : (index) -> !fir.shift<1> ! CHECK: %[[VAL_5:.*]] = fir.rebox %[[VAL_0]](%[[VAL_4]]) : (!fir.box>, !fir.shift<1>) -> !fir.box>> ! CHECK: fir.store %[[VAL_5]] to %[[VAL_1]] : !fir.ref>>> - ! CHECK: fir.call @_QParray_ptr(%[[VAL_1]]) : (!fir.ref>>>) -> () + ! CHECK: fir.call @_QParray_ptr(%[[VAL_1]]) {{.*}} : (!fir.ref>>>) -> () call array_ptr(p) end subroutine @@ -109,7 +109,7 @@ ! CHECK: %[[VAL_7:.*]] = fir.convert %[[VAL_4]] : (!fir.ref>>) -> !fir.ref>> ! CHECK: %[[VAL_8:.*]] = fir.embox %[[VAL_7]](%[[VAL_6]]) typeparams %[[VAL_3]] : (!fir.ref>>, !fir.shape<1>, index) -> !fir.box>>> ! CHECK: fir.store %[[VAL_8]] to %[[VAL_1]] : !fir.ref>>>> -! CHECK: fir.call @_QPchar_array_ptr(%[[VAL_1]]) : (!fir.ref>>>>) -> () +! CHECK: fir.call @_QPchar_array_ptr(%[[VAL_1]]) {{.*}} : (!fir.ref>>>>) -> () call char_array_ptr(p) end subroutine @@ -120,7 +120,7 @@ ! CHECK: %[[VAL_1:.*]] = fir.alloca !fir.box>>> ! CHECK: %[[VAL_2:.*]] = fir.rebox %[[VAL_0]] : (!fir.box>>) -> !fir.box>>> ! CHECK: fir.store %[[VAL_2]] to %[[VAL_1]] : !fir.ref>>>> -! CHECK: fir.call @_QPnon_deferred_char_array_ptr(%[[VAL_1]]) : (!fir.ref>>>>) -> () +! CHECK: fir.call @_QPnon_deferred_char_array_ptr(%[[VAL_1]]) {{.*}} : (!fir.ref>>>>) -> () call non_deferred_char_array_ptr(p) end subroutine @@ -137,7 +137,7 @@ ! CHECK: %[[VAL_6:.*]] = fir.shape_shift %[[VAL_4]]#0, %[[VAL_4]]#1 : (index, index) -> !fir.shapeshift<1> ! CHECK: %[[VAL_7:.*]] = fir.embox %[[VAL_5]](%[[VAL_6]]) : (!fir.heap>, !fir.shapeshift<1>) -> !fir.box>> ! CHECK: fir.store %[[VAL_7]] to %[[VAL_1]] : !fir.ref>>> - ! CHECK: fir.call @_QParray_ptr(%[[VAL_1]]) : (!fir.ref>>>) -> () + ! CHECK: fir.call @_QParray_ptr(%[[VAL_1]]) {{.*}} : (!fir.ref>>>) -> () end subroutine end module Index: flang/test/Lower/pointer-references.f90 =================================================================== --- flang/test/Lower/pointer-references.f90 +++ flang/test/Lower/pointer-references.f90 @@ -34,7 +34,7 @@ ! CHECK: %[[count:.*]] = arith.muli %[[one]], %[[size]] : i64 ! CHECK: %[[dst:.*]] = fir.convert %[[addr]] : (!fir.ptr>) -> !fir.ref ! CHECK: %[[src:.*]] = fir.convert %[[str]] : (!fir.ref>) -> !fir.ref - ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[dst]], %[[src]], %5, %false) : (!fir.ref, !fir.ref, i64, i1) -> () + ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[dst]], %[[src]], %5, %false) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () p = "hello world!" ! CHECK: %[[boxload2:.*]] = fir.load %[[arg0]] @@ -42,7 +42,7 @@ ! CHECK: %[[count:.*]] = arith.muli %{{.*}}, %{{.*}} : i64 ! CHECK: %[[dst:.*]] = fir.convert %{{.*}} : (!fir.ref>) -> !fir.ref ! CHECK: %[[src:.*]] = fir.convert %[[addr2]] : (!fir.ptr>) -> !fir.ref - ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[dst]], %[[src]], %[[count]], %{{.*}}) : (!fir.ref, !fir.ref, i64, i1) -> () + ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[dst]], %[[src]], %[[count]], %{{.*}}) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () x = p end subroutine @@ -171,7 +171,7 @@ end function end interface ! CHECK: %[[VAL_0:.*]] = fir.alloca !fir.box> {bindc_name = ".result"} -! CHECK: %[[VAL_6:.*]] = fir.call @_QPreturns_int_pointer() : () -> !fir.box> +! CHECK: %[[VAL_6:.*]] = fir.call @_QPreturns_int_pointer() {{.*}} : () -> !fir.box> ! CHECK: fir.save_result %[[VAL_6]] to %[[VAL_0]] : !fir.box>, !fir.ref>> ! CHECK: %[[VAL_7:.*]] = fir.load %[[VAL_0]] : !fir.ref>> ! CHECK: %[[VAL_8:.*]] = fir.box_addr %[[VAL_7]] : (!fir.box>) -> !fir.ptr Index: flang/test/Lower/pointer-results-as-arguments.f90 =================================================================== --- flang/test/Lower/pointer-results-as-arguments.f90 +++ flang/test/Lower/pointer-results-as-arguments.f90 @@ -26,7 +26,7 @@ ! CHECK: %[[VAL_1:.*]] = fir.zero_bits !fir.ptr ! CHECK: %[[VAL_2:.*]] = fir.embox %[[VAL_1]] : (!fir.ptr) -> !fir.box> ! CHECK: fir.store %[[VAL_2]] to %[[VAL_0]] : !fir.ref>> -! CHECK: fir.call @_QPbar_scalar(%[[VAL_0]]) : (!fir.ref>>) -> () +! CHECK: fir.call @_QPbar_scalar(%[[VAL_0]]) {{.*}} : (!fir.ref>>) -> () call bar_scalar(null()) end subroutine @@ -36,16 +36,16 @@ ! CHECK: %[[VAL_4:.*]] = fir.zero_bits !fir.ptr ! CHECK: %[[VAL_5:.*]] = fir.embox %[[VAL_4]] : (!fir.ptr) -> !fir.box> ! CHECK: fir.store %[[VAL_5]] to %[[VAL_3]] : !fir.ref>> -! CHECK: fir.call @_QPbar_scalar(%[[VAL_3]]) : (!fir.ref>>) -> () +! CHECK: fir.call @_QPbar_scalar(%[[VAL_3]]) {{.*}} : (!fir.ref>>) -> () call bar_scalar(null(x)) end subroutine ! CHECK-LABEL: test_scalar_result subroutine test_scalar_result() ! CHECK: %[[VAL_6:.*]] = fir.alloca !fir.box> {bindc_name = ".result"} -! CHECK: %[[VAL_7:.*]] = fir.call @_QPget_scalar_pointer() : () -> !fir.box> +! CHECK: %[[VAL_7:.*]] = fir.call @_QPget_scalar_pointer() {{.*}} : () -> !fir.box> ! CHECK: fir.save_result %[[VAL_7]] to %[[VAL_6]] : !fir.box>, !fir.ref>> -! CHECK: fir.call @_QPbar_scalar(%[[VAL_6]]) : (!fir.ref>>) -> () +! CHECK: fir.call @_QPbar_scalar(%[[VAL_6]]) {{.*}} : (!fir.ref>>) -> () call bar_scalar(get_scalar_pointer()) end subroutine @@ -57,7 +57,7 @@ ! CHECK: %[[VAL_11:.*]] = fir.shape %[[VAL_8]], %[[VAL_8]] : (index, index) -> !fir.shape<2> ! CHECK: %[[VAL_12:.*]] = fir.embox %[[VAL_10]](%[[VAL_11]]) : (!fir.ptr>, !fir.shape<2>) -> !fir.box>> ! CHECK: fir.store %[[VAL_12]] to %[[VAL_9]] : !fir.ref>>> -! CHECK: fir.call @_QPbar(%[[VAL_9]]) : (!fir.ref>>>) -> () +! CHECK: fir.call @_QPbar(%[[VAL_9]]) {{.*}} : (!fir.ref>>>) -> () call bar(null()) end subroutine @@ -69,16 +69,16 @@ ! CHECK: %[[VAL_16:.*]] = fir.shape %[[VAL_13]], %[[VAL_13]] : (index, index) -> !fir.shape<2> ! CHECK: %[[VAL_17:.*]] = fir.embox %[[VAL_15]](%[[VAL_16]]) : (!fir.ptr>, !fir.shape<2>) -> !fir.box>> ! CHECK: fir.store %[[VAL_17]] to %[[VAL_14]] : !fir.ref>>> -! CHECK: fir.call @_QPbar(%[[VAL_14]]) : (!fir.ref>>>) -> () +! CHECK: fir.call @_QPbar(%[[VAL_14]]) {{.*}} : (!fir.ref>>>) -> () call bar(null(xa)) end subroutine ! CHECK-LABEL: test_result subroutine test_result() ! CHECK: %[[VAL_18:.*]] = fir.alloca !fir.box>> {bindc_name = ".result"} -! CHECK: %[[VAL_19:.*]] = fir.call @_QPget_pointer() : () -> !fir.box>> +! CHECK: %[[VAL_19:.*]] = fir.call @_QPget_pointer() {{.*}} : () -> !fir.box>> ! CHECK: fir.save_result %[[VAL_19]] to %[[VAL_18]] : !fir.box>>, !fir.ref>>> -! CHECK: fir.call @_QPbar(%[[VAL_18]]) : (!fir.ref>>>) -> () +! CHECK: fir.call @_QPbar(%[[VAL_18]]) {{.*}} : (!fir.ref>>>) -> () call bar(get_pointer()) end subroutine Index: flang/test/Lower/polymorphic-types.f90 =================================================================== --- flang/test/Lower/polymorphic-types.f90 +++ flang/test/Lower/polymorphic-types.f90 @@ -57,7 +57,7 @@ ! CHECK-LABEL: func.func @_QMpolymorphic_typesPpolymorphic_allocatable_intentout( ! CHECK-SAME: %[[ARG0:.*]]: !fir.ref>>> ! CHECK: %[[BOX_NONE:.*]] = fir.convert %[[ARG0]] : (!fir.ref>>>) -> !fir.ref> -! CHECK: %{{.*}} = fir.call @_FortranAAllocatableDeallocate(%[[BOX_NONE]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 +! CHECK: %{{.*}} = fir.call @_FortranAAllocatableDeallocate(%[[BOX_NONE]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 ! ------------------------------------------------------------------------------ ! Test unlimited polymorphic dummy argument types @@ -105,7 +105,7 @@ ! CHECK-LABEL: func.func @_QMpolymorphic_typesPunlimited_polymorphic_allocatable_intentout( ! CHECK-SAME: %[[ARG0:.*]]: !fir.ref>> ! CHECK: %[[BOX_NONE:.*]] = fir.convert %[[ARG0]] : (!fir.ref>>) -> !fir.ref> -! CHECK: %{{.*}} = fir.call @_FortranAAllocatableDeallocate(%[[BOX_NONE]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 +! CHECK: %{{.*}} = fir.call @_FortranAAllocatableDeallocate(%[[BOX_NONE]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, i1, !fir.box, !fir.ref, i32) -> i32 ! ------------------------------------------------------------------------------ ! Test polymorphic function return types Index: flang/test/Lower/polymorphic.f90 =================================================================== --- flang/test/Lower/polymorphic.f90 +++ flang/test/Lower/polymorphic.f90 @@ -27,7 +27,7 @@ ! CHECK: %[[FIELD:.*]] = fir.field_index a, !fir.type<_QMpolymorphic_testTp1{a:i32,b:i32}> ! CHECK: %[[COORD:.*]] = fir.coordinate_of %[[P]], %[[FIELD]] : (!fir.class>, !fir.field) -> !fir.ref ! CHECK: %[[LOAD:.*]] = fir.load %[[COORD]] : !fir.ref -! CHECK: %{{.*}} = fir.call @_FortranAioOutputInteger32(%{{.*}}, %[[LOAD]]) : (!fir.ref, i32) -> i1 +! CHECK: %{{.*}} = fir.call @_FortranAioOutputInteger32(%{{.*}}, %[[LOAD]]) {{.*}} : (!fir.ref, i32) -> i1 subroutine print(this) class(p1) :: this @@ -45,10 +45,10 @@ ! CHECK: %[[DT1:.*]] = fir.alloca !fir.type<_QMpolymorphic_testTp1{a:i32,b:i32}> {bindc_name = "t1", uniq_name = "_QMpolymorphic_testFcheckEt1"} ! CHECK: %[[DT2:.*]] = fir.alloca !fir.type<_QMpolymorphic_testTp2{a:i32,b:i32,c:f32}> {bindc_name = "t2", uniq_name = "_QMpolymorphic_testFcheckEt2"} ! CHECK: %[[CLASS1:.*]] = fir.embox %[[DT1]] : (!fir.ref>) -> !fir.class> -! CHECK: fir.call @_QMpolymorphic_testPprint(%[[CLASS1]]) : (!fir.class>) -> () +! CHECK: fir.call @_QMpolymorphic_testPprint(%[[CLASS1]]) {{.*}} : (!fir.class>) -> () ! CHECK: %[[BOX2:.*]] = fir.embox %[[DT2]] : (!fir.ref>) -> !fir.class> ! CHECK: %[[CLASS2:.*]] = fir.convert %[[BOX2]] : (!fir.class>) -> !fir.class> -! CHECK: fir.call @_QMpolymorphic_testPprint(%[[CLASS2]]) : (!fir.class>) -> () +! CHECK: fir.call @_QMpolymorphic_testPprint(%[[CLASS2]]) {{.*}} : (!fir.class>) -> () subroutine test_allocate_unlimited_polymorphic_non_derived() class(*), pointer :: u @@ -73,7 +73,7 @@ ! CHECK-lABEL: func.func @_QMpolymorphic_testPcall_fct() ! CHECK: %[[RESULT:.*]] = fir.alloca !fir.class>> {bindc_name = ".result"} -! CHECK: %[[CALL_RES:.*]] = fir.call @_QMpolymorphic_testPtest_fct_ret_class() : () -> !fir.class>> +! CHECK: %[[CALL_RES:.*]] = fir.call @_QMpolymorphic_testPtest_fct_ret_class() {{.*}} : () -> !fir.class>> ! CHECK: fir.save_result %[[CALL_RES]] to %[[RESULT]] : !fir.class>>, !fir.ref>>> end module Index: flang/test/Lower/procedure-declarations.f90 =================================================================== --- flang/test/Lower/procedure-declarations.f90 +++ flang/test/Lower/procedure-declarations.f90 @@ -23,7 +23,7 @@ subroutine call_foo(i) integer :: i(10) ! %[[argconvert:*]] = fir.convert %arg0 : - ! fir.call @_QPfoo(%[[argconvert]]) : (!fir.ref>) -> () + ! fir.call @_QPfoo(%[[argconvert]]) {{.*}} : (!fir.ref>) -> () call foo(i) end subroutine ! CHECK-LABEL: func @_QPfoo( @@ -39,7 +39,7 @@ subroutine call_foo2(i) integer :: i(10) ! %[[argconvert:*]] = fir.convert %arg0 : - ! fir.call @_QPfoo2(%[[argconvert]]) : (!fir.ref>) -> () + ! fir.call @_QPfoo2(%[[argconvert]]) {{.*}} : (!fir.ref>) -> () call foo2(i) end subroutine ! CHECK-LABEL: func @_QPpass_foo2() { @@ -62,7 +62,7 @@ subroutine call_foo3(i) integer :: i(10) ! %[[argconvert:*]] = fir.convert %arg0 : - ! fir.call @_QPfoo3(%[[argconvert]]) : (!fir.ref>) -> () + ! fir.call @_QPfoo3(%[[argconvert]]) {{.*}} : (!fir.ref>) -> () call foo3(i) end subroutine ! CHECK-LABEL: func @_QPfoo3( @@ -91,7 +91,7 @@ subroutine call_foo4(i) integer :: i(10) ! %[[argconvert:*]] = fir.convert %arg0 : - ! fir.call @_QPfoo4(%[[argconvert]]) : (!fir.ref>) -> () + ! fir.call @_QPfoo4(%[[argconvert]]) {{.*}} : (!fir.ref>) -> () call foo4(i) end subroutine ! CHECK-LABEL: func @_QPpass_foo4() { @@ -121,7 +121,7 @@ subroutine call_foo5(i) integer :: i(10) ! %[[argconvert:*]] = fir.convert %arg0 : - ! fir.call @_QPfoo5(%[[argconvert]]) : (!fir.ref>) -> () + ! fir.call @_QPfoo5(%[[argconvert]]) {{.*}} : (!fir.ref>) -> () call foo5(i) end subroutine @@ -158,7 +158,7 @@ integer :: i(10) ! CHECK: %[[f:.*]] = fir.address_of(@_QPfoo7) : () -> () ! CHECK: %[[funccast:.*]] = fir.convert %[[f]] : (() -> ()) -> ((!fir.ref>) -> f32) - ! CHECK: fir.call %[[funccast]](%arg0) : (!fir.ref>) -> f32 + ! CHECK: fir.call %[[funccast]](%arg0) {{.*}} : (!fir.ref>) -> f32 call_foo7 = foo7(i) end function Index: flang/test/Lower/program-units-fir-mangling.f90 =================================================================== --- flang/test/Lower/program-units-fir-mangling.f90 +++ flang/test/Lower/program-units-fir-mangling.f90 @@ -158,7 +158,7 @@ ! CHECK-LABEL: func @_QPbind_c_s() { subroutine bind_c_s() - ! CHECK: fir.call @_QPbind_c_q() : () -> () + ! CHECK: fir.call @_QPbind_c_q() {{.*}} : () -> () ! CHECK: return call bind_c_q end @@ -169,7 +169,7 @@ subroutine bind_c_s() Bind(C, name='bc1') end end interface - ! CHECK: fir.call @bc1() : () -> () + ! CHECK: fir.call @bc1() {{.*}} : () -> () ! CHECK: return call bind_c_s end @@ -201,23 +201,23 @@ ! CHECK-LABEL: func @ok3() -> f32 attributes {fir.bindc_name = "ok3"} { real function f2() bind(c,name=foo//'3') character*(*), parameter :: foo = ok -! CHECK: fir.call @ok1() : () -> f32 +! CHECK: fir.call @ok1() {{.*}} : () -> f32 ! CHECK-LABEL: func @ok4() -> f32 attributes {fir.bindc_name = "ok4"} { entry f3() bind(c,name=foo//'4') -! CHECK: fir.call @ok1() : () -> f32 +! CHECK: fir.call @ok1() {{.*}} : () -> f32 f2 = f1() end function ! CHECK-LABEL: func @ok5() attributes {fir.bindc_name = "ok5"} { subroutine s2() bind(c,name=foo//'5') character*(*), parameter :: foo = ok -! CHECK: fir.call @ok2() : () -> () +! CHECK: fir.call @ok2() {{.*}} : () -> () ! CHECK-LABEL: func @ok6() attributes {fir.bindc_name = "ok6"} { entry s3() bind(c,name=foo//'6') -! CHECK: fir.call @ok2() : () -> () +! CHECK: fir.call @ok2() {{.*}} : () -> () continue ! force end of specification part ! CHECK-LABEL: func @ok7() attributes {fir.bindc_name = "ok7"} { entry s4() bind(c,name=foo//'7') -! CHECK: fir.call @ok2() : () -> () +! CHECK: fir.call @ok2() {{.*}} : () -> () call s1 end subroutine end module Index: flang/test/Lower/real-operations-1.f90 =================================================================== --- flang/test/Lower/real-operations-1.f90 +++ flang/test/Lower/real-operations-1.f90 @@ -8,7 +8,7 @@ REAL(2) :: x1 ! CHECK-DAG: %[[v1:.+]] = fir.load %arg0 : !fir.ref ! CHECK-DAG: %[[v2:.+]] = fir.load %arg1 : !fir.ref - ! CHECK: %[[v3:.+]] = arith.addf %[[v1]], %[[v2]] : f16 + ! CHECK: %[[v3:.+]] = arith.addf %[[v1]], %[[v2]] {{.*}} : f16 real2 = x0 + x1 ! CHECK: return %{{.*}} : f16 END FUNCTION real2 @@ -19,7 +19,7 @@ REAL(3) :: x1 ! CHECK-DAG: %[[v1:.+]] = fir.load %arg0 : !fir.ref ! CHECK-DAG: %[[v2:.+]] = fir.load %arg1 : !fir.ref - ! CHECK: %[[v3:.+]] = arith.addf %[[v1]], %[[v2]] : bf16 + ! CHECK: %[[v3:.+]] = arith.addf %[[v1]], %[[v2]] {{.*}} : bf16 real3 = x0 + x1 ! CHECK: return %{{.*}} : bf16 END FUNCTION real3 @@ -30,7 +30,7 @@ REAL(4) :: x1 ! CHECK-DAG: %[[v1:.+]] = fir.load %arg0 : !fir.ref ! CHECK-DAG: %[[v2:.+]] = fir.load %arg1 : !fir.ref - ! CHECK: %[[v3:.+]] = arith.addf %[[v1]], %[[v2]] : f32 + ! CHECK: %[[v3:.+]] = arith.addf %[[v1]], %[[v2]] {{.*}} : f32 real4 = x0 + x1 ! CHECK: return %{{.*}} : f32 END FUNCTION real4 @@ -41,7 +41,7 @@ REAL :: x1 ! CHECK-DAG: %[[v1:.+]] = fir.load %arg0 : !fir.ref ! CHECK-DAG: %[[v2:.+]] = fir.load %arg1 : !fir.ref - ! CHECK: %[[v3:.+]] = arith.addf %[[v1]], %[[v2]] : f32 + ! CHECK: %[[v3:.+]] = arith.addf %[[v1]], %[[v2]] {{.*}} : f32 defreal = x0 + x1 ! CHECK: return %{{.*}} : f32 END FUNCTION defreal @@ -52,7 +52,7 @@ REAL(8) :: x1 ! CHECK-DAG: %[[v1:.+]] = fir.load %arg0 : !fir.ref ! CHECK-DAG: %[[v2:.+]] = fir.load %arg1 : !fir.ref - ! CHECK: %[[v3:.+]] = arith.addf %[[v1]], %[[v2]] : f64 + ! CHECK: %[[v3:.+]] = arith.addf %[[v1]], %[[v2]] {{.*}} : f64 real8 = x0 + x1 ! CHECK: return %{{.*}} : f64 END FUNCTION real8 @@ -63,7 +63,7 @@ DOUBLE PRECISION :: x1 ! CHECK-DAG: %[[v1:.+]] = fir.load %arg0 : !fir.ref ! CHECK-DAG: %[[v2:.+]] = fir.load %arg1 : !fir.ref - ! CHECK: %[[v3:.+]] = arith.addf %[[v1]], %[[v2]] : f64 + ! CHECK: %[[v3:.+]] = arith.addf %[[v1]], %[[v2]] {{.*}} : f64 doubleprec = x0 + x1 ! CHECK: return %{{.*}} : f64 END FUNCTION doubleprec @@ -74,7 +74,7 @@ REAL(10) :: x1 ! CHECK-DAG: %[[v1:.+]] = fir.load %arg0 : !fir.ref ! CHECK-DAG: %[[v2:.+]] = fir.load %arg1 : !fir.ref - ! CHECK: %[[v3:.+]] = arith.addf %[[v1]], %[[v2]] : f80 + ! CHECK: %[[v3:.+]] = arith.addf %[[v1]], %[[v2]] {{.*}} : f80 real10 = x0 + x1 ! CHECK: return %{{.*}} : f80 END FUNCTION real10 @@ -85,7 +85,7 @@ REAL(16) :: x1 ! CHECK-DAG: %[[v1:.+]] = fir.load %arg0 : !fir.ref ! CHECK-DAG: %[[v2:.+]] = fir.load %arg1 : !fir.ref - ! CHECK: %[[v3:.+]] = arith.addf %[[v1]], %[[v2]] : f128 + ! CHECK: %[[v3:.+]] = arith.addf %[[v1]], %[[v2]] {{.*}} : f128 real16 = x0 + x1 ! CHECK: return %{{.*}} : f128 END FUNCTION real16 @@ -97,8 +97,8 @@ ! CHECK-DAG: %[[v0:.+]] = arith.constant 4.0{{.*}} : f128 ! CHECK-DAG: %[[v1:.+]] = fir.load %arg0 : !fir.ref ! CHECK-DAG: %[[v2:.+]] = fir.load %arg1 : !fir.ref - ! CHECK: %[[v3:.+]] = arith.addf %[[v1]], %[[v2]] : f128 - ! CHECK: %[[v4:.+]] = arith.subf %[[v3]], %[[v0]] : f128 + ! CHECK: %[[v3:.+]] = arith.addf %[[v1]], %[[v2]] {{.*}} : f128 + ! CHECK: %[[v4:.+]] = arith.subf %[[v3]], %[[v0]] {{.*}} : f128 real16b = x0 + x1 - 4.0_16 ! CHECK: return %{{.*}} : f128 END FUNCTION real16b Index: flang/test/Lower/real-operations-2.f90 =================================================================== --- flang/test/Lower/real-operations-2.f90 +++ flang/test/Lower/real-operations-2.f90 @@ -74,7 +74,7 @@ REAL(4) :: x1 ! CHECK-DAG:[[reg1:%[0-9]+]] = fir.load %arg0 ! CHECK-DAG:[[reg2:%[0-9]+]] = fir.load %arg1 -! CHECK:addf [[reg1]], [[reg2]] : f32 +! CHECK:addf [[reg1]], [[reg2]] {{.*}} : f32 add6_test = x0 + x1 END FUNCTION @@ -84,7 +84,7 @@ REAL(4) :: x1 ! CHECK-DAG:[[reg1:%[0-9]+]] = fir.load %arg0 ! CHECK-DAG:[[reg2:%[0-9]+]] = fir.load %arg1 -! CHECK:subf [[reg1]], [[reg2]] : f32 +! CHECK:subf [[reg1]], [[reg2]] {{.*}} : f32 sub7_test = x0 - x1 END FUNCTION @@ -94,7 +94,7 @@ REAL(4) :: x1 ! CHECK-DAG:[[reg1:%[0-9]+]] = fir.load %arg0 ! CHECK-DAG:[[reg2:%[0-9]+]] = fir.load %arg1 -! CHECK:mulf [[reg1]], [[reg2]] : f32 +! CHECK:mulf [[reg1]], [[reg2]] {{.*}} : f32 mult8_test = x0 * x1 END FUNCTION @@ -104,6 +104,6 @@ REAL(4) :: x1 ! CHECK-DAG:[[reg1:%[0-9]+]] = fir.load %arg0 ! CHECK-DAG:[[reg2:%[0-9]+]] = fir.load %arg1 -! CHECK:divf [[reg1]], [[reg2]] : f32 +! CHECK:divf [[reg1]], [[reg2]] {{.*}} : f32 div9_test = x0 / x1 END FUNCTION Index: flang/test/Lower/select-type.f90 =================================================================== --- flang/test/Lower/select-type.f90 +++ flang/test/Lower/select-type.f90 @@ -62,7 +62,7 @@ ! CHECK-LABEL: func.func @_QMselect_type_lower_testPselect_type2() ! CHECK: %[[RESULT:.*]] = fir.alloca !fir.class>> {bindc_name = ".result"} -! CHECK: %[[FCTCALL:.*]] = fir.call @_QMselect_type_lower_testPget_class() : () -> !fir.class>> +! CHECK: %[[FCTCALL:.*]] = fir.call @_QMselect_type_lower_testPget_class() {{.*}} : () -> !fir.class>> ! CHECK: fir.save_result %[[FCTCALL]] to %[[RESULT]] : !fir.class>>, !fir.ref>>> ! CHECK: %[[SELECTOR:.*]] = fir.load %[[RESULT]] : !fir.ref>>> ! CHECK: fir.select_type %[[SELECTOR]] : !fir.class>> Index: flang/test/Lower/statement-function.f90 =================================================================== --- flang/test/Lower/statement-function.f90 +++ flang/test/Lower/statement-function.f90 @@ -66,7 +66,7 @@ ! CHECK-DAG: %[[res12:.*]] = fir.load %[[res1]] ! CHECK-DAG: %[[res22:.*]] = fir.load %[[res2]] - ! CHECK: = arith.addf %[[res12]], %[[res22]] : f32 + ! CHECK: = arith.addf %[[res12]], %[[res22]] {{.*}} : f32 test_stmt_1 = res1 + res2 ! CHECK: return %{{.*}} : f32 end function @@ -115,7 +115,7 @@ ! CHECK-DAG: %[[c10:.*]] = arith.constant 10 : ! CHECK: %[[c10_cast:.*]] = fir.convert %[[c10]] : (i32) -> index ! CHECK: %[[argc:.*]] = fir.emboxchar %[[unboxed]]#0, %[[c10_cast]] - ! CHECK: fir.call @_QPifoo(%[[argc]]) : (!fir.boxchar<1>) -> i32 + ! CHECK: fir.call @_QPifoo(%[[argc]]) {{.*}} : (!fir.boxchar<1>) -> i32 func(argc) = ifoo(argc) test_stmt_character = func(c) end function @@ -133,7 +133,7 @@ ! CHECK: %[[len:.*]] = arith.select %[[n_is_positive]], %[[n]], %c0{{.*}} : i32 ! CHECK: %[[lenCast:.*]] = fir.convert %[[len]] : (i32) -> index ! CHECK: %[[argc:.*]] = fir.emboxchar %[[unboxed]]#0, %[[lenCast]] : (!fir.ref>, index) -> !fir.boxchar<1> - ! CHECK: fir.call @_QPifoo(%[[argc]]) : (!fir.boxchar<1>) -> i32 + ! CHECK: fir.call @_QPifoo(%[[argc]]) {{.*}} : (!fir.boxchar<1>) -> i32 func(argc) = ifoo(argc) test_stmt_character = func(c) end function @@ -170,10 +170,10 @@ ! CHECK: %[[length:.*]] = arith.muli %[[c1]], %[[select_i64]] : i64 ! CHECK: %[[cast_temp_i8:.*]] = fir.convert %[[temp]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[cast_arg_i8:.*]] = fir.convert %[[cast_arg]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[cast_temp_i8]], %[[cast_arg_i8]], %[[length]], %{{.*}}) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[cast_temp_i8]], %[[cast_arg_i8]], %[[length]], %{{.*}}) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[c1_i64:.*]] = arith.constant 1 : i64 ! CHECK: %[[ub:.*]] = arith.subi %[[c10]], %[[c1_i64]] : i64 ! CHECK: %[[ub_index:.*]] = fir.convert %[[ub]] : (i64) -> index ! CHECK: fir.do_loop %{{.*}} = %[[select]] to %[[ub_index]] step %{{.*}} { ! CHECK: %[[cast_temp:.*]] = fir.convert %[[temp:.*]] : (!fir.ref>) -> !fir.ref -! CHECK: %{{.*}} = fir.call @_FortranAioOutputAscii(%{{.*}}, %[[cast_temp]], %[[c10]]) : (!fir.ref, !fir.ref, i64) -> i1 +! CHECK: %{{.*}} = fir.call @_FortranAioOutputAscii(%{{.*}}, %[[cast_temp]], %[[c10]]) {{.*}} : (!fir.ref, !fir.ref, i64) -> i1 Index: flang/test/Lower/stop-statement.f90 =================================================================== --- flang/test/Lower/stop-statement.f90 +++ flang/test/Lower/stop-statement.f90 @@ -70,7 +70,7 @@ ! CHECK-DAG: %[[lit:.*]] = fir.address_of(@_QQ{{.*}}) : !fir.ref> ! CHECK-DAG: %[[buff:.*]] = fir.convert %[[lit]] : (!fir.ref>) -> !fir.ref ! CHECK-DAG: %[[len:.*]] = fir.convert %[[five]] : (index) -> i64 - ! CHECK: fir.call @{{.*}}StopStatementText(%[[buff]], %[[len]], %[[false]], %[[false]]) : + ! CHECK: fir.call @{{.*}}StopStatementText(%[[buff]], %[[len]], %[[false]], %[[false]]) {{.*}} : ! CHECK-NEXT: fir.unreachable stop 'crash' end subroutine stop_char_lit Index: flang/test/Lower/structure-constructors.f90 =================================================================== --- flang/test/Lower/structure-constructors.f90 +++ flang/test/Lower/structure-constructors.f90 @@ -53,7 +53,7 @@ ! CHECK: %[[cst:.*]] = fir.address_of(@_QQ{{.*}}) : !fir.ref> ! CHECK-DAG: %[[ccast:.*]] = fir.convert %[[ccoor]] : (!fir.ref>) -> !fir.ref ! CHECK-DAG: %[[cstcast:.*]] = fir.convert %[[cst]] : (!fir.ref>) -> !fir.ref - ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[ccast]], %[[cstcast]], %{{.*}}, %{{.*}}) : (!fir.ref, !fir.ref, i64, i1) -> () + ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[ccast]], %[[cstcast]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () real :: x call print_char_scalar(t_char_scalar(x=x, c="abc")) end subroutine @@ -115,12 +115,12 @@ ! CHECK: %[[VAL_29:.*]] = arith.constant false ! CHECK: %[[VAL_30:.*]] = fir.convert %[[VAL_24]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_31:.*]] = fir.convert %[[char_temp]] : (!fir.ref>) -> !fir.ref - ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_30]], %[[VAL_31]], %[[VAL_28]], %[[VAL_29]]) : (!fir.ref, !fir.ref, i64, i1) -> () + ! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_30]], %[[VAL_31]], %[[VAL_28]], %[[VAL_29]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_32:.*]] = fir.array_amend %[[VAL_22]], %[[VAL_24]] : (!fir.array<5x!fir.char<1,3>>, !fir.ref>) -> !fir.array<5x!fir.char<1,3>> ! CHECK: fir.result %[[VAL_32]] : !fir.array<5x!fir.char<1,3>> ! CHECK: } ! CHECK: fir.array_merge_store %[[VAL_14]], %[[VAL_33:.*]] to %[[VAL_11]] : !fir.array<5x!fir.char<1,3>>, !fir.array<5x!fir.char<1,3>>, !fir.ref>> - ! CHECK: fir.call @_QMm_struct_ctorPprint_char_array(%[[VAL_3]]) : (!fir.ref>}>>) -> () + ! CHECK: fir.call @_QMm_struct_ctorPprint_char_array(%[[VAL_3]]) {{.*}} : (!fir.ref>}>>) -> () real :: x character(3) :: c1(5) @@ -154,7 +154,7 @@ ! CHECK: %[[VAL_22:.*]] = fir.rebox %[[VAL_1]] {{\[}}%[[VAL_21]]] : (!fir.box>, !fir.slice<2>) -> !fir.box> ! CHECK: %[[VAL_23:.*]] = fir.rebox %[[VAL_22]] : (!fir.box>) -> !fir.box>> ! CHECK: fir.store %[[VAL_23]] to %[[VAL_8]] : !fir.ref>>> - ! CHECK: fir.call @_QMm_struct_ctorPprint_ptr(%[[VAL_3]]) : (!fir.ref>>}>>) -> () + ! CHECK: fir.call @_QMm_struct_ctorPprint_ptr(%[[VAL_3]]) {{.*}} : (!fir.ref>>}>>) -> () ! CHECK: return ! CHECK: } @@ -284,7 +284,7 @@ ! CHECK: %[[VAL_54:.*]] = arith.constant true ! CHECK: %[[VAL_55:.*]] = fir.convert %[[VAL_54]] : (i1) -> !fir.logical<4> ! CHECK: fir.store %[[VAL_55]] to %[[VAL_53]] : !fir.ref> -! CHECK: fir.call @_QPprint_parent_component1(%[[VAL_1]]) : (!fir.ref,mask:!fir.logical<4>}>>) -> () +! CHECK: fir.call @_QPprint_parent_component1(%[[VAL_1]]) {{.*}} : (!fir.ref,mask:!fir.logical<4>}>>) -> () ! CHECK: return ! CHECK: } @@ -314,13 +314,13 @@ ! CHECK: %[[VAL_17:.*]] = arith.constant false ! CHECK: %[[VAL_18:.*]] = fir.convert %[[VAL_12]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_19:.*]] = fir.convert %[[VAL_10]] : (!fir.ref>) -> !fir.ref -! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_18]], %[[VAL_19]], %[[VAL_16]], %[[VAL_17]]) : (!fir.ref, !fir.ref, i64, i1) -> () +! CHECK: fir.call @llvm.memmove.p0.p0.i64(%[[VAL_18]], %[[VAL_19]], %[[VAL_16]], %[[VAL_17]]) {{.*}} : (!fir.ref, !fir.ref, i64, i1) -> () ! CHECK: %[[VAL_20:.*]] = fir.field_index mask, !fir.type<_QFtest_parent_component2Tmid{z:!fir.char<1,5>,mask:!fir.logical<4>}> ! CHECK: %[[VAL_21:.*]] = fir.coordinate_of %[[VAL_0]], %[[VAL_20]] : (!fir.ref,mask:!fir.logical<4>}>>, !fir.field) -> !fir.ref> ! CHECK: %[[VAL_22:.*]] = arith.constant true ! CHECK: %[[VAL_23:.*]] = fir.convert %[[VAL_22]] : (i1) -> !fir.logical<4> ! CHECK: fir.store %[[VAL_23]] to %[[VAL_21]] : !fir.ref> -! CHECK: fir.call @_QPprint_parent_component2(%[[VAL_0]]) : (!fir.ref,mask:!fir.logical<4>}>>) -> () +! CHECK: fir.call @_QPprint_parent_component2(%[[VAL_0]]) {{.*}} : (!fir.ref,mask:!fir.logical<4>}>>) -> () ! CHECK: return ! CHECK: } @@ -346,13 +346,13 @@ ! CHECK: fir.store %[[VAL_11]] to %[[VAL_1]] : !fir.ref>}>>> ! CHECK: %[[VAL_14:.*]] = fir.convert %[[VAL_1]] : (!fir.ref>}>>>) -> !fir.ref> ! CHECK: %[[VAL_15:.*]] = fir.convert %[[VAL_9]] : (!fir.box>}>>>) -> !fir.box -! CHECK: %[[VAL_17:.*]] = fir.call @_FortranAAssign(%[[VAL_14]], %[[VAL_15]], %{{.*}}, %{{.*}}) : (!fir.ref>, !fir.box, !fir.ref, i32) -> none +! CHECK: %[[VAL_17:.*]] = fir.call @_FortranAAssign(%[[VAL_14]], %[[VAL_15]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, !fir.box, !fir.ref, i32) -> none ! CHECK: %[[VAL_18:.*]] = fir.field_index mask, !fir.type<_QFtest_parent_component3Tmid{m:!fir.array<2x!fir.char<1,5>>,mask:!fir.logical<4>}> ! CHECK: %[[VAL_19:.*]] = fir.coordinate_of %[[VAL_2]], %[[VAL_18]] : (!fir.ref>,mask:!fir.logical<4>}>>, !fir.field) -> !fir.ref> ! CHECK: %[[VAL_20:.*]] = arith.constant true ! CHECK: %[[VAL_21:.*]] = fir.convert %[[VAL_20]] : (i1) -> !fir.logical<4> ! CHECK: fir.store %[[VAL_21]] to %[[VAL_19]] : !fir.ref> -! CHECK: fir.call @_QPprint_parent_component3(%[[VAL_2]]) : (!fir.ref>,mask:!fir.logical<4>}>>) -> () +! CHECK: fir.call @_QPprint_parent_component3(%[[VAL_2]]) {{.*}} : (!fir.ref>,mask:!fir.logical<4>}>>) -> () ! CHECK: return ! CHECK: } Index: flang/test/Lower/transformational-intrinsics.f90 =================================================================== --- flang/test/Lower/transformational-intrinsics.f90 +++ flang/test/Lower/transformational-intrinsics.f90 @@ -24,14 +24,14 @@ ! CHECK: %[[res_desc:.]] = fir.alloca !fir.box>>> ! CHECK-DAG: %[[res_arg:.*]] = fir.convert %[[res_desc]] : (!fir.ref>>>>) -> !fir.ref> ! CHECK-DAG: %[[x_arg:.*]] = fir.convert %[[arg0]] : (!fir.box>>) -> !fir.box - ! CHECK: fir.call @_Fortran{{.*}}AllDim(%[[res_arg]], %[[x_arg]], {{.*}}) : (!fir.ref>, !fir.box, i32, !fir.ref, i32) -> none + ! CHECK: fir.call @_Fortran{{.*}}AllDim(%[[res_arg]], %[[x_arg]], {{.*}}) {{.*}} : (!fir.ref>, !fir.box, i32, !fir.ref, i32) -> none ! CHECK: %[[res_desc_load:.*]] = fir.load %[[res_desc]] : !fir.ref>>>> ! CHECK-DAG: %[[dims:.*]]:3 = fir.box_dims %[[res_desc_load]], %c0{{.*}} : (!fir.box>>>, index) -> (index, index, index) ! CHECK-DAG: %[[res_addr:.*]] = fir.box_addr %[[res_desc_load]] : (!fir.box>>>) -> !fir.heap>> ! CHECK-DAG: %[[res_shape:.*]] = fir.shape_shift %[[dims]]#0, %[[dims]]#1 : (index, index) -> !fir.shapeshift<1> ! CHECK: %[[io_embox:.*]] = fir.embox %[[res_addr]](%[[res_shape]]) : (!fir.heap>>, !fir.shapeshift<1>) -> !fir.box>> ! CHECK: %[[io_embox_cast:.*]] = fir.convert %[[io_embox]] : (!fir.box>>) -> !fir.box - ! CHECK: fir.call @_Fortran{{.*}}ioOutputDescriptor({{.*}}, %[[io_embox_cast]]) : (!fir.ref, !fir.box) -> i1 + ! CHECK: fir.call @_Fortran{{.*}}ioOutputDescriptor({{.*}}, %[[io_embox_cast]]) {{.*}} : (!fir.ref, !fir.box) -> i1 print *, all(x, 1) ! CHECK: fir.freemem %[[res_addr]] : !fir.heap>> end subroutine @@ -44,13 +44,13 @@ ! CHECK: %[[res_desc:.]] = fir.alloca !fir.box>>> ! CHECK-DAG: %[[res_arg:.*]] = fir.convert %[[res_desc]] : (!fir.ref>>>>) -> !fir.ref> ! CHECK-DAG: %[[x_arg:.*]] = fir.convert %[[arg0]] : (!fir.box>>) -> !fir.box - ! CHECK: fir.call @_Fortran{{.*}}AllDim(%[[res_arg]], %[[x_arg]], {{.*}}) : (!fir.ref>, !fir.box, i32, !fir.ref, i32) -> none + ! CHECK: fir.call @_Fortran{{.*}}AllDim(%[[res_arg]], %[[x_arg]], {{.*}}) {{.*}} : (!fir.ref>, !fir.box, i32, !fir.ref, i32) -> none ! CHECK: %[[res_desc_load:.*]] = fir.load %[[res_desc]] : !fir.ref>>>> ! CHECK-DAG: %[[dims:.*]]:3 = fir.box_dims %[[res_desc_load]], %c0{{.*}} : (!fir.box>>>, index) -> (index, index, index) ! CHECK-DAG: %[[res_addr:.*]] = fir.box_addr %[[res_desc_load]] : (!fir.box>>>) -> !fir.heap>> ! CHECK-DAG: %[[res_shape:.*]] = fir.shape_shift %[[dims]]#0, %[[dims]]#1 : (index, index) -> !fir.shapeshift<1> ! CHECK: %[[call_embox:.*]] = fir.embox %[[res_addr]](%[[res_shape]]) : (!fir.heap>>, !fir.shapeshift<1>) -> !fir.box>> - ! CHECK: fir.call @_QPtakes_array_desc(%[[call_embox]]) : (!fir.box>>) -> () + ! CHECK: fir.call @_QPtakes_array_desc(%[[call_embox]]) {{.*}} : (!fir.box>>) -> () call takes_array_desc(all(x, 1)) ! CHECK: fir.freemem %[[res_addr]] : !fir.heap>> end subroutine @@ -64,7 +64,7 @@ ! CHECK: %[[res_desc_load:.*]] = fir.load %[[res_desc]] : !fir.ref>>>> ! CHECK: %[[res_addr:.*]] = fir.box_addr %[[res_desc_load]] : (!fir.box>>>) -> !fir.heap>> ! CHECK: %[[res_addr_cast:.*]] = fir.convert %[[res_addr]] : (!fir.heap>>) -> !fir.ref>> - ! CHECK: fir.call @_QPtakes_implicit_array(%[[res_addr_cast]]) : (!fir.ref>>) -> () + ! CHECK: fir.call @_QPtakes_implicit_array(%[[res_addr_cast]]) {{.*}} : (!fir.ref>>) -> () call takes_implicit_array(all(x, 1)) ! CHECK: fir.freemem %[[res_addr]] : !fir.heap>> end subroutine @@ -157,7 +157,7 @@ ! CHECK: %[[VAL_29:.*]] = fir.convert %[[VAL_19]] : (!fir.box>) -> !fir.box ! CHECK: %[[VAL_30:.*]] = fir.convert %[[VAL_25]] : (!fir.box>) -> !fir.box ! CHECK: %[[VAL_31:.*]] = fir.convert %[[VAL_26]] : (!fir.ref>) -> !fir.ref - ! CHECK: %[[VAL_32:.*]] = fir.call @_FortranACshift(%[[VAL_28]], %[[VAL_29]], %[[VAL_30]], %[[VAL_17]], %[[VAL_31]], %[[VAL_27]]) : (!fir.ref>, !fir.box, !fir.box, i32, !fir.ref, i32) -> none + ! CHECK: %[[VAL_32:.*]] = fir.call @_FortranACshift(%[[VAL_28]], %[[VAL_29]], %[[VAL_30]], %[[VAL_17]], %[[VAL_31]], %[[VAL_27]]) {{.*}} : (!fir.ref>, !fir.box, !fir.box, i32, !fir.ref, i32) -> none ! CHECK: %[[VAL_33:.*]] = fir.load %[[VAL_2]] : !fir.ref>>> ! CHECK: %[[VAL_34:.*]] = arith.constant 0 : index ! CHECK: %[[VAL_35:.*]]:3 = fir.box_dims %[[VAL_33]], %[[VAL_34]] : (!fir.box>>, index) -> (index, index, index) @@ -198,7 +198,7 @@ ! CHECK: %[[VAL_68:.*]] = fir.convert %[[VAL_59]] : (!fir.box>) -> !fir.box ! CHECK: %[[VAL_69:.*]] = fir.convert %[[VAL_64]] : (i32) -> i64 ! CHECK: %[[VAL_70:.*]] = fir.convert %[[VAL_65]] : (!fir.ref>) -> !fir.ref - ! CHECK: %[[VAL_71:.*]] = fir.call @_FortranACshiftVector(%[[VAL_67]], %[[VAL_68]], %[[VAL_69]], %[[VAL_70]], %[[VAL_66]]) : (!fir.ref>, !fir.box, i64, !fir.ref, i32) -> none + ! CHECK: %[[VAL_71:.*]] = fir.call @_FortranACshiftVector(%[[VAL_67]], %[[VAL_68]], %[[VAL_69]], %[[VAL_70]], %[[VAL_66]]) {{.*}} : (!fir.ref>, !fir.box, i64, !fir.ref, i32) -> none ! CHECK: %[[VAL_72:.*]] = fir.load %[[VAL_0]] : !fir.ref>>> ! CHECK: %[[VAL_73:.*]] = arith.constant 0 : index ! CHECK: %[[VAL_74:.*]]:3 = fir.box_dims %[[VAL_72]], %[[VAL_73]] : (!fir.box>>, index) -> (index, index, index) @@ -260,7 +260,7 @@ ! CHECK-DAG: %[[a20:.*]] = fir.convert %[[a10]] : (!fir.box>) -> !fir.box ! CHECK-DAG: %[[a21:.*]] = fir.convert %[[a12]] : (!fir.box>>) -> !fir.box ! CHECK-DAG: %[[a22:.*]] = fir.convert %[[a14]] : (!fir.box>) -> !fir.box - ! CHECK: fir.call @_FortranAUnpack(%[[a19]], %[[a20]], %[[a21]], %[[a22]], %{{.*}}, %{{.*}}) : (!fir.ref>, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> none + ! CHECK: fir.call @_FortranAUnpack(%[[a19]], %[[a20]], %[[a21]], %[[a22]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> none ! CHECK-NEXT: %[[a22:.*]] = fir.load %{{.*}} : !fir.ref>>> ! CHECK: %[[a25:.*]] = fir.box_addr %[[a22]] : (!fir.box>>) -> !fir.heap> ! CHECK: fir.freemem %[[a25]] : !fir.heap> @@ -279,7 +279,7 @@ ! CHECK: %[[a49:.*]] = fir.convert %[[a41]] : (!fir.box>>) -> !fir.box ! CHECK: %[[a50:.*]] = fir.convert %[[a42]] : (!fir.box) -> !fir.box result = unpack(vector, mask, 343) - ! CHECK: fir.call @_FortranAUnpack(%[[a47]], %[[a48]], %[[a49]], %[[a50]], %{{.*}}, %{{.*}}) : (!fir.ref>, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> none + ! CHECK: fir.call @_FortranAUnpack(%[[a47]], %[[a48]], %[[a49]], %[[a50]], %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, !fir.box, !fir.box, !fir.box, !fir.ref, i32) -> none ! CHECK: %[[a53:.*]] = fir.load %[[a0]] : !fir.ref>>> ! CHECK: %[[a56:.*]] = fir.box_addr %[[a53]] : (!fir.box>>) -> !fir.heap> ! CHECK: fir.freemem %[[a56]] : !fir.heap> Index: flang/test/Lower/variable-inquiries.f90 =================================================================== --- flang/test/Lower/variable-inquiries.f90 +++ flang/test/Lower/variable-inquiries.f90 @@ -16,6 +16,6 @@ ! CHECK: %[[box_load:.*]] = fir.load %[[a]] : !fir.ref>>> ! CHECK: %[[dim:.*]]:3 = fir.box_dims %[[box_load]], %c0{{.*}} : (!fir.box>>, index) -> (index, index, index) ! CHECK: %[[cast:.*]] = fir.convert %[[dim]]#1 : (index) -> i64 - ! CHECK: fir.call @_FortranAioOutputInteger64(%{{.*}}, %[[cast]]) : (!fir.ref, i64) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger64(%{{.*}}, %[[cast]]) {{.*}} : (!fir.ref, i64) -> i1 print *, size(a, kind=8) end subroutine Index: flang/test/Lower/vector-subscript-io.f90 =================================================================== --- flang/test/Lower/vector-subscript-io.f90 +++ flang/test/Lower/vector-subscript-io.f90 @@ -16,7 +16,7 @@ ! CHECK-DAG: %[[VAL_6:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_7:.*]] = fir.address_of(@_QQ{{.*}}) : !fir.ref> ! CHECK: %[[VAL_8:.*]] = fir.convert %[[VAL_7]] : (!fir.ref>) -> !fir.ref -! CHECK: %[[VAL_9:.*]] = fir.call @_FortranAioBeginExternalListInput(%[[VAL_1]], %[[VAL_8]], %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref +! CHECK: %[[VAL_9:.*]] = fir.call @_FortranAioBeginExternalListInput(%[[VAL_1]], %[[VAL_8]], %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_10:.*]] = fir.shape %[[VAL_0]] : (index) -> !fir.shape<1> ! CHECK: %[[VAL_11:.*]] = fir.slice %[[VAL_6]], %[[VAL_4]], %[[VAL_6]] : (index, index, index) -> !fir.slice<1> ! CHECK: cf.br ^bb1(%[[VAL_5]], %[[VAL_4]] : index, index) @@ -29,12 +29,12 @@ ! CHECK: %[[VAL_18:.*]] = fir.convert %[[VAL_17]] : (i32) -> index ! CHECK: %[[VAL_19:.*]] = fir.array_coor %[[VAL_20]](%[[VAL_10]]) {{\[}}%[[VAL_11]]] %[[VAL_18]] : (!fir.ref>, !fir.shape<1>, !fir.slice<1>, index) -> !fir.ref ! CHECK: %[[VAL_21:.*]] = fir.convert %[[VAL_19]] : (!fir.ref) -> !fir.ref -! CHECK: %[[VAL_22:.*]] = fir.call @_FortranAioInputInteger(%[[VAL_9]], %[[VAL_21]], %[[VAL_3]]) : (!fir.ref, !fir.ref, i32) -> i1 +! CHECK: %[[VAL_22:.*]] = fir.call @_FortranAioInputInteger(%[[VAL_9]], %[[VAL_21]], %[[VAL_3]]) {{.*}} : (!fir.ref, !fir.ref, i32) -> i1 ! CHECK: %[[VAL_23:.*]] = arith.addi %[[VAL_12]], %[[VAL_6]] : index ! CHECK: %[[VAL_24:.*]] = arith.subi %[[VAL_13]], %[[VAL_6]] : index ! CHECK: cf.br ^bb1(%[[VAL_23]], %[[VAL_24]] : index, index) ! CHECK: ^bb3: -! CHECK: %[[VAL_25:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_9]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_25:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_9]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: return end subroutine @@ -58,10 +58,10 @@ ! CHECK: %[[VAL_31:.*]] = fir.alloca !fir.box>> {bindc_name = ".result"} ! CHECK: %[[VAL_32:.*]] = fir.address_of(@_QQ{{.*}}) : !fir.ref> ! CHECK: %[[VAL_33:.*]] = fir.convert %[[VAL_32]] : (!fir.ref>) -> !fir.ref -! CHECK: %[[VAL_34:.*]] = fir.call @_FortranAioBeginExternalListInput(%[[VAL_26]], %[[VAL_33]], %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref -! CHECK: %[[VAL_35:.*]] = fir.call @_QPget_substcript() : () -> i32 +! CHECK: %[[VAL_34:.*]] = fir.call @_FortranAioBeginExternalListInput(%[[VAL_26]], %[[VAL_33]], %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref +! CHECK: %[[VAL_35:.*]] = fir.call @_QPget_substcript() {{.*}} : () -> i32 ! CHECK: %[[VAL_36:.*]] = fir.convert %[[VAL_35]] : (i32) -> i64 -! CHECK: %[[VAL_37:.*]] = fir.call @_QPget_vector() : () -> !fir.box>> +! CHECK: %[[VAL_37:.*]] = fir.call @_QPget_vector() {{.*}} : () -> !fir.box>> ! CHECK: fir.save_result %[[VAL_37]] to %[[VAL_31]] : !fir.box>>, !fir.ref>>> ! CHECK: %[[VAL_38:.*]] = fir.load %[[VAL_31]] : !fir.ref>>> ! CHECK: %[[VAL_39:.*]]:3 = fir.box_dims %[[VAL_38]], %[[VAL_29]] : (!fir.box>>, index) -> (index, index, index) @@ -78,7 +78,7 @@ ! CHECK: %[[VAL_48:.*]] = fir.load %[[VAL_47]] : !fir.ref ! CHECK: %[[VAL_49:.*]] = fir.convert %[[VAL_48]] : (i32) -> index ! CHECK: %[[VAL_50:.*]] = fir.array_coor %[[VAL_51]] {{\[}}%[[VAL_42]]] %[[VAL_46]], %[[VAL_49]] : (!fir.box>, !fir.slice<2>, index, index) -> !fir.ref -! CHECK: %[[VAL_52:.*]] = fir.call @_FortranAioInputReal32(%[[VAL_34]], %[[VAL_50]]) : (!fir.ref, !fir.ref) -> i1 +! CHECK: %[[VAL_52:.*]] = fir.call @_FortranAioInputReal32(%[[VAL_34]], %[[VAL_50]]) {{.*}} : (!fir.ref, !fir.ref) -> i1 ! CHECK: %[[VAL_53:.*]] = arith.addi %[[VAL_43]], %[[VAL_30]] : index ! CHECK: %[[VAL_54:.*]] = arith.subi %[[VAL_44]], %[[VAL_30]] : index ! CHECK: cf.br ^bb1(%[[VAL_53]], %[[VAL_54]] : index, index) @@ -92,7 +92,7 @@ ! CHECK: fir.freemem %[[VAL_56]] : !fir.heap> ! CHECK: cf.br ^bb5 ! CHECK: ^bb5: -! CHECK: %[[VAL_59:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_34]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_59:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_34]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: return end subroutine @@ -108,7 +108,7 @@ ! CHECK-DAG: %[[VAL_64:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_65:.*]] = fir.address_of(@_QQ{{.*}}) : !fir.ref> ! CHECK: %[[VAL_66:.*]] = fir.convert %[[VAL_65]] : (!fir.ref>) -> !fir.ref -! CHECK: %[[VAL_67:.*]] = fir.call @_FortranAioBeginExternalListInput(%[[VAL_60]], %[[VAL_66]], %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref +! CHECK: %[[VAL_67:.*]] = fir.call @_FortranAioBeginExternalListInput(%[[VAL_60]], %[[VAL_66]], %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_68:.*]]:3 = fir.box_dims %[[VAL_69]], %[[VAL_63]] : (!fir.box>, index) -> (index, index, index) ! CHECK: %[[VAL_70:.*]] = fir.slice %[[VAL_64]], %[[VAL_68]]#1, %[[VAL_64]] : (index, index, index) -> !fir.slice<1> ! CHECK: cf.br ^bb1(%[[VAL_63]], %[[VAL_68]]#1 : index, index) @@ -121,12 +121,12 @@ ! CHECK: %[[VAL_76:.*]] = fir.convert %[[VAL_75]] : (i32) -> index ! CHECK: %[[VAL_77:.*]] = fir.array_coor %[[VAL_78]] {{\[}}%[[VAL_70]]] %[[VAL_76]] : (!fir.box>, !fir.slice<1>, index) -> !fir.ref ! CHECK: %[[VAL_79:.*]] = fir.convert %[[VAL_77]] : (!fir.ref) -> !fir.ref -! CHECK: %[[VAL_80:.*]] = fir.call @_FortranAioInputInteger(%[[VAL_67]], %[[VAL_79]], %[[VAL_62]]) : (!fir.ref, !fir.ref, i32) -> i1 +! CHECK: %[[VAL_80:.*]] = fir.call @_FortranAioInputInteger(%[[VAL_67]], %[[VAL_79]], %[[VAL_62]]) {{.*}} : (!fir.ref, !fir.ref, i32) -> i1 ! CHECK: %[[VAL_81:.*]] = arith.addi %[[VAL_71]], %[[VAL_64]] : index ! CHECK: %[[VAL_82:.*]] = arith.subi %[[VAL_72]], %[[VAL_64]] : index ! CHECK: cf.br ^bb1(%[[VAL_81]], %[[VAL_82]] : index, index) ! CHECK: ^bb3: -! CHECK: %[[VAL_83:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_67]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_83:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_67]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: return end subroutine @@ -147,7 +147,7 @@ ! CHECK-DAG: %[[VAL_93:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_94:.*]] = fir.address_of(@_QQ{{.*}}) : !fir.ref> ! CHECK: %[[VAL_95:.*]] = fir.convert %[[VAL_94]] : (!fir.ref>) -> !fir.ref -! CHECK: %[[VAL_96:.*]] = fir.call @_FortranAioBeginExternalListInput(%[[VAL_86]], %[[VAL_95]], %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref +! CHECK: %[[VAL_96:.*]] = fir.call @_FortranAioBeginExternalListInput(%[[VAL_86]], %[[VAL_95]], %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_97:.*]] = fir.shape_shift %[[VAL_89]], %[[VAL_84]], %[[VAL_91]], %[[VAL_85]] : (index, index, index, index) -> !fir.shapeshift<2> ! CHECK: %[[VAL_98:.*]] = fir.undefined index ! CHECK: %[[VAL_99:.*]] = fir.slice %[[VAL_88]], %[[VAL_98]], %[[VAL_98]], %[[VAL_93]], %[[VAL_91]], %[[VAL_93]] : (i64, index, index, index, index, index) -> !fir.slice<2> @@ -161,12 +161,12 @@ ! CHECK: %[[VAL_106:.*]] = fir.convert %[[VAL_105]] : (i32) -> index ! CHECK: %[[VAL_107:.*]] = fir.array_coor %[[VAL_108]](%[[VAL_97]]) {{\[}}%[[VAL_99]]] %[[VAL_91]], %[[VAL_106]] : (!fir.ref>, !fir.shapeshift<2>, !fir.slice<2>, index, index) -> !fir.ref ! CHECK: %[[VAL_109:.*]] = fir.convert %[[VAL_107]] : (!fir.ref) -> !fir.ref -! CHECK: %[[VAL_110:.*]] = fir.call @_FortranAioInputInteger(%[[VAL_96]], %[[VAL_109]], %[[VAL_90]]) : (!fir.ref, !fir.ref, i32) -> i1 +! CHECK: %[[VAL_110:.*]] = fir.call @_FortranAioInputInteger(%[[VAL_96]], %[[VAL_109]], %[[VAL_90]]) {{.*}} : (!fir.ref, !fir.ref, i32) -> i1 ! CHECK: %[[VAL_111:.*]] = arith.addi %[[VAL_100]], %[[VAL_93]] : index ! CHECK: %[[VAL_112:.*]] = arith.subi %[[VAL_101]], %[[VAL_93]] : index ! CHECK: cf.br ^bb1(%[[VAL_111]], %[[VAL_112]] : index, index) ! CHECK: ^bb3: -! CHECK: %[[VAL_113:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_96]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_113:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_96]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: return end subroutine @@ -183,7 +183,7 @@ ! CHECK-DAG: %[[VAL_119:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_120:.*]] = fir.address_of(@_QQ{{.*}}) : !fir.ref> ! CHECK: %[[VAL_121:.*]] = fir.convert %[[VAL_120]] : (!fir.ref>) -> !fir.ref -! CHECK: %[[VAL_122:.*]] = fir.call @_FortranAioBeginExternalListInput(%[[VAL_115]], %[[VAL_121]], %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref +! CHECK: %[[VAL_122:.*]] = fir.call @_FortranAioBeginExternalListInput(%[[VAL_115]], %[[VAL_121]], %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_123:.*]] = fir.shape %[[VAL_114]], %[[VAL_114]] : (index, index) -> !fir.shape<2> ! CHECK: %[[VAL_124:.*]] = fir.slice %[[VAL_119]], %[[VAL_117]], %[[VAL_119]], %[[VAL_119]], %[[VAL_117]], %[[VAL_119]] : (index, index, index, index, index, index) -> !fir.slice<2> ! CHECK: cf.br ^bb1(%[[VAL_118]], %[[VAL_117]] : index, index) @@ -201,7 +201,7 @@ ! CHECK: %[[VAL_137:.*]] = fir.load %[[VAL_135]] : !fir.ref ! CHECK: %[[VAL_138:.*]] = fir.convert %[[VAL_137]] : (i32) -> index ! CHECK: %[[VAL_139:.*]] = fir.array_coor %[[VAL_140]](%[[VAL_123]]) {{\[}}%[[VAL_124]]] %[[VAL_134]], %[[VAL_138]] : (!fir.ref>, !fir.shape<2>, !fir.slice<2>, index, index) -> !fir.ref -! CHECK: %[[VAL_141:.*]] = fir.call @_FortranAioInputReal32(%[[VAL_122]], %[[VAL_139]]) : (!fir.ref, !fir.ref) -> i1 +! CHECK: %[[VAL_141:.*]] = fir.call @_FortranAioInputReal32(%[[VAL_122]], %[[VAL_139]]) {{.*}} : (!fir.ref, !fir.ref) -> i1 ! CHECK: %[[VAL_142:.*]] = arith.addi %[[VAL_128]], %[[VAL_119]] : index ! CHECK: %[[VAL_143:.*]] = arith.subi %[[VAL_129]], %[[VAL_119]] : index ! CHECK: cf.br ^bb2(%[[VAL_142]], %[[VAL_143]] : index, index) @@ -210,7 +210,7 @@ ! CHECK: %[[VAL_145:.*]] = arith.subi %[[VAL_126]], %[[VAL_119]] : index ! CHECK: cf.br ^bb1(%[[VAL_144]], %[[VAL_145]] : index, index) ! CHECK: ^bb5: -! CHECK: %[[VAL_146:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_122]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_146:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_122]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: return end subroutine @@ -228,7 +228,7 @@ ! CHECK-DAG: %[[VAL_153:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_154:.*]] = fir.address_of(@_QQ{{.*}}) : !fir.ref> ! CHECK: %[[VAL_155:.*]] = fir.convert %[[VAL_154]] : (!fir.ref>) -> !fir.ref -! CHECK: %[[VAL_156:.*]] = fir.call @_FortranAioBeginExternalListInput(%[[VAL_147]], %[[VAL_155]], %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref +! CHECK: %[[VAL_156:.*]] = fir.call @_FortranAioBeginExternalListInput(%[[VAL_147]], %[[VAL_155]], %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_157:.*]] = fir.shape %[[VAL_149]], %[[VAL_149]] : (index, index) -> !fir.shape<2> ! CHECK: %[[VAL_158:.*]] = fir.slice %[[VAL_153]], %[[VAL_149]], %[[VAL_151]], %[[VAL_153]], %[[VAL_150]], %[[VAL_153]] : (index, index, index, index, index, index) -> !fir.slice<2> ! CHECK: cf.br ^bb1(%[[VAL_152]], %[[VAL_150]] : index, index) @@ -244,7 +244,7 @@ ! CHECK: %[[VAL_168:.*]] = fir.convert %[[VAL_167]] : (i32) -> index ! CHECK: %[[VAL_169:.*]] = fir.array_coor %[[VAL_170]](%[[VAL_157]]) {{\[}}%[[VAL_158]]] %[[VAL_162]], %[[VAL_168]] : (!fir.ref>>, !fir.shape<2>, !fir.slice<2>, index, index) -> !fir.ref> ! CHECK: %[[VAL_171:.*]] = fir.convert %[[VAL_169]] : (!fir.ref>) -> !fir.ref -! CHECK: %[[VAL_172:.*]] = fir.call @_FortranAioInputComplex32(%[[VAL_156]], %[[VAL_171]]) : (!fir.ref, !fir.ref) -> i1 +! CHECK: %[[VAL_172:.*]] = fir.call @_FortranAioInputComplex32(%[[VAL_156]], %[[VAL_171]]) {{.*}} : (!fir.ref, !fir.ref) -> i1 ! CHECK: %[[VAL_173:.*]] = arith.addi %[[VAL_162]], %[[VAL_153]] : index ! CHECK: %[[VAL_174:.*]] = arith.subi %[[VAL_163]], %[[VAL_153]] : index ! CHECK: cf.br ^bb2(%[[VAL_173]], %[[VAL_174]] : index, index) @@ -253,7 +253,7 @@ ! CHECK: %[[VAL_176:.*]] = arith.subi %[[VAL_160]], %[[VAL_153]] : index ! CHECK: cf.br ^bb1(%[[VAL_175]], %[[VAL_176]] : index, index) ! CHECK: ^bb5: -! CHECK: %[[VAL_177:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_156]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_177:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_156]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: return end subroutine @@ -272,7 +272,7 @@ ! CHECK: %[[VAL_186:.*]] = fir.convert %[[VAL_184]]#0 : (!fir.ref>) -> !fir.ref>> ! CHECK: %[[VAL_187:.*]] = fir.address_of(@_QQ{{.*}}) : !fir.ref> ! CHECK: %[[VAL_188:.*]] = fir.convert %[[VAL_187]] : (!fir.ref>) -> !fir.ref -! CHECK: %[[VAL_189:.*]] = fir.call @_FortranAioBeginExternalListInput(%[[VAL_179]], %[[VAL_188]], %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref +! CHECK: %[[VAL_189:.*]] = fir.call @_FortranAioBeginExternalListInput(%[[VAL_179]], %[[VAL_188]], %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_190:.*]] = fir.shape_shift %[[VAL_181]], %[[VAL_178]] : (index, index) -> !fir.shapeshift<1> ! CHECK: %[[VAL_191:.*]] = fir.slice %[[VAL_183]], %[[VAL_181]], %[[VAL_183]] : (index, index, index) -> !fir.slice<1> ! CHECK: cf.br ^bb1(%[[VAL_182]], %[[VAL_181]] : index, index) @@ -286,12 +286,12 @@ ! CHECK: %[[VAL_199:.*]] = fir.array_coor %[[VAL_186]](%[[VAL_190]]) {{\[}}%[[VAL_191]]] %[[VAL_198]] typeparams %[[VAL_184]]#1 : (!fir.ref>>, !fir.shapeshift<1>, !fir.slice<1>, index, index) -> !fir.ref> ! CHECK: %[[VAL_200:.*]] = fir.convert %[[VAL_199]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_201:.*]] = fir.convert %[[VAL_184]]#1 : (index) -> i64 -! CHECK: %[[VAL_202:.*]] = fir.call @_FortranAioInputAscii(%[[VAL_189]], %[[VAL_200]], %[[VAL_201]]) : (!fir.ref, !fir.ref, i64) -> i1 +! CHECK: %[[VAL_202:.*]] = fir.call @_FortranAioInputAscii(%[[VAL_189]], %[[VAL_200]], %[[VAL_201]]) {{.*}} : (!fir.ref, !fir.ref, i64) -> i1 ! CHECK: %[[VAL_203:.*]] = arith.addi %[[VAL_192]], %[[VAL_183]] : index ! CHECK: %[[VAL_204:.*]] = arith.subi %[[VAL_193]], %[[VAL_183]] : index ! CHECK: cf.br ^bb1(%[[VAL_203]], %[[VAL_204]] : index, index) ! CHECK: ^bb3: -! CHECK: %[[VAL_205:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_189]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_205:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_189]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: return end subroutine @@ -307,7 +307,7 @@ ! CHECK-DAG: %[[VAL_210:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_211:.*]] = fir.address_of(@_QQ{{.*}}) : !fir.ref> ! CHECK: %[[VAL_212:.*]] = fir.convert %[[VAL_211]] : (!fir.ref>) -> !fir.ref -! CHECK: %[[VAL_213:.*]] = fir.call @_FortranAioBeginExternalListInput(%[[VAL_206]], %[[VAL_212]], %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref +! CHECK: %[[VAL_213:.*]] = fir.call @_FortranAioBeginExternalListInput(%[[VAL_206]], %[[VAL_212]], %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_214:.*]] = fir.load %[[VAL_215]] : !fir.ref ! CHECK: %[[VAL_216:.*]] = fir.convert %[[VAL_214]] : (i32) -> index ! CHECK: %[[VAL_217:.*]] = fir.load %[[VAL_218]] : !fir.ref @@ -332,12 +332,12 @@ ! CHECK: %[[VAL_237:.*]] = arith.select %[[VAL_236]], %[[VAL_209]], %[[VAL_235]] : index ! CHECK: %[[VAL_238:.*]] = fir.convert %[[VAL_233]] : (!fir.ref>) -> !fir.ref ! CHECK: %[[VAL_239:.*]] = fir.convert %[[VAL_237]] : (index) -> i64 -! CHECK: %[[VAL_240:.*]] = fir.call @_FortranAioInputAscii(%[[VAL_213]], %[[VAL_238]], %[[VAL_239]]) : (!fir.ref, !fir.ref, i64) -> i1 +! CHECK: %[[VAL_240:.*]] = fir.call @_FortranAioInputAscii(%[[VAL_213]], %[[VAL_238]], %[[VAL_239]]) {{.*}} : (!fir.ref, !fir.ref, i64) -> i1 ! CHECK: %[[VAL_241:.*]] = arith.addi %[[VAL_221]], %[[VAL_210]] : index ! CHECK: %[[VAL_242:.*]] = arith.subi %[[VAL_222]], %[[VAL_210]] : index ! CHECK: cf.br ^bb1(%[[VAL_241]], %[[VAL_242]] : index, index) ! CHECK: ^bb3: -! CHECK: %[[VAL_243:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_213]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_243:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_213]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: return end subroutine @@ -353,7 +353,7 @@ ! CHECK-DAG: %[[VAL_248:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_249:.*]] = fir.address_of(@_QQ{{.*}}) : !fir.ref> ! CHECK: %[[VAL_250:.*]] = fir.convert %[[VAL_249]] : (!fir.ref>) -> !fir.ref -! CHECK: %[[VAL_251:.*]] = fir.call @_FortranAioBeginExternalListInput(%[[VAL_244]], %[[VAL_250]], %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref +! CHECK: %[[VAL_251:.*]] = fir.call @_FortranAioBeginExternalListInput(%[[VAL_244]], %[[VAL_250]], %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_252:.*]]:3 = fir.box_dims %[[VAL_253]], %[[VAL_247]] : (!fir.box>, index) -> (index, index, index) ! CHECK: %[[VAL_254:.*]] = fir.slice %[[VAL_248]], %[[VAL_252]]#1, %[[VAL_248]] path %[[VAL_246]] : (index, index, index, i32) -> !fir.slice<1> ! CHECK: cf.br ^bb1(%[[VAL_247]], %[[VAL_252]]#1 : index, index) @@ -365,12 +365,12 @@ ! CHECK: %[[VAL_259:.*]] = fir.load %[[VAL_258]] : !fir.ref ! CHECK: %[[VAL_260:.*]] = fir.convert %[[VAL_259]] : (i32) -> index ! CHECK: %[[VAL_261:.*]] = fir.array_coor %[[VAL_262]] {{\[}}%[[VAL_254]]] %[[VAL_260]] : (!fir.box>>, !fir.slice<1>, index) -> !fir.ref -! CHECK: %[[VAL_263:.*]] = fir.call @_FortranAioInputReal32(%[[VAL_251]], %[[VAL_261]]) : (!fir.ref, !fir.ref) -> i1 +! CHECK: %[[VAL_263:.*]] = fir.call @_FortranAioInputReal32(%[[VAL_251]], %[[VAL_261]]) {{.*}} : (!fir.ref, !fir.ref) -> i1 ! CHECK: %[[VAL_264:.*]] = arith.addi %[[VAL_255]], %[[VAL_248]] : index ! CHECK: %[[VAL_265:.*]] = arith.subi %[[VAL_256]], %[[VAL_248]] : index ! CHECK: cf.br ^bb1(%[[VAL_264]], %[[VAL_265]] : index, index) ! CHECK: ^bb3: -! CHECK: %[[VAL_266:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_251]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_266:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_251]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: return end subroutine @@ -399,7 +399,7 @@ ! CHECK-DAG: %[[VAL_273:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_274:.*]] = fir.address_of(@_QQ{{.*}}) : !fir.ref> ! CHECK: %[[VAL_275:.*]] = fir.convert %[[VAL_274]] : (!fir.ref>) -> !fir.ref -! CHECK: %[[VAL_276:.*]] = fir.call @_FortranAioBeginExternalListInput(%[[VAL_268]], %[[VAL_275]], %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref +! CHECK: %[[VAL_276:.*]] = fir.call @_FortranAioBeginExternalListInput(%[[VAL_268]], %[[VAL_275]], %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_277:.*]] = fir.shape_shift %[[VAL_270]], %[[VAL_267]] : (index, index) -> !fir.shapeshift<1> ! CHECK: %[[VAL_278:.*]] = fir.slice %[[VAL_273]], %[[VAL_271]], %[[VAL_273]] : (index, index, index) -> !fir.slice<1> ! CHECK: cf.br ^bb1(%[[VAL_272]], %[[VAL_271]] : index, index) @@ -413,12 +413,12 @@ ! CHECK: %[[VAL_286:.*]] = fir.array_coor %[[VAL_287]](%[[VAL_277]]) {{\[}}%[[VAL_278]]] %[[VAL_285]] : (!fir.ref}>>>, !fir.shapeshift<1>, !fir.slice<1>, index) -> !fir.ref}>> ! CHECK: %[[VAL_288:.*]] = fir.embox %[[VAL_286]] : (!fir.ref}>>) -> !fir.box}>> ! CHECK: %[[VAL_289:.*]] = fir.convert %[[VAL_288]] : (!fir.box}>>) -> !fir.box -! CHECK: %[[VAL_290:.*]] = fir.call @_FortranAioInputDescriptor(%[[VAL_276]], %[[VAL_289]]) : (!fir.ref, !fir.box) -> i1 +! CHECK: %[[VAL_290:.*]] = fir.call @_FortranAioInputDescriptor(%[[VAL_276]], %[[VAL_289]]) {{.*}} : (!fir.ref, !fir.box) -> i1 ! CHECK: %[[VAL_291:.*]] = arith.addi %[[VAL_279]], %[[VAL_273]] : index ! CHECK: %[[VAL_292:.*]] = arith.subi %[[VAL_280]], %[[VAL_273]] : index ! CHECK: cf.br ^bb1(%[[VAL_291]], %[[VAL_292]] : index, index) ! CHECK: ^bb3: -! CHECK: %[[VAL_293:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_276]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_293:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_276]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: return end subroutine @@ -442,7 +442,7 @@ ! CHECK-DAG: %[[VAL_305:.*]] = arith.constant 1 : index ! CHECK: %[[VAL_306:.*]] = fir.address_of(@_QQ{{.*}}) : !fir.ref> ! CHECK: %[[VAL_307:.*]] = fir.convert %[[VAL_306]] : (!fir.ref>) -> !fir.ref -! CHECK: %[[VAL_308:.*]] = fir.call @_FortranAioBeginExternalListInput(%[[VAL_295]], %[[VAL_307]], %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref +! CHECK: %[[VAL_308:.*]] = fir.call @_FortranAioBeginExternalListInput(%[[VAL_295]], %[[VAL_307]], %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref ! CHECK: %[[VAL_309:.*]]:3 = fir.box_dims %[[VAL_310:.*]], %[[VAL_304]] : (!fir.box>, index) -> (index, index, index) ! CHECK: %[[VAL_311:.*]] = fir.field_index a, !fir.type<_QMderived_typesTt2{a:!fir.array<5x5x!fir.type<_QMderived_typesTt{i:i32,c:!fir.char<1,2>}>>}> ! CHECK: %[[VAL_312:.*]] = fir.field_index i, !fir.type<_QMderived_typesTt{i:i32,c:!fir.char<1,2>}> @@ -462,7 +462,7 @@ ! CHECK: %[[VAL_324:.*]] = fir.convert %[[VAL_323]] : (i32) -> index ! CHECK: %[[VAL_325:.*]] = fir.array_coor %[[VAL_326:.*]](%[[VAL_313]]) {{\[}}%[[VAL_315]]] %[[VAL_301]], %[[VAL_324]], %[[VAL_316]] : (!fir.box}>>}>>>, !fir.shift<3>, !fir.slice<3>, index, index, index) -> !fir.ref ! CHECK: %[[VAL_327:.*]] = fir.convert %[[VAL_325]] : (!fir.ref) -> !fir.ref -! CHECK: %[[VAL_328:.*]] = fir.call @_FortranAioInputInteger(%[[VAL_308]], %[[VAL_327]], %[[VAL_302]]) : (!fir.ref, !fir.ref, i32) -> i1 +! CHECK: %[[VAL_328:.*]] = fir.call @_FortranAioInputInteger(%[[VAL_308]], %[[VAL_327]], %[[VAL_302]]) {{.*}} : (!fir.ref, !fir.ref, i32) -> i1 ! CHECK: %[[VAL_329:.*]] = arith.addi %[[VAL_319]], %[[VAL_305]] : index ! CHECK: %[[VAL_330:.*]] = arith.subi %[[VAL_320]], %[[VAL_305]] : index ! CHECK: cf.br ^bb2(%[[VAL_329]], %[[VAL_330]] : index, index) @@ -471,7 +471,7 @@ ! CHECK: %[[VAL_332:.*]] = arith.subi %[[VAL_317]], %[[VAL_305]] : index ! CHECK: cf.br ^bb1(%[[VAL_331]], %[[VAL_332]] : index, index) ! CHECK: ^bb5: -! CHECK: %[[VAL_333:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_308]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_333:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_308]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: return end subroutine @@ -489,8 +489,8 @@ ! CHECK-DAG: %[[VAL_340:.*]] = arith.constant 4 : i32 ! CHECK: %[[VAL_341:.*]] = fir.address_of(@_QQ{{.*}}) : !fir.ref> ! CHECK: %[[VAL_342:.*]] = fir.convert %[[VAL_341]] : (!fir.ref>) -> !fir.ref -! CHECK: %[[VAL_343:.*]] = fir.call @_FortranAioBeginExternalListInput(%[[VAL_334]], %[[VAL_342]], %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref -! CHECK: %[[VAL_344:.*]] = fir.call @_FortranAioEnableHandlers(%[[VAL_343]], %[[VAL_337]], %[[VAL_336]], %[[VAL_336]], %[[VAL_336]], %[[VAL_336]]) : (!fir.ref, i1, i1, i1, i1, i1) -> none +! CHECK: %[[VAL_343:.*]] = fir.call @_FortranAioBeginExternalListInput(%[[VAL_334]], %[[VAL_342]], %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref +! CHECK: %[[VAL_344:.*]] = fir.call @_FortranAioEnableHandlers(%[[VAL_343]], %[[VAL_337]], %[[VAL_336]], %[[VAL_336]], %[[VAL_336]], %[[VAL_336]]) {{.*}} : (!fir.ref, i1, i1, i1, i1, i1) -> none ! CHECK: %[[VAL_345:.*]]:3 = fir.box_dims %[[VAL_346]], %[[VAL_339]] : (!fir.box>, index) -> (index, index, index) ! CHECK: %[[VAL_347:.*]] = fir.slice %[[VAL_338]], %[[VAL_345]]#1, %[[VAL_338]] : (index, index, index) -> !fir.slice<1> ! CHECK: %[[VAL_348:.*]] = arith.subi %[[VAL_345]]#1, %[[VAL_338]] : index @@ -504,17 +504,17 @@ ! CHECK: %[[VAL_354:.*]] = fir.load %[[VAL_353]] : !fir.ref ! CHECK: %[[VAL_355:.*]] = fir.convert %[[VAL_354]] : (i32) -> index ! CHECK: %[[VAL_356:.*]] = fir.array_coor %[[VAL_357]] {{\[}}%[[VAL_347]]] %[[VAL_355]] : (!fir.box>, !fir.slice<1>, index) -> !fir.ref -! CHECK: %[[VAL_358:.*]] = fir.call @_FortranAioInputReal32(%[[VAL_343]], %[[VAL_356]]) : (!fir.ref, !fir.ref) -> i1 +! CHECK: %[[VAL_358:.*]] = fir.call @_FortranAioInputReal32(%[[VAL_343]], %[[VAL_356]]) {{.*}} : (!fir.ref, !fir.ref) -> i1 ! CHECK: %[[VAL_359:.*]] = arith.addi %[[VAL_349]], %[[VAL_338]] : index ! CHECK: cf.br ^bb1(%[[VAL_359]], %[[VAL_358]] : index, i1) ! CHECK: ^bb3: ! CHECK: cf.cond_br %[[VAL_350]], ^bb4, ^bb5 ! CHECK: ^bb4: ! CHECK: %[[VAL_360:.*]] = fir.convert %[[VAL_361]] : (!fir.ref) -> !fir.ref -! CHECK: %[[VAL_362:.*]] = fir.call @_FortranAioInputInteger(%[[VAL_343]], %[[VAL_360]], %[[VAL_340]]) : (!fir.ref, !fir.ref, i32) -> i1 +! CHECK: %[[VAL_362:.*]] = fir.call @_FortranAioInputInteger(%[[VAL_343]], %[[VAL_360]], %[[VAL_340]]) {{.*}} : (!fir.ref, !fir.ref, i32) -> i1 ! CHECK: cf.br ^bb5 ! CHECK: ^bb5: -! CHECK: %[[VAL_363:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_343]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_363:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_343]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: fir.store %[[VAL_363]] to %[[VAL_364]] : !fir.ref ! CHECK: return end subroutine @@ -538,8 +538,8 @@ ! CHECK: %[[VAL_375:.*]] = fir.alloca i32 ! CHECK: %[[VAL_376:.*]] = fir.address_of(@_QQ{{.*}}) : !fir.ref> ! CHECK: %[[VAL_377:.*]] = fir.convert %[[VAL_376]] : (!fir.ref>) -> !fir.ref -! CHECK: %[[VAL_378:.*]] = fir.call @_FortranAioBeginExternalListInput(%[[VAL_366]], %[[VAL_377]], %{{.*}}) : (i32, !fir.ref, i32) -> !fir.ref -! CHECK: %[[VAL_379:.*]] = fir.call @_FortranAioEnableHandlers(%[[VAL_378]], %[[VAL_369]], %[[VAL_370]], %[[VAL_370]], %[[VAL_370]], %[[VAL_370]]) : (!fir.ref, i1, i1, i1, i1, i1) -> none +! CHECK: %[[VAL_378:.*]] = fir.call @_FortranAioBeginExternalListInput(%[[VAL_366]], %[[VAL_377]], %{{.*}}) {{.*}} : (i32, !fir.ref, i32) -> !fir.ref +! CHECK: %[[VAL_379:.*]] = fir.call @_FortranAioEnableHandlers(%[[VAL_378]], %[[VAL_369]], %[[VAL_370]], %[[VAL_370]], %[[VAL_370]], %[[VAL_370]]) {{.*}} : (!fir.ref, i1, i1, i1, i1, i1) -> none ! CHECK: cf.br ^bb1(%[[VAL_371]], %[[VAL_369]] : index, i1) ! CHECK: ^bb1(%[[VAL_380:.*]]: index, %[[VAL_381:.*]]: i1): ! CHECK: %[[VAL_382:.*]] = arith.cmpi sle, %[[VAL_380]], %[[VAL_368]] : index @@ -567,7 +567,7 @@ ! CHECK: %[[VAL_398:.*]] = fir.convert %[[VAL_397]] : (i32) -> index ! CHECK: %[[VAL_399:.*]] = fir.array_coor %[[VAL_400]](%[[VAL_387]]) {{\[}}%[[VAL_389]]] %[[VAL_394]], %[[VAL_398]] : (!fir.ref>, !fir.shape<2>, !fir.slice<2>, index, index) -> !fir.ref ! CHECK: %[[VAL_401:.*]] = fir.convert %[[VAL_399]] : (!fir.ref) -> !fir.ref -! CHECK: %[[VAL_402:.*]] = fir.call @_FortranAioInputInteger(%[[VAL_378]], %[[VAL_401]], %[[VAL_374]]) : (!fir.ref, !fir.ref, i32) -> i1 +! CHECK: %[[VAL_402:.*]] = fir.call @_FortranAioInputInteger(%[[VAL_378]], %[[VAL_401]], %[[VAL_374]]) {{.*}} : (!fir.ref, !fir.ref, i32) -> i1 ! CHECK: %[[VAL_403:.*]] = arith.addi %[[VAL_390]], %[[VAL_371]] : index ! CHECK: cf.br ^bb4(%[[VAL_403]], %[[VAL_402]] : index, i1) ! CHECK: ^bb6(%[[VAL_404:.*]]: i1): @@ -576,7 +576,7 @@ ! CHECK: ^bb7: ! CHECK: %[[VAL_406:.*]] = fir.convert %[[VAL_380]] : (index) -> i32 ! CHECK: fir.store %[[VAL_406]] to %[[VAL_375]] : !fir.ref -! CHECK: %[[VAL_407:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_378]]) : (!fir.ref) -> i32 +! CHECK: %[[VAL_407:.*]] = fir.call @_FortranAioEndIoStatement(%[[VAL_378]]) {{.*}} : (!fir.ref) -> i32 ! CHECK: fir.store %[[VAL_407]] to %[[VAL_408]] : !fir.ref ! CHECK: return end subroutine Index: flang/test/Lower/where.f90 =================================================================== --- flang/test/Lower/where.f90 +++ flang/test/Lower/where.f90 @@ -39,7 +39,7 @@ ! CHECK: %[[VAL_38:.*]] = fir.convert %[[VAL_37]] : (!fir.logical<4>) -> i1 ! CHECK: %[[VAL_39:.*]] = fir.if %[[VAL_38]] -> (!fir.array<10xf32>) { ! CHECK: %[[VAL_40:.*]] = fir.array_fetch %[[VAL_27]], %[[VAL_32]] : (!fir.array<10xf32>, index) -> f32 - ! CHECK: %[[VAL_41:.*]] = arith.negf %[[VAL_40]] : f32 + ! CHECK: %[[VAL_41:.*]] = arith.negf %[[VAL_40]] {{.*}} : f32 ! CHECK: %[[VAL_42:.*]] = fir.array_update %[[VAL_33]], %[[VAL_41]], %[[VAL_32]] : (!fir.array<10xf32>, f32, index) -> !fir.array<10xf32> ! CHECK: fir.result %[[VAL_42]] : !fir.array<10xf32> ! CHECK: } else { @@ -84,7 +84,7 @@ ! CHECK: %[[VAL_80:.*]] = fir.convert %[[VAL_79]] : (!fir.logical<4>) -> i1 ! CHECK: %[[VAL_81:.*]] = fir.if %[[VAL_80]] -> (!fir.array<10xf32>) { ! CHECK: %[[VAL_82:.*]] = fir.array_fetch %[[VAL_69]], %[[VAL_74]] : (!fir.array<10xf32>, index) -> f32 - ! CHECK: %[[VAL_83:.*]] = arith.mulf %[[VAL_67]], %[[VAL_82]] : f32 + ! CHECK: %[[VAL_83:.*]] = arith.mulf %[[VAL_67]], %[[VAL_82]] {{.*}} : f32 ! CHECK: %[[VAL_84:.*]] = fir.array_update %[[VAL_75]], %[[VAL_83]], %[[VAL_74]] : (!fir.array<10xf32>, f32, index) -> !fir.array<10xf32> ! CHECK: fir.result %[[VAL_84]] : !fir.array<10xf32> ! CHECK: } else { @@ -136,7 +136,7 @@ ! CHECK: %[[VAL_128:.*]] = fir.convert %[[VAL_127]] : (!fir.logical<4>) -> i1 ! CHECK: %[[VAL_129:.*]] = fir.if %[[VAL_128]] -> (!fir.array<10xf32>) { ! CHECK: %[[VAL_130:.*]] = fir.array_fetch %[[VAL_111]], %[[VAL_116]] : (!fir.array<10xf32>, index) -> f32 - ! CHECK: %[[VAL_131:.*]] = arith.addf %[[VAL_109]], %[[VAL_130]] : f32 + ! CHECK: %[[VAL_131:.*]] = arith.addf %[[VAL_109]], %[[VAL_130]] {{.*}} : f32 ! CHECK: %[[VAL_132:.*]] = fir.array_update %[[VAL_117]], %[[VAL_131]], %[[VAL_116]] : (!fir.array<10xf32>, f32, index) -> !fir.array<10xf32> ! CHECK: fir.result %[[VAL_132]] : !fir.array<10xf32> ! CHECK: } else { @@ -171,7 +171,7 @@ ! CHECK: %[[VAL_157:.*]] = fir.convert %[[VAL_156]] : (!fir.logical<4>) -> i1 ! CHECK: %[[VAL_158:.*]] = fir.if %[[VAL_157]] -> (!fir.array<10xf32>) { ! CHECK: %[[VAL_159:.*]] = fir.array_fetch %[[VAL_139]], %[[VAL_145]] : (!fir.array<10xf32>, index) -> f32 - ! CHECK: %[[VAL_160:.*]] = arith.subf %[[VAL_159]], %[[VAL_140]] : f32 + ! CHECK: %[[VAL_160:.*]] = arith.subf %[[VAL_159]], %[[VAL_140]] {{.*}} : f32 ! CHECK: %[[VAL_161:.*]] = fir.array_update %[[VAL_146]], %[[VAL_160]], %[[VAL_145]] : (!fir.array<10xf32>, f32, index) -> !fir.array<10xf32> ! CHECK: fir.result %[[VAL_161]] : !fir.array<10xf32> ! CHECK: } else { @@ -208,7 +208,7 @@ ! CHECK: fir.result %[[VAL_175]] : !fir.array<10xf32> ! CHECK: } else { ! CHECK: %[[VAL_188:.*]] = fir.array_fetch %[[VAL_168]], %[[VAL_174]] : (!fir.array<10xf32>, index) -> f32 - ! CHECK: %[[VAL_189:.*]] = arith.divf %[[VAL_188]], %[[VAL_169]] : f32 + ! CHECK: %[[VAL_189:.*]] = arith.divf %[[VAL_188]], %[[VAL_169]] {{.*}} : f32 ! CHECK: %[[VAL_190:.*]] = fir.array_update %[[VAL_175]], %[[VAL_189]], %[[VAL_174]] : (!fir.array<10xf32>, f32, index) -> !fir.array<10xf32> ! CHECK: fir.result %[[VAL_190]] : !fir.array<10xf32> ! CHECK: } Index: flang/test/Lower/while_loop.f90 =================================================================== --- flang/test/Lower/while_loop.f90 +++ flang/test/Lower/while_loop.f90 @@ -29,7 +29,7 @@ ! CHECK: ^[[BB3]]: // pred: ^[[BB1]] ! CHECK: %[[I3:.*]] = fir.load %[[I_REF]] : !fir.ref - ! CHECK: fir.call @_FortranAioOutputInteger32(%{{.*}}, %[[I3]]) : (!fir.ref, i32) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger32(%{{.*}}, %[[I3]]) {{.*}} : (!fir.ref, i32) -> i1 print *, i end subroutine @@ -84,8 +84,8 @@ ! CHECK: ^[[EXIT1]]: // pred: ^[[HDR1]] ! CHECK: %[[IPRINT:.*]] = fir.load %[[I_REF]] : !fir.ref - ! CHECK: fir.call @_FortranAioOutputInteger32(%{{.*}}, %[[IPRINT]]) : (!fir.ref, i32) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger32(%{{.*}}, %[[IPRINT]]) {{.*}} : (!fir.ref, i32) -> i1 ! CHECK: %[[JPRINT:.*]] = fir.load %[[J_REF]] : !fir.ref - ! CHECK: fir.call @_FortranAioOutputInteger32(%{{.*}}, %[[JPRINT]]) : (!fir.ref, i32) -> i1 + ! CHECK: fir.call @_FortranAioOutputInteger32(%{{.*}}, %[[JPRINT]]) {{.*}} : (!fir.ref, i32) -> i1 print *, i, j end subroutine