Differential D67833 Diff 278291 clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
Changeset View
Changeset View
Standalone View
Standalone View
clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
Show All 38 Lines | #pragma omp distribute parallel for simd num_threads(T(23)) | ||||
for (int i = 0; i < 100; i++) | for (int i = 0; i < 100; i++) | ||||
foo(); | foo(); | ||||
return 0; | return 0; | ||||
} | } | ||||
int main() { | int main() { | ||||
S s(0); | S s(0); | ||||
char a = s; | char a = s; | ||||
// CHECK: call i{{[0-9]+}} @__tgt_target_teams( | // CHECK: call i{{[0-9]+}} @__tgt_target_teams_mapper( | ||||
// CHECK: call void [[OFFLOADING_FUN_0:@.+]]( | // CHECK: call void [[OFFLOADING_FUN_0:@.+]]( | ||||
// 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: invoke{{.+}} [[TMAIN_5:@.+]]() | // CHECK: invoke{{.+}} [[TMAIN_5:@.+]]() | ||||
// CHECK: invoke{{.+}} [[TMAIN_1:@.+]]() | // CHECK: invoke{{.+}} [[TMAIN_1:@.+]]() | ||||
#pragma omp target | #pragma omp target | ||||
#pragma omp teams | #pragma omp teams | ||||
// CHECK: define internal void [[OFFLOADING_FUN_0]]( | // CHECK: define internal void [[OFFLOADING_FUN_0]]( | ||||
// CHECK: call {{.*}}void {{.+}} @__kmpc_fork_teams({{.+}}, i32 0, {{.+}}* [[OMP_TEAMS_OUTLINED_0:@.+]] to {{.+}}) | // CHECK: call {{.*}}void {{.+}} @__kmpc_fork_teams({{.+}}, i32 0, {{.+}}* [[OMP_TEAMS_OUTLINED_0:@.+]] to {{.+}}) | ||||
#pragma omp distribute parallel for simd num_threads(2) | #pragma omp distribute parallel for simd num_threads(2) | ||||
Show All 19 Lines | for (int i = 0; i < 100; i++) { | ||||
// CHECK: call {{.*}}void {{.*}} @__kmpc_fork_call( | // CHECK: call {{.*}}void {{.*}} @__kmpc_fork_call( | ||||
foo(); | foo(); | ||||
} | } | ||||
return a + tmain<char, 5>() + tmain<S, 1>(); | return a + tmain<char, 5>() + tmain<S, 1>(); | ||||
} | } | ||||
// tmain 5 | // tmain 5 | ||||
// CHECK-DAG: define {{.*}}i{{[0-9]+}} [[TMAIN_5]]() | // CHECK-DAG: define {{.*}}i{{[0-9]+}} [[TMAIN_5]]() | ||||
// CHECK: call i{{[0-9]+}} @__tgt_target_teams( | // CHECK: call i{{[0-9]+}} @__tgt_target_teams_mapper( | ||||
// CHECK: call void [[T_OFFLOADING_FUN_0:@.+]]( | // CHECK: call void [[T_OFFLOADING_FUN_0:@.+]]( | ||||
// CHECK: call i{{[0-9]+}} @__tgt_target_teams( | // CHECK: call i{{[0-9]+}} @__tgt_target_teams_mapper( | ||||
// CHECK: call void [[T_OFFLOADING_FUN_1:@.+]]( | // CHECK: call void [[T_OFFLOADING_FUN_1:@.+]]( | ||||
// tmain 1 | // tmain 1 | ||||
// CHECK-DAG: define {{.*}}i{{[0-9]+}} [[TMAIN_1]]() | // CHECK-DAG: define {{.*}}i{{[0-9]+}} [[TMAIN_1]]() | ||||
// CHECK: call i{{[0-9]+}} @__tgt_target_teams( | // CHECK: call i{{[0-9]+}} @__tgt_target_teams_mapper( | ||||
// CHECK: call void [[T_OFFLOADING_FUN_2:@.+]]( | // CHECK: call void [[T_OFFLOADING_FUN_2:@.+]]( | ||||
// CHECK: call i{{[0-9]+}} @__tgt_target_teams( | // CHECK: call i{{[0-9]+}} @__tgt_target_teams_mapper( | ||||
// CHECK: call void [[T_OFFLOADING_FUN_3:@.+]]( | // CHECK: call void [[T_OFFLOADING_FUN_3:@.+]]( | ||||
// CHECK: define internal void [[T_OFFLOADING_FUN_0]]( | // CHECK: define internal void [[T_OFFLOADING_FUN_0]]( | ||||
// CHECK: call {{.*}}void {{.+}} @__kmpc_fork_teams({{.+}}, i32 0, {{.+}}* [[T_OMP_TEAMS_OUTLINED_0:@.+]] to {{.+}}) | // CHECK: call {{.*}}void {{.+}} @__kmpc_fork_teams({{.+}}, i32 0, {{.+}}* [[T_OMP_TEAMS_OUTLINED_0:@.+]] to {{.+}}) | ||||
// CHECK: define{{.+}} void [[T_OMP_TEAMS_OUTLINED_0]]( | // CHECK: define{{.+}} void [[T_OMP_TEAMS_OUTLINED_0]]( | ||||
// CHECK: call {{.*}}void @__kmpc_push_num_threads([[IDENT_T_TY]]* [[DEF_LOC_2]], i32 {{.+}}, i32 5) | // CHECK: call {{.*}}void @__kmpc_push_num_threads([[IDENT_T_TY]]* [[DEF_LOC_2]], i32 {{.+}}, i32 5) | ||||
// CHECK: call {{.*}}void {{.*}} @__kmpc_fork_call( | // CHECK: call {{.*}}void {{.*}} @__kmpc_fork_call( | ||||
Show All 24 Lines |