Let callers decide the sub-register index on the def operand of rematerialized instru...
[oota-llvm.git] / include / llvm / SymbolTableListTraits.h
index 44f64dc57f0c028b241711408b238846d04a039b..337b76f76680d4f36fed9e11fd1ee318c68792f7 100644 (file)
@@ -55,8 +55,12 @@ public:
   }
 
   static iplist<ValueSubClass> &getList(ItemParentClass *Par) {
-  return Par->*(Par->getSublistAccess((ValueSubClass*)0));
-}
+    return Par->*(Par->getSublistAccess((ValueSubClass*)0));
+  }
+
+  static ValueSymbolTable *getSymTab(ItemParentClass *Par) {
+    return Par ? toPtr(Par->getValueSymbolTable()) : 0;
+  }
 
   void addNodeToList(ValueSubClass *V);
   void removeNodeFromList(ValueSubClass *V);
@@ -66,6 +70,8 @@ public:
 //private:
   template<typename TPtr>
   void setSymTabObject(TPtr *, TPtr);
+  static ValueSymbolTable *toPtr(ValueSymbolTable *P) { return P; }
+  static ValueSymbolTable *toPtr(ValueSymbolTable &R) { return &R; }
 };
 
 } // End llvm namespace