Skip to content

Commit c5a7170

Browse files
committed
[NVPTX]: Remove redundant check and fix capitalization
1 parent 181806c commit c5a7170

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
@@ -741,7 +741,7 @@ static unsigned int getCodeMemorySemantic(MemSDNode *N,
741741
// | Relaxed | Yes | Generic / Shared [0] | .volatile | .volatile |
742742
// | Relaxed | Yes | Global [0] | .volatile | .mmio.relaxed.sys (PTX 8.2+) or .volatile (PTX 8.1-) |
743743
// | Relaxed | Yes | Local / Const / Param | plain [1] | .weak [1] |
744-
// | Other | Yes | Generic / Shared / Global [0] | Error [4] | <atomic sem> [3] |
744+
// | Other | Yes | Generic / Shared / Global [0] | Error [2] | <atomic sem> [3] |
745745

746746
// clang-format on
747747

@@ -763,7 +763,7 @@ static unsigned int getCodeMemorySemantic(MemSDNode *N,
763763
}
764764

765765
// [2]: Atomics with Ordering different than Relaxed are not supported on
766-
// sm_60 and older.
766+
// sm_60 and older; this includes volatile atomics.
767767
if (!(Ordering == AtomicOrdering::NotAtomic ||
768768
Ordering == AtomicOrdering::Monotonic) &&
769769
!HasMemoryOrdering) {
@@ -776,45 +776,32 @@ static unsigned int getCodeMemorySemantic(MemSDNode *N,
776776
}
777777

778778
// [3]: TODO: these should eventually use .mmio<.atomic sem>; for now we drop
779-
// the volatile semantics and preserve the atomic ones. [4]: TODO: volatile
780-
// atomics with order stronger than relaxed are currently unimplemented in
781-
// sm_60 and older.
782-
if (!HasMemoryOrdering && N->isVolatile() &&
783-
!(Ordering == AtomicOrdering::NotAtomic ||
784-
Ordering == AtomicOrdering::Monotonic)) {
785-
SmallString<256> Msg;
786-
raw_svector_ostream OS(Msg);
787-
OS << "PTX does not support \"volatile atomic\" for orderings different "
788-
"than \"NotAtomic\" or \"Monotonic\" for sm_60 and older, but order "
789-
"is: \""
790-
<< toIRString(Ordering) << "\".";
791-
report_fatal_error(OS.str());
792-
}
779+
// the volatile semantics and preserve the atomic ones.
793780

794781
// PTX volatile and PTX atomics are not available for statespace that differ
795782
// from .generic, .global, or .shared. The behavior of PTX volatile and PTX
796783
// atomics is undefined if the generic address does not refer to a .global or
797784
// .shared memory location.
798-
bool addrGenericOrGlobalOrShared =
785+
bool AddrGenericOrGlobalOrShared =
799786
(CodeAddrSpace == NVPTX::PTXLdStInstCode::GENERIC ||
800787
CodeAddrSpace == NVPTX::PTXLdStInstCode::GLOBAL ||
801788
CodeAddrSpace == NVPTX::PTXLdStInstCode::SHARED);
802-
bool useRelaxedMMIO =
789+
bool UseRelaxedMMIO =
803790
HasRelaxedMMIO && CodeAddrSpace == NVPTX::PTXLdStInstCode::GLOBAL;
804791

805792
switch (Ordering) {
806793
case AtomicOrdering::NotAtomic:
807-
return N->isVolatile() && addrGenericOrGlobalOrShared
794+
return N->isVolatile() && AddrGenericOrGlobalOrShared
808795
? NVPTX::PTXLdStInstCode::Volatile
809796
: NVPTX::PTXLdStInstCode::NotAtomic;
810797
case AtomicOrdering::Monotonic:
811798
if (N->isVolatile())
812-
return useRelaxedMMIO ? NVPTX::PTXLdStInstCode::RelaxedMMIO
813-
: addrGenericOrGlobalOrShared ? NVPTX::PTXLdStInstCode::Volatile
799+
return UseRelaxedMMIO ? NVPTX::PTXLdStInstCode::RelaxedMMIO
800+
: AddrGenericOrGlobalOrShared ? NVPTX::PTXLdStInstCode::Volatile
814801
: NVPTX::PTXLdStInstCode::NotAtomic;
815802
else
816803
return HasMemoryOrdering ? NVPTX::PTXLdStInstCode::Relaxed
817-
: addrGenericOrGlobalOrShared ? NVPTX::PTXLdStInstCode::Volatile
804+
: AddrGenericOrGlobalOrShared ? NVPTX::PTXLdStInstCode::Volatile
818805
: NVPTX::PTXLdStInstCode::NotAtomic;
819806
case AtomicOrdering::Acquire:
820807
if (!N->readMem()) {
@@ -825,7 +812,7 @@ static unsigned int getCodeMemorySemantic(MemSDNode *N,
825812
N->print(OS);
826813
report_fatal_error(OS.str());
827814
}
828-
return addrGenericOrGlobalOrShared ? NVPTX::PTXLdStInstCode::Acquire
815+
return AddrGenericOrGlobalOrShared ? NVPTX::PTXLdStInstCode::Acquire
829816
: NVPTX::PTXLdStInstCode::NotAtomic;
830817
case AtomicOrdering::Release:
831818
if (!N->writeMem()) {
@@ -836,7 +823,7 @@ static unsigned int getCodeMemorySemantic(MemSDNode *N,
836823
N->print(OS);
837824
report_fatal_error(OS.str());
838825
}
839-
return addrGenericOrGlobalOrShared ? NVPTX::PTXLdStInstCode::Release
826+
return AddrGenericOrGlobalOrShared ? NVPTX::PTXLdStInstCode::Release
840827
: NVPTX::PTXLdStInstCode::NotAtomic;
841828
case AtomicOrdering::AcquireRelease: {
842829
SmallString<256> Msg;

0 commit comments

Comments
 (0)