Add logic to align instruction operands to columns for pretty-printing.
[oota-llvm.git] / include / llvm / Bitcode / Serialization.h
index 2e738b0ed37d44fae2676c6bb078d6be169ba2a4..2f0d35034c824cd6f95f61e5638307255d8c6a0b 100644 (file)
@@ -2,8 +2,8 @@
 //
 //                     The LLVM Compiler Infrastructure
 //
-// This file was developed by Ted Kremenek and is distributed under the
-// University of Illinois Open Source License. See LICENSE.TXT for details.
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
 //
 //===----------------------------------------------------------------------===//
 //
@@ -18,7 +18,7 @@
 #include "llvm/Bitcode/SerializationFwd.h"
 
 namespace llvm {
-  
+
 /// SerializeTrait - SerializeTrait bridges between the Serializer/Deserializer
 ///  and the functions that serialize objects of specific types.  The default
 ///  behavior is to call static methods of the class for the object being
@@ -37,7 +37,12 @@ template <typename T>
 struct SerializeTrait {
   static inline void Emit(Serializer& S, const T& X) { X.Emit(S); }
   static inline void Read(Deserializer& D, T& X) { X.Read(D); }
-  static inline T* Materialize(Deserializer& D) { return T::Materialize(D); }
+  static inline T* Create(Deserializer& D) { return T::Create(D); }
+
+  template <typename Arg1>
+  static inline T* Create(Deserializer& D, Arg1& arg1) {
+    return T::Create(D, arg1);
+  }
 };
 
 #define SERIALIZE_INT_TRAIT(TYPE)\
@@ -51,8 +56,13 @@ SERIALIZE_INT_TRAIT(unsigned short)
 SERIALIZE_INT_TRAIT(unsigned int)
 SERIALIZE_INT_TRAIT(unsigned long)
 
+SERIALIZE_INT_TRAIT(signed char)
+SERIALIZE_INT_TRAIT(signed short)
+SERIALIZE_INT_TRAIT(signed int)
+SERIALIZE_INT_TRAIT(signed long)
+
 #undef SERIALIZE_INT_TRAIT
-  
+
 } // end namespace llvm
 
 #endif