Add a chain to FORMAL_ARGUMENTS.
[oota-llvm.git] / include / llvm / Value.h
index 8b6601d6959b4db4dfcdeefbe7ff30ed6f1c1a9b..5c50fd0a5d3b3104f64b803c9e23b92f4148ffed 100644 (file)
@@ -31,6 +31,7 @@ class BasicBlock;
 class GlobalValue;
 class Function;
 class GlobalVariable;
+class InlineAsm;
 class SymbolTable;
 
 //===----------------------------------------------------------------------===//
@@ -51,7 +52,8 @@ private:
   PATypeHolder Ty;
   Use *UseList;
 
-  friend class SymbolTable;    // Allow SymbolTable to directly poke Name.
+  friend class ValueSymbolTable; // Allow ValueSymbolTable to directly mod Name.
+  friend class SymbolTable;      // Allow SymbolTable to directly poke Name.
   std::string Name;
 
   void operator=(const Value &);     // Do not implement
@@ -154,6 +156,7 @@ public:
     ConstantStructVal,        // This is an instance of ConstantStruct
     ConstantPackedVal,        // This is an instance of ConstantPacked
     ConstantPointerNullVal,   // This is an instance of ConstantPointerNull
+    InlineAsmVal,             // This is an instance of InlineAsm
     InstructionVal,           // This is an instance of Instruction
     
     // Markers:
@@ -165,7 +168,7 @@ public:
   }
 
   // Methods for support type inquiry through isa, cast, and dyn_cast:
-  static inline bool classof(const Value * /*V*/) {
+  static inline bool classof(const Value *) {
     return true; // Values are always values.
   }
 
@@ -211,6 +214,9 @@ template <> inline bool isa_impl<Constant, Value>(const Value &Val) {
 template <> inline bool isa_impl<Argument, Value>(const Value &Val) {
   return Val.getValueType() == Value::ArgumentVal;
 }
+template <> inline bool isa_impl<InlineAsm, Value>(const Value &Val) {
+  return Val.getValueType() == Value::InlineAsmVal;
+}
 template <> inline bool isa_impl<Instruction, Value>(const Value &Val) {
   return Val.getValueType() >= Value::InstructionVal;
 }