xref: /llvm-project/flang/test/Integration/OpenMP/workshare-array-array-assign.f90 (revision 40c8938ff8447fc46bd2aa1605e3147cc38ffb8d)
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