This patch implements OpenMP runtime support for an original OpenMP
extension we have developed to support OpenACC: the ompx_hold map
type modifier. The previous patch in this series, D106509, implements
Clang support and documents the new functionality in detail.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Updated for changes in D106509:
- Renamed hold to ompx_hold.
- Added -fopenmp-extensions to tests. Without it, Clang doesn't recognize ompx_hold.
Thanks for reviewing.
openmp/libomptarget/src/device.cpp | ||
---|---|---|
200–202 | I'll remove it. | |
342 | Without this patch, the only way I know of that ForceDelete=true but IsLast=false is if the reference count is infinite. Decrementing the reference count would have no effect then (and neither did resetting), so I don't think there's an existing bug. With this patch, a new possibility is that the hold reference count is non-zero. Because, as a result, IsLast=false, we're not to ready to unmap, so the final decrement of the dynamic reference counter after its reset needs to happen here. |
IsNew is already false at this point, no need to reassign.