[llvm] [AMDGPU] Support image atomic no return instructions (PR #150742)

Mirko Brkušanin via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 19 10:01:22 PDT 2025


mbrkusanin wrote:

> The no-return image sample entries aren’t introduced by this PR. I already generate the tables separately:
> 
> ```
> foreach intr = AMDGPUImageDimIntrinsics in {
>   def : ImageDimIntrinsicInfo<intr>;
> }
> 
> foreach intr = AMDGPUImageDimAtomicIntrinsics in {
>   def : ImageDimAtomicIntrinsicInfo<intr>;
> }
> ```
> 
> This means image sample intrinsics and image atomic intrinsics are generated from different lists.

Right, but the `ImageDimIntrinsicTable` table is generated using same base class which is `ImageDimIntrinsicInfo`. `NoRetBaseOpcode` column is added for all entires.

An argument for keeping the `NoRetBaseOpcode` field here would be that `ImageDimIntrinsicTable` is much shorter than `MIMGInfoTable`. In that case I would at least rename `NoRetBaseOpcode` to something like `AtomicNoRetBaseOpcode` to clarify that it is only meant for `image_atomic_*` opcodes.

Other tablegen changes look fine to me.

https://github.com/llvm/llvm-project/pull/150742


More information about the llvm-commits mailing list