1
1
// RUN: fir-opt --external-name-interop %s | FileCheck %s
2
2
// RUN: tco --external-name-interop %s | FileCheck %s
3
- // RUN: tco --external-name-interop %s | tco | FileCheck %s --check-prefix=LLVMIR
3
+ // RUN: tco --external-name-interop %s | tco --fir-to-llvm-ir | FileCheck %s --check-prefix=LLVMIR
4
4
5
5
func @_QPfoo() {
6
6
%c0 = constant 0 : index
@@ -14,8 +14,6 @@ func @_QPfoo() {
14
14
%7 = fir.convert %6 : (!fir.ref<i8>) -> !fir.ref<f32>
15
15
fir.call @_QPbar(%3) : (!fir.ref<i32>) -> ()
16
16
fir.call @_QPbar2(%7) : (!fir.ref<f32>) -> ()
17
- %e6 = fir.alloca tuple<i32,f64>
18
- %8 = fir.emboxproc @_QPfoo_impl, %e6 : ((!fir.box<!fir.type<derived3{f:f32}>>) -> (), !fir.ref<tuple<i32,f64>>) -> !fir.boxproc<(!fir.box<!fir.type<derived3{f:f32}>>) -> ()>
19
17
return
20
18
}
21
19
fir.global common @_QBa(dense<0> : vector<4xi8>) : !fir.array<4xi8>
@@ -28,15 +26,16 @@ func private @_QPbar2(!fir.ref<f32>)
28
26
// CHECK: %{{.*}} = fir.address_of(@__BLNK__) : !fir.ref<!fir.array<4xi8>>
29
27
// CHECK: fir.call @bar_
30
28
// CHECK: fir.call @bar2_
31
- // CHECK: %{{.*}}= fir.emboxproc @foo_impl_
32
29
// CHECK: fir.global common @a_(dense<0> : vector<4xi8>) : !fir.array<4xi8>
33
30
// CHECK: fir.global common @__BLNK__(dense<0> : vector<4xi8>) : !fir.array<4xi8>
34
31
// CHECK: func private @bar_(!fir.ref<i32>)
35
32
36
- // LLVMIR: @a_ = common global [4 x i8] zeroinitializer
37
- // LLVMIR: @__BLNK__ = common global [4 x i8] zeroinitializer
38
- // LLVMIR: define void @foo_()
39
- // LLVMIR: call void @bar_(
40
- // LLVMIR: call void @bar2_(
41
- // LLVMIR: declare void @bar_(
42
- // LLVMIR: declare void @bar2_(
33
+ // LLVMIR: %{{.*}} = llvm.mlir.addressof @a_ : !llvm.ptr<array<4 x i8>>
34
+ // LLVMIR: %{{.*}} = llvm.mlir.addressof @__BLNK__ : !llvm.ptr<array<4 x i8>>
35
+ // LLVMIR: llvm.call @bar_(%{{.*}}) : (!llvm.ptr<i32>) -> ()
36
+ // LLVMIR: llvm.call @bar2_(%{{.*}}) : (!llvm.ptr<f32>) -> ()
37
+
38
+ // LLVMIR: llvm.mlir.global common @a_(dense<0> : vector<4xi8>) : !llvm.array<4 x i8>
39
+ // LLVMIR: llvm.mlir.global common @__BLNK__(dense<0> : vector<4xi8>) : !llvm.array<4 x i8>
40
+ // LLVMIR: llvm.func @bar_(!llvm.ptr<i32>) attributes {sym_visibility = "private"}
41
+ // LLVMIR: llvm.func @bar2_(!llvm.ptr<f32>) attributes {sym_visibility = "private"}
0 commit comments