[PATCH] D141317: [SDAG] Introduce a common MEMBARRIER node [nfc]

Philip Reames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 9 12:30:09 PST 2023


reames created this revision.
reames added reviewers: craig.topper, jrtc27, asb, frasercrmck.
Herald added subscribers: pengfei, bollu, hiraditya, mcrosier.
Herald added a project: All.
reames requested review of this revision.
Herald added a project: LLVM.

We have multiple targets which have defined custom instructions and sdag nodes to represent a compiler memory barrier.  This patch consolidates the sdag node definition into common code.

This is a companion to D92842 <https://reviews.llvm.org/D92842>, but a bit different in focus.  This change consolidates the existing sdag node definitions; that patch skipped defining a sdag node by instead going straight to a target node.  That patch is also not NFC - as being so is quite hard for commoning up the instruction definitions.

I started with two backends to ensure the new common code was reusable while not having a massive diff.  Once this lands, I'll submit a series of NFCs for backends where the changes are obvious, or reviews if more discussion is needed.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D141317

Files:
  llvm/include/llvm/CodeGen/ISDOpcodes.h
  llvm/include/llvm/Target/TargetSelectionDAG.td
  llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
  llvm/lib/Target/SystemZ/SystemZISelLowering.h
  llvm/lib/Target/SystemZ/SystemZInstrInfo.td
  llvm/lib/Target/SystemZ/SystemZOperators.td
  llvm/lib/Target/X86/X86ISelLowering.cpp
  llvm/lib/Target/X86/X86ISelLowering.h
  llvm/lib/Target/X86/X86InstrCompiler.td
  llvm/lib/Target/X86/X86InstrInfo.td

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D141317.487531.patch
Type: text/x-patch
Size: 7354 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230109/631dd953/attachment.bin>


More information about the llvm-commits mailing list