@@ -60,11 +60,37 @@ fn main() {
6060// CHECK-NEXT: %7 = getelementptr inbounds [1 x ptr], ptr %.offload_ptrs, i32 0, i32 0
6161// CHECK-NEXT: %8 = getelementptr inbounds [1 x i64], ptr %.offload_sizes, i32 0, i32 0
6262// CHECK-NEXT: call void @__tgt_target_data_begin_mapper(ptr @1, i64 -1, i32 1, ptr %6, ptr %7, ptr %8, ptr @.offload_maptypes.1, ptr null, ptr null)
63- // CHECK-NEXT: call void @kernel_1(ptr noalias noundef nonnull align 4 dereferenceable(1024) %x)
64- // CHECK-NEXT: %9 = getelementptr inbounds [1 x ptr], ptr %.offload_baseptrs, i32 0, i32 0
65- // CHECK-NEXT: %10 = getelementptr inbounds [1 x ptr], ptr %.offload_ptrs, i32 0, i32 0
66- // CHECK-NEXT: %11 = getelementptr inbounds [1 x i64], ptr %.offload_sizes, i32 0, i32 0
67- // CHECK-NEXT: call void @__tgt_target_data_end_mapper(ptr @1, i64 -1, i32 1, ptr %9, ptr %10, ptr %11, ptr @.offload_maptypes.1, ptr null, ptr null)
63+ // CHECK-NEXT: %9 = getelementptr inbounds %struct.__tgt_kernel_arguments, ptr %kernel_args, i32 0, i32 0
64+ // CHECK-NEXT: store i32 3, ptr %9, align 4
65+ // CHECK-NEXT: %10 = getelementptr inbounds %struct.__tgt_kernel_arguments, ptr %kernel_args, i32 0, i32 1
66+ // CHECK-NEXT: store i32 3, ptr %10, align 4
67+ // CHECK-NEXT: %11 = getelementptr inbounds %struct.__tgt_kernel_arguments, ptr %kernel_args, i32 0, i32 2
68+ // CHECK-NEXT: store ptr %6, ptr %11, align 8
69+ // CHECK-NEXT: %12 = getelementptr inbounds %struct.__tgt_kernel_arguments, ptr %kernel_args, i32 0, i32 3
70+ // CHECK-NEXT: store ptr %7, ptr %12, align 8
71+ // CHECK-NEXT: %13 = getelementptr inbounds %struct.__tgt_kernel_arguments, ptr %kernel_args, i32 0, i32 4
72+ // CHECK-NEXT: store ptr %8, ptr %13, align 8
73+ // CHECK-NEXT: %14 = getelementptr inbounds %struct.__tgt_kernel_arguments, ptr %kernel_args, i32 0, i32 5
74+ // CHECK-NEXT: store ptr @.offload_maptypes.1, ptr %14, align 8
75+ // CHECK-NEXT: %15 = getelementptr inbounds %struct.__tgt_kernel_arguments, ptr %kernel_args, i32 0, i32 6
76+ // CHECK-NEXT: store ptr null, ptr %15, align 8
77+ // CHECK-NEXT: %16 = getelementptr inbounds %struct.__tgt_kernel_arguments, ptr %kernel_args, i32 0, i32 7
78+ // CHECK-NEXT: store ptr null, ptr %16, align 8
79+ // CHECK-NEXT: %17 = getelementptr inbounds %struct.__tgt_kernel_arguments, ptr %kernel_args, i32 0, i32 8
80+ // CHECK-NEXT: store i64 0, ptr %17, align 8
81+ // CHECK-NEXT: %18 = getelementptr inbounds %struct.__tgt_kernel_arguments, ptr %kernel_args, i32 0, i32 9
82+ // CHECK-NEXT: store i64 0, ptr %18, align 8
83+ // CHECK-NEXT: %19 = getelementptr inbounds %struct.__tgt_kernel_arguments, ptr %kernel_args, i32 0, i32 10
84+ // CHECK-NEXT: store [3 x i32] [i32 2097152, i32 0, i32 0], ptr %19, align 8
85+ // CHECK-NEXT: %20 = getelementptr inbounds %struct.__tgt_kernel_arguments, ptr %kernel_args, i32 0, i32 11
86+ // CHECK-NEXT: store [3 x i32] [i32 256, i32 0, i32 0], ptr %20, align 8
87+ // CHECK-NEXT: %21 = getelementptr inbounds %struct.__tgt_kernel_arguments, ptr %kernel_args, i32 0, i32 12
88+ // CHECK-NEXT: store i32 0, ptr %21, align 4
89+ // CHECK-NEXT: %22 = call i32 @__tgt_target_kernel(ptr @1, i64 -1, i32 2097152, i32 256, ptr @.kernel_1.region_id, ptr %kernel_args)
90+ // CHECK-NEXT: %23 = getelementptr inbounds [1 x ptr], ptr %.offload_baseptrs, i32 0, i32 0
91+ // CHECK-NEXT: %24 = getelementptr inbounds [1 x ptr], ptr %.offload_ptrs, i32 0, i32 0
92+ // CHECK-NEXT: %25 = getelementptr inbounds [1 x i64], ptr %.offload_sizes, i32 0, i32 0
93+ // CHECK-NEXT: call void @__tgt_target_data_end_mapper(ptr @1, i64 -1, i32 1, ptr %23, ptr %24, ptr %25, ptr @.offload_maptypes.1, ptr null, ptr null)
6894// CHECK-NEXT: call void @__tgt_unregister_lib(ptr %EmptyDesc)
6995// CHECK: store ptr %x, ptr %0, align 8
7096// CHECK-NEXT: call void asm sideeffect "", "r,~{memory}"(ptr nonnull %0)
0 commit comments