@@ -31,7 +31,7 @@ int main(void) {
3131}
3232
3333
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(
3535// CHECK-NOPE-SAME: ptr noalias noundef [[DYN_PTR:%.*]]) #[[ATTR0:[0-9]+]] {
3636// CHECK-NOPE-NEXT: entry:
3737// CHECK-NOPE-NEXT: [[DYN_PTR_ADDR:%.*]] = alloca ptr, align 8, addrspace(5)
@@ -41,27 +41,31 @@ int main(void) {
4141// CHECK-NOPE-NEXT: [[EXEC_USER_CODE:%.*]] = icmp eq i32 [[TMP0]], -1
4242// CHECK-NOPE-NEXT: br i1 [[EXEC_USER_CODE]], label [[USER_CODE_ENTRY:%.*]], label [[WORKER_EXIT:%.*]]
4343// 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 )
4545// CHECK-NOPE-NEXT: [[VARFN_ARGS_STORE_CASTED:%.*]] = addrspacecast ptr [[TMP1]] to ptr addrspace(1)
4646// 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
4848// 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
5050// 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
5252// 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]])
5862// CHECK-NOPE-NEXT: call void @__kmpc_target_deinit()
5963// CHECK-NOPE-NEXT: ret void
6064// CHECK-NOPE: worker.exit:
6165// CHECK-NOPE-NEXT: ret void
6266//
6367//
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(
6569// CHECK-SAME: ptr noalias noundef [[DYN_PTR:%.*]]) #[[ATTR0:[0-9]+]] {
6670// CHECK-NEXT: entry:
6771// CHECK-NEXT: [[DYN_PTR_ADDR:%.*]] = alloca ptr, align 8, addrspace(5)
@@ -71,20 +75,24 @@ int main(void) {
7175// CHECK-NEXT: [[EXEC_USER_CODE:%.*]] = icmp eq i32 [[TMP0]], -1
7276// CHECK-NEXT: br i1 [[EXEC_USER_CODE]], label [[USER_CODE_ENTRY:%.*]], label [[WORKER_EXIT:%.*]]
7377// 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 )
7579// CHECK-NEXT: [[VARFN_ARGS_STORE_CASTED:%.*]] = addrspacecast ptr [[TMP1]] to ptr addrspace(1)
7680// 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
7882// 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
8084// 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
8286// 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]])
8896// CHECK-NEXT: call void @__kmpc_target_deinit()
8997// CHECK-NEXT: ret void
9098// CHECK: worker.exit:
0 commit comments