[AMDGPU] Add two TSFlags: IsAtomicNoRtn and IsAtomicRtn
authorStanislav Mekhanoshin <Stanislav.Mekhanoshin@amd.com>
Fri, 12 Feb 2021 22:19:10 +0000 (14:19 -0800)
committerStanislav Mekhanoshin <Stanislav.Mekhanoshin@amd.com>
Mon, 15 Feb 2021 19:27:59 +0000 (11:27 -0800)
commit5cf9292ce341d2002f5d6e0189d54e29f9e71afe
tree406e58afcdf46c87fae6d43f971906fbff21889e
parentc465429f286f50e52a8d2b3b39f38344f3381cce
[AMDGPU] Add two TSFlags: IsAtomicNoRtn and IsAtomicRtn

We are using AtomicNoRet map in multiple places to determine
if an instruction atomic, rtn or nortn atomic. This method
does not work always since we have some instructions which
only has rtn or nortn version.

One such instruction is ds_wrxchg_rtn_b32 which does not have
nortn version. This has caused changes in memory legalizer
tests.

Differential Revision: https://reviews.llvm.org/D96639
14 files changed:
llvm/lib/Target/AMDGPU/BUFInstructions.td
llvm/lib/Target/AMDGPU/DSInstructions.td
llvm/lib/Target/AMDGPU/FLATInstructions.td
llvm/lib/Target/AMDGPU/MIMGInstructions.td
llvm/lib/Target/AMDGPU/SIDefines.h
llvm/lib/Target/AMDGPU/SIFormMemoryClauses.cpp
llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
llvm/lib/Target/AMDGPU/SIInstrFormats.td
llvm/lib/Target/AMDGPU/SIInstrInfo.h
llvm/lib/Target/AMDGPU/SIInstrInfo.td
llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
llvm/test/CodeGen/AMDGPU/memory-legalizer-local-agent.ll
llvm/test/CodeGen/AMDGPU/memory-legalizer-local-system.ll
llvm/test/CodeGen/AMDGPU/memory-legalizer-local-workgroup.ll