@@ -31,7 +31,7 @@ int main(void) {
31
31
}
32
32
33
33
34
- // CHECK-NOPE-LABEL: define weak_odr protected amdgpu_kernel void @{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}_main_l25(
34
+ // CHECK-NOPE-LABEL: define weak_odr protected amdgpu_kernel void @{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}_main_l25(
35
35
// CHECK-NOPE-SAME: ptr noalias noundef [[DYN_PTR:%.*]]) #[[ATTR0:[0-9]+]] {
36
36
// CHECK-NOPE-NEXT: entry:
37
37
// CHECK-NOPE-NEXT: [[DYN_PTR_ADDR:%.*]] = alloca ptr, align 8, addrspace(5)
@@ -41,27 +41,31 @@ int main(void) {
41
41
// CHECK-NOPE-NEXT: [[EXEC_USER_CODE:%.*]] = icmp eq i32 [[TMP0]], -1
42
42
// CHECK-NOPE-NEXT: br i1 [[EXEC_USER_CODE]], label [[USER_CODE_ENTRY:%.*]], label [[WORKER_EXIT:%.*]]
43
43
// CHECK-NOPE: user_code.entry:
44
- // CHECK-NOPE-NEXT: [[TMP1:%.*]] = call ptr @printf_allocate (i32 27 )
44
+ // CHECK-NOPE-NEXT: [[TMP1:%.*]] = call ptr @__llvm_omp_emissary_premalloc (i32 39 )
45
45
// CHECK-NOPE-NEXT: [[VARFN_ARGS_STORE_CASTED:%.*]] = addrspacecast ptr [[TMP1]] to ptr addrspace(1)
46
46
// CHECK-NOPE-NEXT: [[TMP2:%.*]] = getelementptr inbounds nuw [[VARFN_ARGS_STORE:%.*]], ptr addrspace(1) [[VARFN_ARGS_STORE_CASTED]], i32 0, i32 0
47
- // CHECK-NOPE-NEXT: store i32 16 , ptr addrspace(1) [[TMP2]], align 4
47
+ // CHECK-NOPE-NEXT: store i32 28 , ptr addrspace(1) [[TMP2]], align 4
48
48
// CHECK-NOPE-NEXT: [[TMP3:%.*]] = getelementptr inbounds nuw [[VARFN_ARGS_STORE]], ptr addrspace(1) [[VARFN_ARGS_STORE_CASTED]], i32 0, i32 1
49
- // CHECK-NOPE-NEXT: store i32 1 , ptr addrspace(1) [[TMP3]], align 4
49
+ // CHECK-NOPE-NEXT: store i32 2 , ptr addrspace(1) [[TMP3]], align 4
50
50
// CHECK-NOPE-NEXT: [[TMP4:%.*]] = getelementptr inbounds nuw [[VARFN_ARGS_STORE]], ptr addrspace(1) [[VARFN_ARGS_STORE_CASTED]], i32 0, i32 2
51
- // CHECK-NOPE-NEXT: store i32 917505 , ptr addrspace(1) [[TMP4]], align 4
51
+ // CHECK-NOPE-NEXT: store i32 786496 , ptr addrspace(1) [[TMP4]], align 4
52
52
// CHECK-NOPE-NEXT: [[TMP5:%.*]] = getelementptr inbounds nuw [[VARFN_ARGS_STORE]], ptr addrspace(1) [[VARFN_ARGS_STORE_CASTED]], i32 0, i32 3
53
- // CHECK-NOPE-NEXT: store i32 11, ptr addrspace(1) [[TMP5]], align 4
54
- // CHECK-NOPE-NEXT: [[TMP6:%.*]] = getelementptr inbounds i8, ptr addrspace(1) [[VARFN_ARGS_STORE_CASTED]], i64 16
55
- // CHECK-NOPE-NEXT: call void @llvm.memcpy.p1.p0.i64(ptr addrspace(1) align 1 [[TMP6]], ptr align 1 addrspacecast (ptr addrspace(4) @.str to ptr), i64 11, i1 false)
56
- // CHECK-NOPE-NEXT: [[TMP7:%.*]] = getelementptr inbounds i8, ptr addrspace(1) [[TMP6]], i64 11
57
- // CHECK-NOPE-NEXT: [[TMP8:%.*]] = call i32 @printf_execute(ptr [[TMP1]], i32 27)
53
+ // CHECK-NOPE-NEXT: store i32 917505, ptr addrspace(1) [[TMP5]], align 4
54
+ // CHECK-NOPE-NEXT: [[TMP6:%.*]] = getelementptr inbounds nuw [[VARFN_ARGS_STORE]], ptr addrspace(1) [[VARFN_ARGS_STORE_CASTED]], i32 0, i32 4
55
+ // CHECK-NOPE-NEXT: store i64 8589934593, ptr addrspace(1) [[TMP6:%.*]], align 8
56
+ // CHECK-NOPE-NEXT: [[TMP7:%.*]] = getelementptr inbounds nuw [[VARFN_ARGS_STORE]], ptr addrspace(1) [[VARFN_ARGS_STORE_CASTED]], i32 0, i32 5
57
+ // CHECK-NOPE-NEXT: store i32 11, ptr addrspace(1) [[TMP7:%.*]], align 4
58
+ // CHECK-NOPE-NEXT: [[TMP8:%.*]] = getelementptr inbounds i8, ptr addrspace(1) [[VARFN_ARGS_STORE_CASTED]], i64 28
59
+ // CHECK-NOPE-NEXT: call void @llvm.memcpy.p1.p0.i64(ptr addrspace(1) align 1 [[TMP8]], ptr align 1 addrspacecast (ptr addrspace(4) @.str to ptr), i64 11, i1 false)
60
+ // CHECK-NOPE-NEXT: [[TMP9:%.*]] = getelementptr inbounds i8, ptr addrspace(1) [[TMP8]], i64 11
61
+ // CHECK-NOPE-NEXT: [[TMP10:%.*]] = call i64 @__llvm_omp_emissary_rpc(i64 8589934593, ptr [[TMP1]])
58
62
// CHECK-NOPE-NEXT: call void @__kmpc_target_deinit()
59
63
// CHECK-NOPE-NEXT: ret void
60
64
// CHECK-NOPE: worker.exit:
61
65
// CHECK-NOPE-NEXT: ret void
62
66
//
63
67
//
64
- // CHECK-LABEL: define weak_odr protected amdgpu_kernel void @{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}_main_l25(
68
+ // CHECK-LABEL: define weak_odr protected amdgpu_kernel void @{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}_main_l25(
65
69
// CHECK-SAME: ptr noalias noundef [[DYN_PTR:%.*]]) #[[ATTR0:[0-9]+]] {
66
70
// CHECK-NEXT: entry:
67
71
// CHECK-NEXT: [[DYN_PTR_ADDR:%.*]] = alloca ptr, align 8, addrspace(5)
@@ -71,20 +75,24 @@ int main(void) {
71
75
// CHECK-NEXT: [[EXEC_USER_CODE:%.*]] = icmp eq i32 [[TMP0]], -1
72
76
// CHECK-NEXT: br i1 [[EXEC_USER_CODE]], label [[USER_CODE_ENTRY:%.*]], label [[WORKER_EXIT:%.*]]
73
77
// CHECK: user_code.entry:
74
- // CHECK-NEXT: [[TMP1:%.*]] = call ptr @printf_allocate (i32 27 )
78
+ // CHECK-NEXT: [[TMP1:%.*]] = call ptr @__llvm_omp_emissary_premalloc (i32 39 )
75
79
// CHECK-NEXT: [[VARFN_ARGS_STORE_CASTED:%.*]] = addrspacecast ptr [[TMP1]] to ptr addrspace(1)
76
80
// CHECK-NEXT: [[TMP2:%.*]] = getelementptr inbounds nuw [[VARFN_ARGS_STORE:%.*]], ptr addrspace(1) [[VARFN_ARGS_STORE_CASTED]], i32 0, i32 0
77
- // CHECK-NEXT: store i32 16 , ptr addrspace(1) [[TMP2]], align 4
81
+ // CHECK-NEXT: store i32 28 , ptr addrspace(1) [[TMP2]], align 4
78
82
// CHECK-NEXT: [[TMP3:%.*]] = getelementptr inbounds nuw [[VARFN_ARGS_STORE]], ptr addrspace(1) [[VARFN_ARGS_STORE_CASTED]], i32 0, i32 1
79
- // CHECK-NEXT: store i32 1 , ptr addrspace(1) [[TMP3]], align 4
83
+ // CHECK-NEXT: store i32 2 , ptr addrspace(1) [[TMP3]], align 4
80
84
// CHECK-NEXT: [[TMP4:%.*]] = getelementptr inbounds nuw [[VARFN_ARGS_STORE]], ptr addrspace(1) [[VARFN_ARGS_STORE_CASTED]], i32 0, i32 2
81
- // CHECK-NEXT: store i32 917505 , ptr addrspace(1) [[TMP4]], align 4
85
+ // CHECK-NEXT: store i32 786496 , ptr addrspace(1) [[TMP4]], align 4
82
86
// CHECK-NEXT: [[TMP5:%.*]] = getelementptr inbounds nuw [[VARFN_ARGS_STORE]], ptr addrspace(1) [[VARFN_ARGS_STORE_CASTED]], i32 0, i32 3
83
- // CHECK-NEXT: store i32 11, ptr addrspace(1) [[TMP5]], align 4
84
- // CHECK-NEXT: [[TMP6:%.*]] = getelementptr inbounds i8, ptr addrspace(1) [[VARFN_ARGS_STORE_CASTED]], i64 16
85
- // CHECK-NEXT: call void @llvm.memcpy.p1.p0.i64(ptr addrspace(1) align 1 [[TMP6]], ptr align 1 addrspacecast (ptr addrspace(4) @.str to ptr), i64 11, i1 false)
86
- // CHECK-NEXT: [[TMP7:%.*]] = getelementptr inbounds i8, ptr addrspace(1) [[TMP6]], i64 11
87
- // CHECK-NEXT: [[TMP8:%.*]] = call i32 @printf_execute(ptr [[TMP1]], i32 27)
87
+ // CHECK-NEXT: store i32 917505, ptr addrspace(1) [[TMP5]], align 4
88
+ // CHECK-NEXT: [[TMP6:%.*]] = getelementptr inbounds nuw [[VARFN_ARGS_STORE]], ptr addrspace(1) [[VARFN_ARGS_STORE_CASTED]], i32 0, i32 4
89
+ // CHECK-NEXT: store i64 8589934593, ptr addrspace(1) [[TMP6:%.*]], align 8
90
+ // CHECK-NEXT: [[TMP7:%.*]] = getelementptr inbounds nuw [[VARFN_ARGS_STORE]], ptr addrspace(1) [[VARFN_ARGS_STORE_CASTED]], i32 0, i32 5
91
+ // CHECK-NEXT: store i32 11, ptr addrspace(1) [[TMP7:%.*]], align 4
92
+ // CHECK-NEXT: [[TMP8:%.*]] = getelementptr inbounds i8, ptr addrspace(1) [[VARFN_ARGS_STORE_CASTED]], i64 28
93
+ // CHECK-NEXT: call void @llvm.memcpy.p1.p0.i64(ptr addrspace(1) align 1 [[TMP8]], ptr align 1 addrspacecast (ptr addrspace(4) @.str to ptr), i64 11, i1 false)
94
+ // CHECK-NEXT: [[TMP9:%.*]] = getelementptr inbounds i8, ptr addrspace(1) [[TMP8]], i64 11
95
+ // CHECK-NEXT: [[TMP10:%.*]] = call i64 @__llvm_omp_emissary_rpc(i64 8589934593, ptr [[TMP1]])
88
96
// CHECK-NEXT: call void @__kmpc_target_deinit()
89
97
// CHECK-NEXT: ret void
90
98
// CHECK: worker.exit:
0 commit comments