brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1002 B · 2856247 Raw
48 lines · plain
1! Testing the Semantic failure of forming loop sequences under regular OpenMP directives 2 3!RUN: %python %S/../test_errors.py %s %flang -fopenmp -fopenmp-version=604 5subroutine loop_transformation_construct36  implicit none7  integer, parameter :: i = 58  integer :: x9  integer :: v(i)10 11  !ERROR: The loop sequence following the DO construct must be fully fused first.12  !$omp do13  !$omp fuse looprange(1,2)14  do x = 1, i15    v(x) = x * 216  end do17  do x = 1, i18    v(x) = x * 219  end do20  do x = 1, i21    v(x) = x * 222  end do23  !$omp end fuse24  !$omp end do25end subroutine26 27subroutine loop_transformation_construct428  implicit none29  integer, parameter :: i = 530  integer :: x31  integer :: v(i)32 33  !ERROR: The loop sequence following the TILE construct must be fully fused first.34  !$omp tile sizes(2)35  !$omp fuse looprange(1,2)36  do x = 1, i37    v(x) = x * 238  end do39  do x = 1, i40    v(x) = x * 241  end do42  do x = 1, i43    v(x) = x * 244  end do45  !$omp end fuse46  !$omp end tile47end subroutine48