]> granicus.if.org Git - llvm/commit
Fix a bug in the definition of isUnordered on MachineMemOperand
authorPhilip Reames <listmail@philipreames.com>
Fri, 1 Feb 2019 19:08:59 +0000 (19:08 +0000)
committerPhilip Reames <listmail@philipreames.com>
Fri, 1 Feb 2019 19:08:59 +0000 (19:08 +0000)
commitcbc358acc70c67f3d902ad086c94d9d5f9b37d1b
tree1cc6f21374c9a1d9bebb3b91538933cd4759f435
parent37b280914ad056ccff3c6ef84cb2d6d05016c21a
Fix a bug in the definition of isUnordered on MachineMemOperand

Background: At the moment, we record the AtomicOrdering of an access in the MMO, but also mark any atomic access as volatile in SelectionDAG. GlobalISEL keeps the two separate, but currently doesn't know how to lower an atomic G_LOAD at all. See https://reviews.llvm.org/D57601 for context.

The definition used for unordered was only checking volatility, not atomicity. As noted above, all atomic MMOs are currently also volatile, so this is a latent bug only. Copy the definition used in IR, after auditing the two (2) uses of the function to be sure the desired semantics are the same.

Differential Revision: https://reviews.llvm.org/D57593

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@352898 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/MachineMemOperand.h