Skip to content

Commit d163bc5

Browse files
committed
[NVPTX]: Remove redundant check and fix capitalization
1 parent c29b1aa commit d163bc5

File tree

1 file changed

+11
-24
lines changed

1 file changed

+11
-24
lines changed

llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp

Lines changed: 11 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -727,7 +727,7 @@ static unsigned int getCodeMemorySemantic(MemSDNode *N,
727727
// | Relaxed | Yes | Generic / Shared [0] | .volatile | .volatile |
728728
// | Relaxed | Yes | Global [0] | .volatile | .mmio.relaxed.sys (PTX 8.2+) or .volatile (PTX 8.1-) |
729729
// | Relaxed | Yes | Local / Const / Param | plain [1] | .weak [1] |
730-
// | Other | Yes | Generic / Shared / Global [0] | Error [4] | <atomic sem> [3] |
730+
// | Other | Yes | Generic / Shared / Global [0] | Error [2] | <atomic sem> [3] |
731731

732732
// clang-format on
733733

@@ -749,7 +749,7 @@ static unsigned int getCodeMemorySemantic(MemSDNode *N,
749749
}
750750

751751
// [2]: Atomics with Ordering different than Relaxed are not supported on
752-
// sm_60 and older.
752+
// sm_60 and older; this includes volatile atomics.
753753
if (!(Ordering == AtomicOrdering::NotAtomic ||
754754
Ordering == AtomicOrdering::Monotonic) &&
755755
!HasMemoryOrdering) {
@@ -762,45 +762,32 @@ static unsigned int getCodeMemorySemantic(MemSDNode *N,
762762
}
763763

764764
// [3]: TODO: these should eventually use .mmio<.atomic sem>; for now we drop
765-
// the volatile semantics and preserve the atomic ones. [4]: TODO: volatile
766-
// atomics with order stronger than relaxed are currently unimplemented in
767-
// sm_60 and older.
768-
if (!HasMemoryOrdering && N->isVolatile() &&
769-
!(Ordering == AtomicOrdering::NotAtomic ||
770-
Ordering == AtomicOrdering::Monotonic)) {
771-
SmallString<256> Msg;
772-
raw_svector_ostream OS(Msg);
773-
OS << "PTX does not support \"volatile atomic\" for orderings different "
774-
"than \"NotAtomic\" or \"Monotonic\" for sm_60 and older, but order "
775-
"is: \""
776-
<< toIRString(Ordering) << "\".";
777-
report_fatal_error(OS.str());
778-
}
765+
// the volatile semantics and preserve the atomic ones.
779766

780767
// PTX volatile and PTX atomics are not available for statespace that differ
781768
// from .generic, .global, or .shared. The behavior of PTX volatile and PTX
782769
// atomics is undefined if the generic address does not refer to a .global or
783770
// .shared memory location.
784-
bool addrGenericOrGlobalOrShared =
771+
bool AddrGenericOrGlobalOrShared =
785772
(CodeAddrSpace == NVPTX::PTXLdStInstCode::GENERIC ||
786773
CodeAddrSpace == NVPTX::PTXLdStInstCode::GLOBAL ||
787774
CodeAddrSpace == NVPTX::PTXLdStInstCode::SHARED);
788-
bool useRelaxedMMIO =
775+
bool UseRelaxedMMIO =
789776
HasRelaxedMMIO && CodeAddrSpace == NVPTX::PTXLdStInstCode::GLOBAL;
790777

791778
switch (Ordering) {
792779
case AtomicOrdering::NotAtomic:
793-
return N->isVolatile() && addrGenericOrGlobalOrShared
780+
return N->isVolatile() && AddrGenericOrGlobalOrShared
794781
? NVPTX::PTXLdStInstCode::Volatile
795782
: NVPTX::PTXLdStInstCode::NotAtomic;
796783
case AtomicOrdering::Monotonic:
797784
if (N->isVolatile())
798-
return useRelaxedMMIO ? NVPTX::PTXLdStInstCode::RelaxedMMIO
799-
: addrGenericOrGlobalOrShared ? NVPTX::PTXLdStInstCode::Volatile
785+
return UseRelaxedMMIO ? NVPTX::PTXLdStInstCode::RelaxedMMIO
786+
: AddrGenericOrGlobalOrShared ? NVPTX::PTXLdStInstCode::Volatile
800787
: NVPTX::PTXLdStInstCode::NotAtomic;
801788
else
802789
return HasMemoryOrdering ? NVPTX::PTXLdStInstCode::Relaxed
803-
: addrGenericOrGlobalOrShared ? NVPTX::PTXLdStInstCode::Volatile
790+
: AddrGenericOrGlobalOrShared ? NVPTX::PTXLdStInstCode::Volatile
804791
: NVPTX::PTXLdStInstCode::NotAtomic;
805792
case AtomicOrdering::Acquire:
806793
if (!N->readMem()) {
@@ -811,7 +798,7 @@ static unsigned int getCodeMemorySemantic(MemSDNode *N,
811798
N->print(OS);
812799
report_fatal_error(OS.str());
813800
}
814-
return addrGenericOrGlobalOrShared ? NVPTX::PTXLdStInstCode::Acquire
801+
return AddrGenericOrGlobalOrShared ? NVPTX::PTXLdStInstCode::Acquire
815802
: NVPTX::PTXLdStInstCode::NotAtomic;
816803
case AtomicOrdering::Release:
817804
if (!N->writeMem()) {
@@ -822,7 +809,7 @@ static unsigned int getCodeMemorySemantic(MemSDNode *N,
822809
N->print(OS);
823810
report_fatal_error(OS.str());
824811
}
825-
return addrGenericOrGlobalOrShared ? NVPTX::PTXLdStInstCode::Release
812+
return AddrGenericOrGlobalOrShared ? NVPTX::PTXLdStInstCode::Release
826813
: NVPTX::PTXLdStInstCode::NotAtomic;
827814
case AtomicOrdering::AcquireRelease: {
828815
SmallString<256> Msg;

0 commit comments

Comments
 (0)