xref: /llvm-project/flang/test/Integration/OpenMP/workshare-array-array-assign.f90 (revision 5d38e6e42a90f5d469b5ff9e25e5e8865606776a)
1!===----------------------------------------------------------------------===!
2! This directory can be used to add Integration tests involving multiple
3! stages of the compiler (for eg. from Fortran to LLVM IR). It should not
4! contain executable tests. We should only add tests here sparingly and only
5! if there is no other way to test. Repeat this message in each test that is
6! added to this directory and sub-directories.
7!===----------------------------------------------------------------------===!
8
9!RUN: %flang_fc1 -emit-hlfir -fopenmp -O3 %s -o - | FileCheck %s --check-prefix HLFIR
10!RUN: %flang_fc1 -emit-fir -fopenmp -O3 %s -o - | FileCheck %s --check-prefix FIR
11
12subroutine sb1(x, y)
13  integer :: x(:)
14  integer :: y(:)
15  !$omp parallel workshare
16  x = y
17  !$omp end parallel workshare
18end subroutine
19
20! HLFIR:     omp.parallel {
21! HLFIR:       omp.workshare {
22! HLFIR:         hlfir.assign
23! HLFIR:         omp.terminator
24! HLFIR:       }
25! HLFIR:       omp.terminator
26! HLFIR:     }
27
28! FIR:     omp.parallel {
29! FIR:       omp.wsloop nowait {
30! FIR:         omp.loop_nest
31! FIR:       }
32! FIR:       omp.barrier
33! FIR:       omp.terminator
34! FIR:     }
35