The intrinsic @llvm.amdgcn.flat.atomic.{fadd,fmax,fmin} can only be
selected for flat address spaces (constant, flat and global).
This patch restricts the cases over which GCNTTIImpl::rewriteIntrinsicWithAddressSpace
rewrites the intrinsic.
Paths
| Differential D149938
[AMDGPU][InferAddressSpaces] Only rewrite address-spaces that can be trivially casted to flat for llvm.amdgcn.flat.atomic.{fadd,fmax,fmin} (2/2) ClosedPublic Authored by jmmartinez on May 5 2023, 1:45 AM.
Details Summary The intrinsic @llvm.amdgcn.flat.atomic.{fadd,fmax,fmin} can only be This patch restricts the cases over which GCNTTIImpl::rewriteIntrinsicWithAddressSpace
Diff Detail
Event Timeline
jmmartinez retitled this revision from [AMDGPU][InferAddressSpaces] Only rewrite address-spaces that can be trivially casted to flat for llvm.amdgcn.flat.atomic.{fadd,fmax,fmin} to [AMDGPU][InferAddressSpaces] Only rewrite address-spaces that can be trivially casted to flat for llvm.amdgcn.flat.atomic.{fadd,fmax,fmin} (2/2).May 10 2023, 2:55 AM jmmartinez added inline comments.
jmmartinez added inline comments.
This revision is now accepted and ready to land.May 16 2023, 6:59 AM Closed by commit rG33da608ecc0f: [AMDGPU][InferAddressSpaces] Only rewrite address-spaces that can be trivially… (authored by jmmartinez). · Explain WhyMay 16 2023, 8:33 AM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 519771 llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
llvm/test/Transforms/InferAddressSpaces/AMDGPU/flat-fadd-fmin-fmax-intrinsics.ll
|
But the not-noop address space casts are the cases we're interested in handling. Do you mean to check for valid casts?