Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[MLIR][OpenMP] More robust support for target SPMD
This patch fixes `TargetOp::getInnermostCapturedOmpOp()` to avoid detecting as captured by the top target construct other constructs nested inside of a loop. This prevents the `omp.target` verifier from incorrectly flagging valid SPMD loops, like in the following example: ```f90 subroutine foo(n) implicit none integer, intent(in) :: n integer :: i, j !$omp target teams distribute parallel do do i=1,n !$omp simd do j=1,n call bar() enddo enddo end subroutine foo ```
- Loading branch information