[clang] [CIR] Add offload container Op (PR #206576)
Konstantinos Parasyris via cfe-commits
cfe-commits at lists.llvm.org
Fri Aug 14 08:35:35 PDT 2026
https://github.com/koparasy approved this pull request.
Desing looks good. I can see you have 2 deviations from gpu dialect:
1. GPU keeps `verifyOperationAttribute` trivial, just checks the `attr` sits on ModuleOp, and defers structural checks to reference sites. This PR front loads the verification. It is stricter and potentially more costly.
2. You introduce a strict ordering, host is first, gpu dialect does not impose this. Our passes rely on `front() = host`. No strong feelings about this, I would add a comment about it though to document the behavior.
3. gpu.dialect uses a dedicated `gpu.module`; In your PR code lives in nested builtin.module. This is the design you propose. I am ok with this, but before merging I would expect to add a note confirming your design choice.
The PR title says "Op", not it is an attribute.
Some NITS:
The functions `isOffloadContainer` / `getOffloadHostModule` / `getOffloadDeviceModules` have no coverage, and currently are not being called. It is worthwhile to add some unit tests to lock their behavior, since next optimizations will rely on these.
https://github.com/llvm/llvm-project/pull/206576
More information about the cfe-commits
mailing list