add some helper methods.
authorChris Lattner <sabre@nondot.org>
Thu, 17 Jan 2008 07:30:38 +0000 (07:30 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 17 Jan 2008 07:30:38 +0000 (07:30 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46128 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/SelectionDAGNodes.h

index 95bcbb7e19519ba989d2cca5c8e698141f992d22..395f1bf3fdce8eb9418843f47f8eeb35fde3e148 100644 (file)
@@ -1562,6 +1562,12 @@ public:
   ISD::LoadExtType getExtensionType() const { return ExtType; }
   MVT::ValueType getLoadedVT() const { return LoadedVT; }
 
+  /// isIndexed - Return true if this is a pre/post inc/dec load.
+  bool isIndexed() const { return AddrMode != ISD::UNINDEXED; }
+  
+  /// isUnindexed - Return true if this is NOT a pre/post inc/dec load.
+  bool isUnindexed() const { return AddrMode == ISD::UNINDEXED; }
+  
   static bool classof(const LoadSDNode *) { return true; }
   static bool classof(const SDNode *N) {
     return N->getOpcode() == ISD::LOAD;
@@ -1594,16 +1600,21 @@ protected:
     Ops[3] = ChainValuePtrOff[3]; // Off
     InitOperands(Ops, 4);
     assert(Align != 0 && "Stores should have non-zero aligment");
-    assert((getOffset().getOpcode() == ISD::UNDEF || 
-            AddrMode != ISD::UNINDEXED) &&
+    assert((getOffset().getOpcode() == ISD::UNDEF || isIndexed()) &&
            "Only indexed store has a non-undef offset operand");
   }
 public:
 
-  ISD::MemIndexedMode getAddressingMode() const { return AddrMode; }
   bool isTruncatingStore() const { return IsTruncStore; }
   MVT::ValueType getStoredVT() const { return StoredVT; }
+  ISD::MemIndexedMode getAddressingMode() const { return AddrMode; }
+
+  /// isIndexed - Return true if this is a pre/post inc/dec store.
+  bool isIndexed() const { return AddrMode != ISD::UNINDEXED; }
 
+  /// isUnindexed - Return true if this is NOT a pre/post inc/dec store.
+  bool isUnindexed() const { return AddrMode == ISD::UNINDEXED; }
+  
   static bool classof(const StoreSDNode *) { return true; }
   static bool classof(const SDNode *N) {
     return N->getOpcode() == ISD::STORE;