Changeset View
Changeset View
Standalone View
Standalone View
clang/test/OpenMP/distribute_parallel_for_codegen.cpp
Show First 20 Lines • Show All 104 Lines • ▼ Show 20 Lines | int main() { | ||||
int ch = 100; | int ch = 100; | ||||
#ifdef LAMBDA | #ifdef LAMBDA | ||||
// 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 i{{[0-9]+}} @__tgt_target_teams( | // LAMBDA: call i{{[0-9]+}} @__tgt_target_teams_mapper( | ||||
// LAMBDA: call void [[OFFLOADING_FUN_1:@.+]]( | // LAMBDA: call void [[OFFLOADING_FUN_1:@.+]]( | ||||
// LAMBDA: call i{{[0-9]+}} @__tgt_target_teams( | // LAMBDA: call i{{[0-9]+}} @__tgt_target_teams_mapper( | ||||
// LAMBDA: call void [[OFFLOADING_FUN_2:@.+]]( | // LAMBDA: call void [[OFFLOADING_FUN_2:@.+]]( | ||||
// LAMBDA: call i{{[0-9]+}} @__tgt_target_teams( | // LAMBDA: call i{{[0-9]+}} @__tgt_target_teams_mapper( | ||||
// LAMBDA: call void [[OFFLOADING_FUN_3:@.+]]( | // LAMBDA: call void [[OFFLOADING_FUN_3:@.+]]( | ||||
// LAMBDA: call i{{[0-9]+}} @__tgt_target_teams( | // LAMBDA: call i{{[0-9]+}} @__tgt_target_teams_mapper( | ||||
// LAMBDA: call void [[OFFLOADING_FUN_4:@.+]]( | // LAMBDA: call void [[OFFLOADING_FUN_4:@.+]]( | ||||
// LAMBDA: call i{{[0-9]+}} @__tgt_target_teams( | // LAMBDA: call i{{[0-9]+}} @__tgt_target_teams_mapper( | ||||
// LAMBDA: call void [[OFFLOADING_FUN_5:@.+]]( | // LAMBDA: call void [[OFFLOADING_FUN_5:@.+]]( | ||||
// LAMBDA: call i{{[0-9]+}} @__tgt_target_teams( | // LAMBDA: call i{{[0-9]+}} @__tgt_target_teams_mapper( | ||||
// LAMBDA: call void [[OFFLOADING_FUN_6:@.+]]( | // LAMBDA: call void [[OFFLOADING_FUN_6:@.+]]( | ||||
// LAMBDA: call i{{[0-9]+}} @__tgt_target_teams( | // LAMBDA: call i{{[0-9]+}} @__tgt_target_teams_mapper( | ||||
// LAMBDA: call void [[OFFLOADING_FUN_7:@.+]]( | // LAMBDA: call void [[OFFLOADING_FUN_7:@.+]]( | ||||
// no schedule clauses | // no schedule clauses | ||||
#pragma omp target | #pragma omp target | ||||
#pragma omp teams | #pragma omp teams | ||||
// LAMBDA: define{{.+}} void [[OFFLOADING_FUN_1]]( | // LAMBDA: define{{.+}} void [[OFFLOADING_FUN_1]]( | ||||
// LAMBDA: call {{.*}}void {{.+}} @__kmpc_fork_teams({{.+}}, i32 4, {{.+}}* [[OMP_OUTLINED_1:@.+]] to {{.+}}) | // LAMBDA: call {{.*}}void {{.+}} @__kmpc_fork_teams({{.+}}, i32 4, {{.+}}* [[OMP_OUTLINED_1:@.+]] to {{.+}}) | ||||
▲ Show 20 Lines • Show All 732 Lines • ▼ Show 20 Lines | #ifdef LAMBDA | ||||
a[i] = b[i] + c[i]; | a[i] = b[i] + c[i]; | ||||
}(); | }(); | ||||
} | } | ||||
}(); | }(); | ||||
return 0; | return 0; | ||||
#else | #else | ||||
// CHECK-LABEL: @main | // CHECK-LABEL: @main | ||||
// CHECK: call i{{[0-9]+}} @__tgt_target_teams( | // CHECK: call i{{[0-9]+}} @__tgt_target_teams_mapper( | ||||
// CHECK: call void [[OFFLOADING_FUN_1:@.+]]( | // CHECK: call void [[OFFLOADING_FUN_1:@.+]]( | ||||
// CHECK: call i{{[0-9]+}} @__tgt_target_teams( | // CHECK: call i{{[0-9]+}} @__tgt_target_teams_mapper( | ||||
// CHECK: call void [[OFFLOADING_FUN_2:@.+]]( | // CHECK: call void [[OFFLOADING_FUN_2:@.+]]( | ||||
// CHECK: call i{{[0-9]+}} @__tgt_target_teams( | // CHECK: call i{{[0-9]+}} @__tgt_target_teams_mapper( | ||||
// CHECK: call void [[OFFLOADING_FUN_3:@.+]]( | // CHECK: call void [[OFFLOADING_FUN_3:@.+]]( | ||||
// CHECK: call i{{[0-9]+}} @__tgt_target_teams( | // CHECK: call i{{[0-9]+}} @__tgt_target_teams_mapper( | ||||
// CHECK: call void [[OFFLOADING_FUN_4:@.+]]( | // CHECK: call void [[OFFLOADING_FUN_4:@.+]]( | ||||
// CHECK: call i{{[0-9]+}} @__tgt_target_teams( | // CHECK: call i{{[0-9]+}} @__tgt_target_teams_mapper( | ||||
// CHECK: call void [[OFFLOADING_FUN_5:@.+]]( | // CHECK: call void [[OFFLOADING_FUN_5:@.+]]( | ||||
// CHECK: call i{{[0-9]+}} @__tgt_target_teams( | // CHECK: call i{{[0-9]+}} @__tgt_target_teams_mapper( | ||||
// CHECK: call void [[OFFLOADING_FUN_6:@.+]]( | // CHECK: call void [[OFFLOADING_FUN_6:@.+]]( | ||||
// CHECK: call i{{[0-9]+}} @__tgt_target_teams( | // CHECK: call i{{[0-9]+}} @__tgt_target_teams_mapper( | ||||
// CHECK: call void [[OFFLOADING_FUN_7:@.+]]( | // CHECK: call void [[OFFLOADING_FUN_7:@.+]]( | ||||
// CHECK: call{{.+}} [[TMAIN:@.+]]() | // CHECK: call{{.+}} [[TMAIN:@.+]]() | ||||
// no schedule clauses | // no schedule clauses | ||||
#pragma omp target | #pragma omp target | ||||
#pragma omp teams | #pragma omp teams | ||||
// CHECK: define internal void [[OFFLOADING_FUN_1]]( | // CHECK: define internal void [[OFFLOADING_FUN_1]]( | ||||
▲ Show 20 Lines • Show All 715 Lines • ▼ Show 20 Lines | #else | ||||
return tmain<int>(); | return tmain<int>(); | ||||
#endif | #endif | ||||
} | } | ||||
// check code | // check code | ||||
// CHECK: define{{.+}} [[TMAIN]]() | // CHECK: define{{.+}} [[TMAIN]]() | ||||
// CHECK: call i{{[0-9]+}} @__tgt_target_teams( | // CHECK: call i{{[0-9]+}} @__tgt_target_teams_mapper( | ||||
// CHECK: call void [[OFFLOADING_FUN_1:@.+]]( | // CHECK: call void [[OFFLOADING_FUN_1:@.+]]( | ||||
// CHECK: call i{{[0-9]+}} @__tgt_target_teams( | // CHECK: call i{{[0-9]+}} @__tgt_target_teams_mapper( | ||||
// CHECK: call void [[OFFLOADING_FUN_2:@.+]]( | // CHECK: call void [[OFFLOADING_FUN_2:@.+]]( | ||||
// CHECK: call i{{[0-9]+}} @__tgt_target_teams( | // CHECK: call i{{[0-9]+}} @__tgt_target_teams_mapper( | ||||
// CHECK: call void [[OFFLOADING_FUN_3:@.+]]( | // CHECK: call void [[OFFLOADING_FUN_3:@.+]]( | ||||
// CHECK: call i{{[0-9]+}} @__tgt_target_teams( | // CHECK: call i{{[0-9]+}} @__tgt_target_teams_mapper( | ||||
// CHECK: call void [[OFFLOADING_FUN_4:@.+]]( | // CHECK: call void [[OFFLOADING_FUN_4:@.+]]( | ||||
// CHECK: call i{{[0-9]+}} @__tgt_target_teams( | // CHECK: call i{{[0-9]+}} @__tgt_target_teams_mapper( | ||||
// CHECK: call void [[OFFLOADING_FUN_5:@.+]]( | // CHECK: call void [[OFFLOADING_FUN_5:@.+]]( | ||||
// CHECK: call i{{[0-9]+}} @__tgt_target_teams( | // CHECK: call i{{[0-9]+}} @__tgt_target_teams_mapper( | ||||
// CHECK: call void [[OFFLOADING_FUN_6:@.+]]( | // CHECK: call void [[OFFLOADING_FUN_6:@.+]]( | ||||
// CHECK: call i{{[0-9]+}} @__tgt_target_teams( | // CHECK: call i{{[0-9]+}} @__tgt_target_teams_mapper( | ||||
// CHECK: call void [[OFFLOADING_FUN_7:@.+]]( | // CHECK: call void [[OFFLOADING_FUN_7:@.+]]( | ||||
// CHECK: define{{.+}} void [[OFFLOADING_FUN_1]]( | // CHECK: define{{.+}} void [[OFFLOADING_FUN_1]]( | ||||
// CHECK: call {{.*}}void {{.+}} @__kmpc_fork_teams({{.+}}, i32 4, {{.+}}* [[OMP_OUTLINED_1:@.+]] to {{.+}}) | // CHECK: call {{.*}}void {{.+}} @__kmpc_fork_teams({{.+}}, i32 4, {{.+}}* [[OMP_OUTLINED_1:@.+]] to {{.+}}) | ||||
// CHECK: define{{.+}} void [[OMP_OUTLINED_1]]( | // CHECK: define{{.+}} void [[OMP_OUTLINED_1]]( | ||||
// CHECK-DAG: [[OMP_IV:%.omp.iv]] = alloca | // CHECK-DAG: [[OMP_IV:%.omp.iv]] = alloca | ||||
// CHECK-DAG: [[OMP_LB:%.omp.comb.lb]] = alloca | // CHECK-DAG: [[OMP_LB:%.omp.comb.lb]] = alloca | ||||
▲ Show 20 Lines • Show All 665 Lines • Show Last 20 Lines |