This includes gfx908 which only has a no-return version of the
global_atomic_add_f32 instruction, using the same hack that was
previously implemented for selecting from the
llvm.amdgcn.global.atomic.fadd intrinsic.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp | ||
---|---|---|
1301 | Isn't this also conditional on the denorm mode or the unsafe atomic attribute? That would need to be custom and verify those are consistent |
llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp | ||
---|---|---|
1301 | Those checks are done in SITargetLowering::shouldExpandAtomicRMWInIR for both selectiondag and globalisel. |
Comment Actions
Ping. Is it OK to rely on the atomic-expand pass having been run? That seems to be how SelectionDAG works.
Comment Actions
Yes, although some additional verification wouldn't hurt in case something decides to do something based on the legality information
Comment Actions
LGTM, though ensuring the right mode in the lowering. We probably won't have MIR atomic expansions anytime soon
Isn't this also conditional on the denorm mode or the unsafe atomic attribute? That would need to be custom and verify those are consistent