diff options
author | Kareem Ergawy <kareem.ergawy@amd.com> | 2025-03-13 16:03:19 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-03-13 16:03:19 +0100 |
commit | b003face11fadc526a6f816243441f486ffc958d (patch) | |
tree | c86ea4a93f724d8ea9c879c4e886deb6cfc935fd /flang/lib/Frontend/CompilerInvocation.cpp | |
parent | 7661526fdf74b589e16b4066d217c180c9bd936e (diff) | |
download | llvm-b003face11fadc526a6f816243441f486ffc958d.zip llvm-b003face11fadc526a6f816243441f486ffc958d.tar.gz llvm-b003face11fadc526a6f816243441f486ffc958d.tar.bz2 |
[flang][OpenMP] Add `OutlineableOpenMPOpInterface` to `omp.teams` (#131109)
Given the following input:
```fortran
program rep_loopbind
implicit none
integer :: i
real :: priv_val
!$omp teams private(priv_val)
!$omp distribute
do i=1,1000
end do
!$omp end teams
end program
```
the `AllocaOpConversion` pattern in `FIRToLLVMLowering` would **move**
the private allocations that belong to the `teams` directive (i.e. the
allocations needed for the private copies of `priv_val` and the loop's
iteration variable) from the the `omp.teams` op to the outside scope.
This is not correct since these allocations should be eventually emitted
inside the outlined region for the `teams` directive. Without this fix,
these allocation would be emitted in the parent function (or the parent
scope whatever it is).
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions