Those should have glc bit set for system and agent synchronization scopes
Diff Detail
Diff Detail
Event Timeline
lib/Target/AMDGPU/SIMemoryLegalizer.cpp | ||
---|---|---|
401–403 | Can this be expressed in terms of one of the isStrongerThan* helpers? |
Comment Actions
Do we need tests for 64-bit atomic loads? Do we need tests for cases where we get buffer instead of flat instructions?
Comment Actions
LGTM other than @arsenm suggestion which may apply to some other places too. AtomicOrdering.h does not seem to other useful queries such as isAcquire/isRelease that could be used.
lib/Target/AMDGPU/SIMemoryLegalizer.cpp | ||
---|---|---|
401–403 | Could probably be: if (isStrongerThanMonotonic(MOI.getOrdering())) { A load cannot be a release or acq_rel so returning true for those will not happen. |
Can this be expressed in terms of one of the isStrongerThan* helpers?