Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / CodeGenCUDA / openmp-parallel.cu
blobf9c32f3991d533c0151348552a38b32ec0f78da7
1 // RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu \
2 // RUN:   -fopenmp -emit-llvm -o -  -x hip %s | FileCheck %s
4 #include "Inputs/cuda.h"
6 void foo(double) {}
7 __device__ void foo(int) {}
9 // Check foo resolves to the host function.
10 // CHECK-LABEL: define {{.*}}@_Z5test1v
11 // CHECK: call void @_Z3food(double noundef 1.000000e+00)
12 void test1() {
13   #pragma omp parallel
14   for (int i = 0; i < 100; i++)
15     foo(1);
18 // Check foo resolves to the host function.
19 // CHECK-LABEL: define {{.*}}@_Z5test2v
20 // CHECK: call void @_Z3food(double noundef 1.000000e+00)
21 void test2() {
22   auto Lambda = []() {
23     #pragma omp parallel
24     for (int i = 0; i < 100; i++)
25       foo(1);
26   };
27   Lambda();