Skip to content

Commit 696c71e

Browse files
committed
[NVPTX] Cleanups
- Remove dead code in InstPrinter - Capitalization and improve Table comments - Update fence->membar lowering
1 parent d955de0 commit 696c71e

File tree

2 files changed

+10
-20
lines changed

2 files changed

+10
-20
lines changed

llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -256,18 +256,6 @@ void NVPTXInstPrinter::printLdStCode(const MCInst *MI, int OpNum,
256256
report_fatal_error(OS.str());
257257
break;
258258
}
259-
} else if (!strcmp(Modifier, "sc")) {
260-
auto Ordering =
261-
NVPTX::Ordering(static_cast<NVPTX::OrderingUnderlyingType>(Imm));
262-
switch (Ordering) {
263-
// TODO: refactor fence insertion in ISelDagToDag instead of here
264-
// as part of implementing atomicrmw seq_cst.
265-
case NVPTX::Ordering::SequentiallyConsistent:
266-
O << "fence.sc.sys;\n\t";
267-
break;
268-
default:
269-
break;
270-
}
271259
} else if (!strcmp(Modifier, "addsp")) {
272260
switch (Imm) {
273261
case NVPTX::PTXLdStInstCode::GLOBAL:

llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -717,10 +717,10 @@ static unsigned int getCodeAddrSpace(MemSDNode *N) {
717717
struct OperationOrderings {
718718
NVPTX::OrderingUnderlyingType InstrOrdering;
719719
NVPTX::OrderingUnderlyingType FenceOrdering;
720-
OperationOrderings(NVPTX::Ordering o = NVPTX::Ordering::NotAtomic,
721-
NVPTX::Ordering f = NVPTX::Ordering::NotAtomic)
722-
: InstrOrdering(static_cast<NVPTX::OrderingUnderlyingType>(o)),
723-
FenceOrdering(static_cast<NVPTX::OrderingUnderlyingType>(f)) {}
720+
OperationOrderings(NVPTX::Ordering O = NVPTX::Ordering::NotAtomic,
721+
NVPTX::Ordering F = NVPTX::Ordering::NotAtomic)
722+
: InstrOrdering(static_cast<NVPTX::OrderingUnderlyingType>(O)),
723+
FenceOrdering(static_cast<NVPTX::OrderingUnderlyingType>(F)) {}
724724
};
725725

726726
static OperationOrderings
@@ -734,6 +734,8 @@ getOperationOrderings(MemSDNode *N, const NVPTXSubtarget *Subtarget) {
734734
// clang-format off
735735

736736
// Lowering for Load/Store Operations (note: AcquireRelease Loads or Stores error).
737+
// Note: uses of Relaxed in the Atomic column of this table refer
738+
// to LLVM AtomicOrdering::Monotonic.
737739
//
738740
// | Atomic | Volatile | Statespace | PTX sm_60- | PTX sm_70+ |
739741
// |---------|----------|--------------------|------------|------------------------------|
@@ -1153,7 +1155,7 @@ bool NVPTXDAGToDAGISel::tryLoad(SDNode *N) {
11531155
case NVPTX::Ordering::SequentiallyConsistent: {
11541156
unsigned Op = Subtarget->hasMemoryOrdering()
11551157
? NVPTX::atomic_thread_fence_seq_cst_sys
1156-
: NVPTX::atomic_thread_fence_seq_cst_sys_membar;
1158+
: NVPTX::INT_MEMBAR_SYS;
11571159
Chain = SDValue(CurDAG->getMachineNode(Op, dl, MVT::Other, Chain), 0);
11581160
break;
11591161
}
@@ -1316,7 +1318,7 @@ bool NVPTXDAGToDAGISel::tryLoadVector(SDNode *N) {
13161318
case NVPTX::Ordering::SequentiallyConsistent: {
13171319
unsigned Op = Subtarget->hasMemoryOrdering()
13181320
? NVPTX::atomic_thread_fence_seq_cst_sys
1319-
: NVPTX::atomic_thread_fence_seq_cst_sys_membar;
1321+
: NVPTX::INT_MEMBAR_SYS;
13201322
Chain = SDValue(CurDAG->getMachineNode(Op, DL, MVT::Other, Chain), 0);
13211323
break;
13221324
}
@@ -1988,7 +1990,7 @@ bool NVPTXDAGToDAGISel::tryStore(SDNode *N) {
19881990
case NVPTX::Ordering::SequentiallyConsistent: {
19891991
unsigned Op = Subtarget->hasMemoryOrdering()
19901992
? NVPTX::atomic_thread_fence_seq_cst_sys
1991-
: NVPTX::atomic_thread_fence_seq_cst_sys_membar;
1993+
: NVPTX::INT_MEMBAR_SYS;
19921994
Chain = SDValue(CurDAG->getMachineNode(Op, dl, MVT::Other, Chain), 0);
19931995
break;
19941996
}
@@ -2148,7 +2150,7 @@ bool NVPTXDAGToDAGISel::tryStoreVector(SDNode *N) {
21482150
case NVPTX::Ordering::SequentiallyConsistent: {
21492151
unsigned Op = Subtarget->hasMemoryOrdering()
21502152
? NVPTX::atomic_thread_fence_seq_cst_sys
2151-
: NVPTX::atomic_thread_fence_seq_cst_sys_membar;
2153+
: NVPTX::INT_MEMBAR_SYS;
21522154
Chain = SDValue(CurDAG->getMachineNode(Op, DL, MVT::Other, Chain), 0);
21532155
break;
21542156
}

0 commit comments

Comments
 (0)