Changeset View
Changeset View
Standalone View
Standalone View
clang/test/OpenMP/target_teams_distribute_private_codegen.cpp
Show First 20 Lines • Show All 78 Lines • ▼ Show 20 Lines | |||||
int main() { | int main() { | ||||
static int sivar; | static int sivar; | ||||
#ifdef LAMBDA | #ifdef LAMBDA | ||||
// LAMBDA: [[G:@.+]] = global i{{[0-9]+}} 1212, | // LAMBDA: [[G:@.+]] = global i{{[0-9]+}} 1212, | ||||
// LAMBDA-LABEL: @main | // LAMBDA-LABEL: @main | ||||
// LAMBDA: call void [[OUTER_LAMBDA:@.+]]( | // LAMBDA: call void [[OUTER_LAMBDA:@.+]]( | ||||
[&]() { | [&]() { | ||||
// LAMBDA: define{{.*}} internal{{.*}} void [[OUTER_LAMBDA]]( | // LAMBDA: define{{.*}} internal{{.*}} void [[OUTER_LAMBDA]]( | ||||
// LAMBDA: call i32 @__tgt_target_teams(i64 -1, i8* @{{[^,]+}}, i32 0, i8** null, i8** null, i{{64|32}}* null, i64* null, i32 0, i32 0) | // LAMBDA: call i32 @__tgt_target_teams_mapper(i64 -1, i8* @{{[^,]+}}, i32 0, i8** null, i8** null, i{{64|32}}* null, i64* null, i8** null, i32 0, i32 0) | ||||
// LAMBDA: call void @[[LOFFL1:.+]]() | // LAMBDA: call void @[[LOFFL1:.+]]() | ||||
// LAMBDA: ret | // LAMBDA: ret | ||||
#pragma omp target teams distribute private(g, g1, sivar) | #pragma omp target teams distribute private(g, g1, sivar) | ||||
for (int i = 0; i < 2; ++i) { | for (int i = 0; i < 2; ++i) { | ||||
// LAMBDA: define{{.*}} internal{{.*}} void @[[LOFFL1]]() | // LAMBDA: define{{.*}} internal{{.*}} 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 50 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 | ||||
} | } | ||||
// CHECK: define {{.*}}i{{[0-9]+}} @main() | // CHECK: define {{.*}}i{{[0-9]+}} @main() | ||||
// CHECK: call i32 @__tgt_target_teams(i64 -1, i8* @{{[^,]+}}, i32 0, i8** null, i8** null, i{{64|32}}* null, i64* null, i32 0, i32 0) | // CHECK: call i32 @__tgt_target_teams_mapper(i64 -1, i8* @{{[^,]+}}, i32 0, i8** null, i8** null, i{{64|32}}* null, i64* null, i8** null, i32 0, i32 0) | ||||
// CHECK: call void @[[OFFL1:.+]]() | // CHECK: call void @[[OFFL1:.+]]() | ||||
// CHECK: {{%.+}} = call{{.*}} i32 @[[TMAIN_INT:.+]]() | // CHECK: {{%.+}} = call{{.*}} i32 @[[TMAIN_INT:.+]]() | ||||
// CHECK: ret | // CHECK: ret | ||||
// CHECK: define{{.*}} void @[[OFFL1]]() | // CHECK: 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 All 28 Lines | |||||
// 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 | ||||
// CHECK: define{{.*}} i{{[0-9]+}} @[[TMAIN_INT]]() | // CHECK: define{{.*}} i{{[0-9]+}} @[[TMAIN_INT]]() | ||||
// CHECK: call i32 @__tgt_target_teams(i64 -1, i8* @{{[^,]+}}, i32 0, | // CHECK: call i32 @__tgt_target_teams_mapper(i64 -1, i8* @{{[^,]+}}, i32 0, | ||||
// CHECK: call void @[[TOFFL1:.+]]() | // CHECK: call void @[[TOFFL1:.+]]() | ||||
// CHECK: ret | // CHECK: ret | ||||
// CHECK: define {{.*}}void @[[TOFFL1]]() | // CHECK: define {{.*}}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 | ||||
// CHECK: define internal void @[[TOUTL1]]({{.+}}) | // CHECK: define internal void @[[TOUTL1]]({{.+}}) | ||||
Show All 39 Lines |