https://github.com/Saieiei approved this pull request.

Could this land after #233480? With the example below, Flang emits BARRIER at 
the merge base 918b725cab35 and TASKWAIT at this head. This reaches the 
repeated-construct subset issue tracked in #233036. A local subset fix restores 
BARRIER while keeping this PR’s new tests passing.

```fortran
subroutine repeated_construct_tie()
  integer :: i
  !$omp parallel
  !$omp do
  do i = 1, 1
    !$omp parallel
    !$omp metadirective &
    !$omp& when(construct={parallel do, parallel}: taskyield) &
    !$omp& when(construct={parallel do}, implementation={vendor(score(4): 
llvm)}: taskwait) &
    !$omp& when(construct={parallel do, parallel}, 
implementation={vendor(score(0): llvm)}: barrier)
    !$omp end parallel
  end do
  !$omp end do
  !$omp end parallel
end subroutine
```

Compiled with `flang -fc1 -fopenmp -fopenmp-version=52 -emit-hlfir`.

https://github.com/llvm/llvm-project/pull/233905
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to