[PATCH] D123143: SelectionDAG: Swap operands of atomic_store

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 5 09:57:01 PDT 2022


arsenm created this revision.
arsenm added reviewers: reames, spatel, craig.topper, kparzysz, simoncook.
Herald added subscribers: hsmhsm, pmatos, asb, foad, StephenFan, frasercrmck, kerbowa, luismarques, apazos, sameer.abuasal, pengfei, s.egerton, Jim, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, rogfer01, atanasyan, edward-jones, zzheng, jrtc27, niosHD, sabuasal, johnrusso, rbar, fedor.sergeev, kbarton, hiraditya, jgravelle-google, arichardson, sbc100, jvesely, nemanjai, sdardis, dylanmckay, jyknight, dschuff.
Herald added a project: All.
arsenm requested review of this revision.
Herald added subscribers: pcwang-thead, MaskRay, aheejin, wdng.
Herald added a project: LLVM.

Irritatingly, atomic_store had operands in the opposite order from
regular store. This made it difficult to share patterns between
regular and atomic stores.

      

There was a previous incomplete attempt to move atomic_store into the
regular StoreSDNode which would be better.

      

I think it was a mistake for all atomicrmw to swap the operand order,
so maybe it's better to take this one step further.


https://reviews.llvm.org/D123143

Files:
  llvm/include/llvm/CodeGen/SelectionDAGNodes.h
  llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
  llvm/include/llvm/Target/TargetSelectionDAG.td
  llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
  llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
  llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
  llvm/lib/Target/AArch64/AArch64InstrAtomics.td
  llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
  llvm/lib/Target/AMDGPU/BUFInstructions.td
  llvm/lib/Target/AMDGPU/DSInstructions.td
  llvm/lib/Target/AMDGPU/FLATInstructions.td
  llvm/lib/Target/AMDGPU/SIInstrInfo.td
  llvm/lib/Target/ARM/ARMInstrInfo.td
  llvm/lib/Target/ARM/ARMInstrThumb.td
  llvm/lib/Target/ARM/ARMInstrThumb2.td
  llvm/lib/Target/AVR/AVRInstrInfo.td
  llvm/lib/Target/Hexagon/HexagonPatterns.td
  llvm/lib/Target/Mips/Mips64InstrInfo.td
  llvm/lib/Target/Mips/MipsInstrInfo.td
  llvm/lib/Target/PowerPC/PPCISelLowering.cpp
  llvm/lib/Target/PowerPC/PPCInstr64Bit.td
  llvm/lib/Target/PowerPC/PPCInstrInfo.td
  llvm/lib/Target/PowerPC/PPCInstrP10.td
  llvm/lib/Target/RISCV/RISCVInstrInfoA.td
  llvm/lib/Target/Sparc/SparcInstr64Bit.td
  llvm/lib/Target/Sparc/SparcInstrInfo.td
  llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
  llvm/lib/Target/VE/VEInstrInfo.td
  llvm/lib/Target/WebAssembly/WebAssemblyInstrAtomics.td
  llvm/lib/Target/X86/X86ISelLowering.cpp
  llvm/lib/Target/X86/X86InstrCompiler.td
  llvm/test/TableGen/GlobalISelEmitter-atomic_store.td
  llvm/utils/TableGen/GlobalISelEmitter.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D123143.420566.patch
Type: text/x-patch
Size: 59272 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220405/4e0068a7/attachment.bin>


More information about the llvm-commits mailing list