This patch prevents constant operations defined inside omp.target from being
hoisted out and into their parent functions by canonicalization passes.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
An alternative approach to solve this issue would be to mark the omp.target operation with the IsolatedFromAbove trait. I decided against it to allow implicit mapping of outside values to target regions, but this would be a simple change if that's a preferable approach.
Comment Actions
Yes, Isolated from Above would mean there are no live-ins into the region. So this looks good to me.
Comment Actions
Thank you for the quick review, Kiran. I'll wait until Monday to land this patch, in case someone else has any further suggestions.