brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.2 KiB · 513f10c Raw
210 lines · cpp
1// RUN: %clang_cc1 -fopenmp -x c++ -triple x86_64-unknown-unknown -emit-llvm -fexceptions -fcxx-exceptions -o - %s | FileCheck %s2 3// RUN: %clang_cc1 -fopenmp-simd -x c++ -triple x86_64-unknown-unknown -emit-llvm -fexceptions -fcxx-exceptions -o - %s | FileCheck --check-prefix SIMD-ONLY0 %s4// SIMD-ONLY0-NOT: {{__kmpc|__tgt}}5 6int main() {7// CHECK: @__kmpc_for_static_init8// CHECK-NOT: !llvm.access.group9// CHECK: @__kmpc_for_static_fini10#pragma omp for11  for(int i = 0; i < 10; ++i);12// CHECK: @__kmpc_for_static_init13// CHECK: !llvm.access.group14// CHECK: @__kmpc_for_static_fini15#pragma omp for simd16  for(int i = 0; i < 10; ++i);17// CHECK: @__kmpc_for_static_init18// CHECK-NOT: !llvm.access.group19// CHECK: @__kmpc_for_static_fini20#pragma omp for schedule(static)21  for(int i = 0; i < 10; ++i);22// CHECK: @__kmpc_for_static_init23// CHECK: !llvm.access.group24// CHECK: @__kmpc_for_static_fini25#pragma omp for simd schedule(static)26  for(int i = 0; i < 10; ++i);27// CHECK: @__kmpc_for_static_init28// CHECK-NOT: !llvm.access.group29// CHECK: @__kmpc_for_static_fini30#pragma omp for schedule(static, 2)31  for(int i = 0; i < 10; ++i);32// CHECK: @__kmpc_for_static_init33// CHECK: !llvm.access.group34// CHECK: @__kmpc_for_static_fini35#pragma omp for simd schedule(static, 2)36  for(int i = 0; i < 10; ++i);37// CHECK: @__kmpc_dispatch_init38// CHECK: !llvm.access.group39#pragma omp for schedule(auto)40  for(int i = 0; i < 10; ++i);41// CHECK: @__kmpc_dispatch_init42// CHECK: !llvm.access.group43#pragma omp for simd schedule(auto)44  for(int i = 0; i < 10; ++i);45// CHECK: @__kmpc_dispatch_init46// CHECK: !llvm.access.group47#pragma omp for schedule(runtime)48  for(int i = 0; i < 10; ++i);49// CHECK: @__kmpc_dispatch_init50// CHECK: !llvm.access.group51#pragma omp for simd schedule(runtime)52  for(int i = 0; i < 10; ++i);53// CHECK: @__kmpc_dispatch_init54// CHECK: !llvm.access.group55#pragma omp for schedule(guided)56  for(int i = 0; i < 10; ++i);57// CHECK: @__kmpc_dispatch_init58// CHECK: !llvm.access.group59#pragma omp for simd schedule(guided)60  for(int i = 0; i < 10; ++i);61// CHECK: @__kmpc_dispatch_init62// CHECK: !llvm.access.group63#pragma omp for schedule(dynamic)64  for(int i = 0; i < 10; ++i);65// CHECK: @__kmpc_dispatch_init66// CHECK: !llvm.access.group67#pragma omp for simd schedule(dynamic)68  for(int i = 0; i < 10; ++i);69// CHECK: @__kmpc_for_static_init70// CHECK-NOT: !llvm.access.group71// CHECK: @__kmpc_for_static_fini72#pragma omp for schedule(monotonic: static)73  for(int i = 0; i < 10; ++i);74// CHECK: @__kmpc_for_static_init75// CHECK: !llvm.access.group76// CHECK: @__kmpc_for_static_fini77#pragma omp for simd schedule(monotonic: static)78  for(int i = 0; i < 10; ++i);79// CHECK: @__kmpc_for_static_init80// CHECK-NOT: !llvm.access.group81// CHECK: @__kmpc_for_static_fini82#pragma omp for schedule(monotonic: static, 2)83  for(int i = 0; i < 10; ++i);84// CHECK: @__kmpc_for_static_init85// CHECK: !llvm.access.group86// CHECK: @__kmpc_for_static_fini87#pragma omp for simd schedule(monotonic: static, 2)88  for(int i = 0; i < 10; ++i);89// CHECK: @__kmpc_dispatch_init90// CHECK-NOT: !llvm.access.group91#pragma omp for schedule(monotonic: auto)92  for(int i = 0; i < 10; ++i);93// CHECK: @__kmpc_dispatch_init94// CHECK: !llvm.access.group95#pragma omp for simd schedule(monotonic: auto)96  for(int i = 0; i < 10; ++i);97// CHECK: @__kmpc_dispatch_init98// CHECK-NOT: !llvm.access.group99#pragma omp for schedule(monotonic: runtime)100  for(int i = 0; i < 10; ++i);101// CHECK: @__kmpc_dispatch_init102// CHECK: !llvm.access.group103#pragma omp for simd schedule(monotonic: runtime)104  for(int i = 0; i < 10; ++i);105// CHECK: @__kmpc_dispatch_init106// CHECK-NOT: !llvm.access.group107#pragma omp for schedule(monotonic: guided)108  for(int i = 0; i < 10; ++i);109// CHECK: @__kmpc_dispatch_init110// CHECK: !llvm.access.group111#pragma omp for simd schedule(monotonic: guided)112  for(int i = 0; i < 10; ++i);113// CHECK: @__kmpc_dispatch_init114// CHECK-NOT: !llvm.access.group115#pragma omp for schedule(monotonic: dynamic)116  for(int i = 0; i < 10; ++i);117// CHECK: @__kmpc_dispatch_init118// CHECK: !llvm.access.group119#pragma omp for simd schedule(monotonic: dynamic)120  for(int i = 0; i < 10; ++i);121// CHECK: @__kmpc_dispatch_init122// CHECK: !llvm.access.group123#pragma omp for schedule(nonmonotonic: guided)124  for(int i = 0; i < 10; ++i);125// CHECK: @__kmpc_dispatch_init126// CHECK: !llvm.access.group127#pragma omp for simd schedule(nonmonotonic: guided)128  for(int i = 0; i < 10; ++i);129// CHECK: @__kmpc_dispatch_init130// CHECK: !llvm.access.group131#pragma omp for schedule(nonmonotonic: dynamic)132  for(int i = 0; i < 10; ++i);133// CHECK: @__kmpc_dispatch_init134// CHECK: !llvm.access.group135#pragma omp for simd schedule(nonmonotonic: dynamic)136  for(int i = 0; i < 10; ++i);137// CHECK: call void @__kmpc_for_static_init_4(ptr {{.+}}, i32 %{{.+}}, i32 1073741858,138// CHECK: !llvm.access.group139#pragma omp for simd schedule(nonmonotonic: static)140  for(int i = 0; i < 10; ++i);141// CHECK: call void @__kmpc_dispatch_init_4(ptr {{.+}}, i32 %{{.+}}, i32 1073741862,142// CHECK: !llvm.access.group143#pragma omp for schedule(nonmonotonic: auto)144  for(int i = 0; i < 10; ++i);145// CHECK: call void @__kmpc_dispatch_init_4(ptr {{.+}}, i32 %{{.+}}, i32 1073741861,146// CHECK: !llvm.access.group147#pragma omp for simd schedule(nonmonotonic: runtime)148  for(int i = 0; i < 10; ++i);149// CHECK: @__kmpc_dispatch_init150// CHECK-NOT: !llvm.access.group151// CHECK: @__kmpc_dispatch_next152#pragma omp for schedule(static) ordered153  for(int i = 0; i < 10; ++i);154// CHECK: @__kmpc_dispatch_init155// CHECK-NOT: !llvm.access.group156// CHECK: @__kmpc_dispatch_next157#pragma omp for simd schedule(static) ordered158  for(int i = 0; i < 10; ++i);159// CHECK: @__kmpc_dispatch_init160// CHECK-NOT: !llvm.access.group161// CHECK: @__kmpc_dispatch_next162#pragma omp for schedule(static, 2) ordered(1)163  for(int i = 0; i < 10; ++i);164// CHECK: @__kmpc_dispatch_init165// CHECK-NOT: !llvm.access.group166// CHECK: @__kmpc_dispatch_next167#pragma omp for simd schedule(static, 2) ordered168  for(int i = 0; i < 10; ++i);169// CHECK: @__kmpc_dispatch_init170// CHECK-NOT: !llvm.access.group171// CHECK: @__kmpc_dispatch_next172#pragma omp for schedule(auto) ordered(1)173  for(int i = 0; i < 10; ++i);174// CHECK: @__kmpc_dispatch_init175// CHECK-NOT: !llvm.access.group176#pragma omp for simd schedule(auto) ordered177  for(int i = 0; i < 10; ++i);178// CHECK: @__kmpc_dispatch_init179// CHECK-NOT: !llvm.access.group180// CHECK: @__kmpc_dispatch_next181#pragma omp for schedule(runtime) ordered182  for(int i = 0; i < 10; ++i);183// CHECK: @__kmpc_dispatch_init184// CHECK-NOT: !llvm.access.group185// CHECK: @__kmpc_dispatch_next186#pragma omp for simd schedule(runtime) ordered187  for(int i = 0; i < 10; ++i);188// CHECK: @__kmpc_dispatch_init189// CHECK-NOT: !llvm.access.group190// CHECK: @__kmpc_dispatch_next191#pragma omp for schedule(guided) ordered(1)192  for(int i = 0; i < 10; ++i);193// CHECK: @__kmpc_dispatch_init194// CHECK-NOT: !llvm.access.group195// CHECK: @__kmpc_dispatch_next196#pragma omp for simd schedule(guided) ordered197  for(int i = 0; i < 10; ++i);198// CHECK: @__kmpc_dispatch_init199// CHECK-NOT: !llvm.access.group200// CHECK: @__kmpc_dispatch_next201#pragma omp for schedule(dynamic) ordered(1)202  for(int i = 0; i < 10; ++i);203// CHECK: @__kmpc_dispatch_init204// CHECK-NOT: !llvm.access.group205// CHECK: @__kmpc_dispatch_next206#pragma omp for simd schedule(dynamic)207  for(int i = 0; i < 10; ++i);208  return 0;209}210