@@ -60,11 +60,37 @@ fn main() {
60
60
// CHECK-NEXT: %7 = getelementptr inbounds [1 x ptr], ptr %.offload_ptrs, i32 0, i32 0
61
61
// CHECK-NEXT: %8 = getelementptr inbounds [1 x i64], ptr %.offload_sizes, i32 0, i32 0
62
62
// 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)
68
94
// CHECK-NEXT: call void @__tgt_unregister_lib(ptr %EmptyDesc)
69
95
// CHECK: store ptr %x, ptr %0, align 8
70
96
// CHECK-NEXT: call void asm sideeffect "", "r,~{memory}"(ptr nonnull %0)
0 commit comments