@@ -2208,7 +2208,7 @@ llvm.mlir.global internal @_QFsubEx() : i32
2208
2208
llvm.func @omp_task (%x: i32 , %y: i32 , %zaddr: !llvm.ptr <i32 >) {
2209
2209
// CHECK: %[[omp_global_thread_num:.+]] = call i32 @__kmpc_global_thread_num({{.+}})
2210
2210
// CHECK: %[[task_data:.+]] = call ptr @__kmpc_omp_task_alloc
2211
- // CHECK-SAME: (ptr @{{.+}}, i32 %[[omp_global_thread_num]], i32 1, i64 0 ,
2211
+ // CHECK-SAME: (ptr @{{.+}}, i32 %[[omp_global_thread_num]], i32 1, i64 40 ,
2212
2212
// CHECK-SAME: i64 0, ptr @[[wrapper_fn:.+]])
2213
2213
// CHECK: call i32 @__kmpc_omp_task(ptr @{{.+}}, i32 %[[omp_global_thread_num]], ptr %[[task_data]])
2214
2214
omp.task {
@@ -2258,7 +2258,7 @@ llvm.func @omp_task(%x: i32, %y: i32, %zaddr: !llvm.ptr<i32>) {
2258
2258
llvm.func @omp_task_with_deps (%zaddr: !llvm.ptr <i32 >) {
2259
2259
// CHECK: %[[omp_global_thread_num:.+]] = call i32 @__kmpc_global_thread_num({{.+}})
2260
2260
// CHECK: %[[task_data:.+]] = call ptr @__kmpc_omp_task_alloc
2261
- // CHECK-SAME: (ptr @{{.+}}, i32 %[[omp_global_thread_num]], i32 1, i64 0 ,
2261
+ // CHECK-SAME: (ptr @{{.+}}, i32 %[[omp_global_thread_num]], i32 1, i64 40 ,
2262
2262
// CHECK-SAME: i64 0, ptr @[[wrapper_fn:.+]])
2263
2263
// CHECK: call i32 @__kmpc_omp_task_with_deps(ptr @{{.+}}, i32 %[[omp_global_thread_num]], ptr %[[task_data]], {{.*}})
2264
2264
omp.task depend (taskdependin -> %zaddr : !llvm.ptr <i32 >) {
@@ -2303,9 +2303,10 @@ module attributes {llvm.target_triple = "x86_64-unknown-linux-gnu"} {
2303
2303
llvm.store %diff , %zaddr : !llvm.ptr <i32 >
2304
2304
// CHECK: %[[omp_global_thread_num:.+]] = call i32 @__kmpc_global_thread_num({{.+}})
2305
2305
// CHECK: %[[task_data:.+]] = call ptr @__kmpc_omp_task_alloc
2306
- // CHECK-SAME: (ptr @{{.+}}, i32 %[[omp_global_thread_num]], i32 1, i64 16 , i64 0 ,
2306
+ // CHECK-SAME: (ptr @{{.+}}, i32 %[[omp_global_thread_num]], i32 1, i64 40 , i64 16 ,
2307
2307
// CHECK-SAME: ptr @[[wrapper_fn:.+]])
2308
- // CHECK: call void @llvm.memcpy.p0.p0.i64(ptr {{.+}} %[[task_data]], ptr {{.+}}, i64 16, i1 false)
2308
+ // CHECK: %[[shareds:.+]] = load ptr, ptr %[[task_data]]
2309
+ // CHECK: call void @llvm.memcpy.p0.p0.i64(ptr {{.+}} %[[shareds]], ptr {{.+}}, i64 16, i1 false)
2309
2310
// CHECK: call i32 @__kmpc_omp_task(ptr @{{.+}}, i32 %[[omp_global_thread_num]], ptr %[[task_data]])
2310
2311
omp.task {
2311
2312
%z = llvm.add %x , %y : i32
@@ -2334,7 +2335,8 @@ module attributes {llvm.target_triple = "x86_64-unknown-linux-gnu"} {
2334
2335
2335
2336
2336
2337
// CHECK: define i32 @[[wrapper_fn]](i32 %{{.+}}, ptr %[[task_data:.+]]) {
2337
- // CHECK: call void @[[outlined_fn]](ptr %[[task_data]])
2338
+ // CHECK: %[[shareds:.+]] = load ptr, ptr %1, align 8
2339
+ // CHECK: call void @[[outlined_fn]](ptr %[[shareds]])
2338
2340
// CHECK: ret i32 0
2339
2341
// CHECK: }
2340
2342
@@ -2430,7 +2432,7 @@ llvm.func @omp_taskgroup_task(%x: i32, %y: i32, %zaddr: !llvm.ptr<i32>) {
2430
2432
// CHECK: br label %[[codeRepl:[^,]+]]
2431
2433
// CHECK: [[codeRepl]]:
2432
2434
// CHECK: %[[omp_global_thread_num_t1:.+]] = call i32 @__kmpc_global_thread_num(ptr @{{.+}})
2433
- // CHECK: %[[t1_alloc:.+]] = call ptr @__kmpc_omp_task_alloc(ptr @{{.+}}, i32 %[[omp_global_thread_num_t1]], i32 1, i64 0 , i64 0, ptr @omp_taskgroup_task..omp_par.wrapper)
2435
+ // CHECK: %[[t1_alloc:.+]] = call ptr @__kmpc_omp_task_alloc(ptr @{{.+}}, i32 %[[omp_global_thread_num_t1]], i32 1, i64 40 , i64 0, ptr @omp_taskgroup_task..omp_par.wrapper)
2434
2436
// CHECK: %{{.+}} = call i32 @__kmpc_omp_task(ptr @{{.+}}, i32 %[[omp_global_thread_num_t1]], ptr %[[t1_alloc]])
2435
2437
// CHECK: br label %[[task_exit:[^,]+]]
2436
2438
// CHECK: [[task_exit]]:
@@ -2443,8 +2445,9 @@ llvm.func @omp_taskgroup_task(%x: i32, %y: i32, %zaddr: !llvm.ptr<i32>) {
2443
2445
// CHECK: %[[gep3:.+]] = getelementptr { i32, i32, ptr }, ptr %[[structArg]], i32 0, i32 2
2444
2446
// CHECK: store ptr %[[zaddr]], ptr %[[gep3]], align 8
2445
2447
// CHECK: %[[omp_global_thread_num_t2:.+]] = call i32 @__kmpc_global_thread_num(ptr @{{.+}})
2446
- // CHECK: %[[t2_alloc:.+]] = call ptr @__kmpc_omp_task_alloc(ptr @{{.+}}, i32 %[[omp_global_thread_num_t2]], i32 1, i64 16, i64 0, ptr @omp_taskgroup_task..omp_par.1.wrapper)
2447
- // CHECK: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %[[t2_alloc]], ptr align 8 %[[structArg]], i64 16, i1 false)
2448
+ // CHECK: %[[t2_alloc:.+]] = call ptr @__kmpc_omp_task_alloc(ptr @{{.+}}, i32 %[[omp_global_thread_num_t2]], i32 1, i64 40, i64 16, ptr @omp_taskgroup_task..omp_par.1.wrapper)
2449
+ // CHECK: %[[shareds:.+]] = load ptr, ptr %[[t2_alloc]]
2450
+ // CHECK: call void @llvm.memcpy.p0.p0.i64(ptr align 1 %[[shareds]], ptr align 1 %[[structArg]], i64 16, i1 false)
2448
2451
// CHECK: %{{.+}} = call i32 @__kmpc_omp_task(ptr @{{.+}}, i32 %[[omp_global_thread_num_t2]], ptr %[[t2_alloc]])
2449
2452
// CHECK: br label %[[task_exit3:[^,]+]]
2450
2453
// CHECK: [[task_exit3]]:
@@ -2614,7 +2617,7 @@ llvm.func @omp_task_final(%boolexpr: i1) {
2614
2617
// CHECK: %[[omp_global_thread_num:.+]] = call i32 @__kmpc_global_thread_num(ptr @{{.+}})
2615
2618
// CHECK: %[[final_flag:.+]] = select i1 %[[boolexpr]], i32 2, i32 0
2616
2619
// CHECK: %[[task_flags:.+]] = or i32 %[[final_flag]], 1
2617
- // CHECK: %[[task_data:.+]] = call ptr @__kmpc_omp_task_alloc(ptr @{{.+}}, i32 %[[omp_global_thread_num]], i32 %[[task_flags]], i64 0 , i64 0, ptr @omp_task_final..omp_par.wrapper)
2620
+ // CHECK: %[[task_data:.+]] = call ptr @__kmpc_omp_task_alloc(ptr @{{.+}}, i32 %[[omp_global_thread_num]], i32 %[[task_flags]], i64 40 , i64 0, ptr @omp_task_final..omp_par.wrapper)
2618
2621
// CHECK: %{{.+}} = call i32 @__kmpc_omp_task(ptr @{{.+}}, i32 %[[omp_global_thread_num]], ptr %[[task_data]])
2619
2622
// CHECK: br label %[[task_exit:[^,]+]]
2620
2623
// CHECK: [[task_exit]]:
@@ -2645,7 +2648,7 @@ llvm.func @omp_task_if(%boolexpr: i1) {
2645
2648
// CHECK: br label %[[codeRepl:[^,]+]]
2646
2649
// CHECK: [[codeRepl]]:
2647
2650
// CHECK: %[[omp_global_thread_num:.+]] = call i32 @__kmpc_global_thread_num(ptr @{{.+}})
2648
- // CHECK: %[[task_data:.+]] = call ptr @__kmpc_omp_task_alloc(ptr @{{.+}}, i32 %[[omp_global_thread_num]], i32 1, i64 0 , i64 0, ptr @omp_task_if..omp_par.wrapper)
2651
+ // CHECK: %[[task_data:.+]] = call ptr @__kmpc_omp_task_alloc(ptr @{{.+}}, i32 %[[omp_global_thread_num]], i32 1, i64 40 , i64 0, ptr @omp_task_if..omp_par.wrapper)
2649
2652
// CHECK: br i1 %[[boolexpr]], label %[[true_label:[^,]+]], label %[[false_label:[^,]+]]
2650
2653
// CHECK: [[true_label]]:
2651
2654
// CHECK: %{{.+}} = call i32 @__kmpc_omp_task(ptr @{{.+}}, i32 %[[omp_global_thread_num]], ptr %[[task_data]])
0 commit comments