Added MemOperands to Atomic operations since Atomics touches memory.
Added abstract class MemSDNode for any Node that have an associated MemOperand
Changed atomic.lcs => atomic.cmp.swap, atomic.las => atomic.load.add, and
atomic.lss => atomic.load.sub
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52706 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/utils/TableGen/CodeGenTarget.h b/utils/TableGen/CodeGenTarget.h
index 1191488..f53b6a9 100644
--- a/utils/TableGen/CodeGenTarget.h
+++ b/utils/TableGen/CodeGenTarget.h
@@ -30,6 +30,8 @@
class CodeGenTarget;
// SelectionDAG node properties.
+// SDNPMemOperand: indicates that a node touches memory and therefore must
+// have an associated memory operand that describes the access.
enum SDNP {
SDNPCommutative,
SDNPAssociative,
@@ -39,7 +41,8 @@
SDNPOptInFlag,
SDNPMayLoad,
SDNPMayStore,
- SDNPSideEffect
+ SDNPSideEffect,
+ SDNPMemOperand
};
// ComplexPattern attributes.