[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