Differential D67833 Diff 278291 clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
Changeset View
Changeset View
Standalone View
Standalone View
clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
Show First 20 Lines • Show All 102 Lines • ▼ Show 20 Lines | |||||
int main() { | int main() { | ||||
static int sivar; | static int sivar; | ||||
#ifdef LAMBDA | #ifdef LAMBDA | ||||
// HLAMBDA: [[G:@.+]] = global i{{[0-9]+}} 1212, | // HLAMBDA: [[G:@.+]] = global i{{[0-9]+}} 1212, | ||||
// HLAMBDA-LABEL: @main | // HLAMBDA-LABEL: @main | ||||
// HLAMBDA: call void [[OUTER_LAMBDA:@.+]]( | // HLAMBDA: call void [[OUTER_LAMBDA:@.+]]( | ||||
[&]() { | [&]() { | ||||
// HLAMBDA: define{{.*}} internal{{.*}} void [[OUTER_LAMBDA]]( | // HLAMBDA: define{{.*}} internal{{.*}} void [[OUTER_LAMBDA]]( | ||||
// HLAMBDA: call i32 @__tgt_target_teams(i64 -1, i8* @{{[^,]+}}, i32 0, | // HLAMBDA: call i32 @__tgt_target_teams_mapper(i64 -1, i8* @{{[^,]+}}, i32 0, | ||||
// HLAMBDA: call void @[[LOFFL1:.+]]( | // HLAMBDA: call void @[[LOFFL1:.+]]( | ||||
// HLAMBDA: ret | // HLAMBDA: ret | ||||
#pragma omp target teams distribute parallel for private(g, g1, sivar) | #pragma omp target teams distribute parallel for private(g, g1, sivar) | ||||
for (int i = 0; i < 2; ++i) { | for (int i = 0; i < 2; ++i) { | ||||
// HLAMBDA: define{{.*}} internal{{.*}} void @[[LOFFL1]]() | // HLAMBDA: define{{.*}} internal{{.*}} void @[[LOFFL1]]() | ||||
// TLAMBDA: define{{.*}} void @[[LOFFL1:.+]]() | // TLAMBDA: define{{.*}} void @[[LOFFL1:.+]]() | ||||
// LAMBDA: call void {{.+}} @__kmpc_fork_teams({{.+}}, i32 0, {{.+}} @[[LOUTL1:.+]] to {{.+}}) | // LAMBDA: call void {{.+}} @__kmpc_fork_teams({{.+}}, i32 0, {{.+}} @[[LOUTL1:.+]] to {{.+}}) | ||||
// LAMBDA: ret void | // LAMBDA: ret void | ||||
▲ Show 20 Lines • Show All 74 Lines • ▼ Show 20 Lines | for (int i = 0; i < 2; ++i) { | ||||
s_arr[i] = var; | s_arr[i] = var; | ||||
sivar += i; | sivar += i; | ||||
} | } | ||||
return tmain<int>(); | return tmain<int>(); | ||||
#endif | #endif | ||||
} | } | ||||
// HCHECK: define {{.*}}i{{[0-9]+}} @main() | // HCHECK: define {{.*}}i{{[0-9]+}} @main() | ||||
// HCHECK: call i32 @__tgt_target_teams(i64 -1, i8* @{{[^,]+}}, i32 0, i8** null, i8** null, {{.+}} null, {{.+}} null, i32 0, i32 0) | // HCHECK: call i32 @__tgt_target_teams_mapper(i64 -1, i8* @{{[^,]+}}, i32 0, i8** null, i8** null, {{.+}} null, {{.+}} null, i8** null, i32 0, i32 0) | ||||
// HCHECK: call void @[[OFFL1:.+]]() | // HCHECK: call void @[[OFFL1:.+]]() | ||||
// HCHECK: {{%.+}} = call{{.*}} i32 @[[TMAIN_INT:.+]]() | // HCHECK: {{%.+}} = call{{.*}} i32 @[[TMAIN_INT:.+]]() | ||||
// HCHECK: ret | // HCHECK: ret | ||||
// HCHECK: define{{.*}} void @[[OFFL1]]() | // HCHECK: define{{.*}} void @[[OFFL1]]() | ||||
// TCHECK: define{{.*}} void @[[OFFL1:.+]]() | // TCHECK: define{{.*}} void @[[OFFL1:.+]]() | ||||
// CHECK: call void {{.+}} @__kmpc_fork_teams({{.+}}, i32 0, {{.+}} @[[OUTL1:.+]] to {{.+}}) | // CHECK: call void {{.+}} @__kmpc_fork_teams({{.+}}, i32 0, {{.+}} @[[OUTL1:.+]] to {{.+}}) | ||||
// CHECK: ret void | // CHECK: ret void | ||||
▲ Show 20 Lines • Show All 61 Lines • ▼ Show 20 Lines | |||||
// CHECK-DAG: {{.+}} = {{.+}} [[VEC_PRIV]] | // CHECK-DAG: {{.+}} = {{.+}} [[VEC_PRIV]] | ||||
// CHECK-DAG: {{.+}} = {{.+}} [[S_ARR_PRIV]] | // CHECK-DAG: {{.+}} = {{.+}} [[S_ARR_PRIV]] | ||||
// CHECK-DAG: {{.+}} = {{.+}} [[VAR_PRIV]] | // CHECK-DAG: {{.+}} = {{.+}} [[VAR_PRIV]] | ||||
// CHECK-DAG: {{.+}} = {{.+}} [[SIVAR_PRIV]] | // CHECK-DAG: {{.+}} = {{.+}} [[SIVAR_PRIV]] | ||||
// CHECK: call void @__kmpc_for_static_fini( | // CHECK: call void @__kmpc_for_static_fini( | ||||
// CHECK: ret void | // CHECK: ret void | ||||
// HCHECK: define{{.*}} i{{[0-9]+}} @[[TMAIN_INT]]() | // HCHECK: define{{.*}} i{{[0-9]+}} @[[TMAIN_INT]]() | ||||
// HCHECK: call i32 @__tgt_target_teams(i64 -1, i8* @{{[^,]+}}, i32 0, | // HCHECK: call i32 @__tgt_target_teams_mapper(i64 -1, i8* @{{[^,]+}}, i32 0, | ||||
// HCHECK: call void @[[TOFFL1:.+]]() | // HCHECK: call void @[[TOFFL1:.+]]() | ||||
// HCHECK: ret | // HCHECK: ret | ||||
// HCHECK: define {{.*}}void @[[TOFFL1]]() | // HCHECK: define {{.*}}void @[[TOFFL1]]() | ||||
// TCHECK: define weak void @[[TOFFL1:.+]]() | // TCHECK: define weak void @[[TOFFL1:.+]]() | ||||
// CHECK: call void {{.+}} @__kmpc_fork_teams({{.+}}, i32 0, {{.+}} @[[TOUTL1:.+]] to {{.+}}) | // CHECK: call void {{.+}} @__kmpc_fork_teams({{.+}}, i32 0, {{.+}} @[[TOUTL1:.+]] to {{.+}}) | ||||
// CHECK: ret void | // CHECK: ret void | ||||
▲ Show 20 Lines • Show All 81 Lines • Show Last 20 Lines |