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