Allow copyRegToReg to emit cross register classes copies.
[oota-llvm.git] / include / llvm / DerivedTypes.h
index af58827c8812b89dc1ee57304107b56d3ada4276..ba35d783b8a546c3e8af0b5931d195a95158006f 100644 (file)
@@ -140,12 +140,12 @@ public:
 class FunctionType : public DerivedType {
   friend class TypeMap<FunctionValType, FunctionType>;
   bool isVarArgs;
-  ParamAttrsList *ParamAttrs;
+  const ParamAttrsList *ParamAttrs;
 
   FunctionType(const FunctionType &);                   // Do not implement
   const FunctionType &operator=(const FunctionType &);  // Do not implement
   FunctionType(const Type *Result, const std::vector<const Type*> &Params,
-               bool IsVarArgs, ParamAttrsList *Attrs = 0);
+               bool IsVarArgs, const ParamAttrsList *Attrs = 0);
 
 public:
   /// FunctionType::get - This static method is the primary way of constructing
@@ -155,7 +155,7 @@ public:
     const Type *Result, ///< The result type
     const std::vector<const Type*> &Params, ///< The types of the parameters
     bool isVarArg, ///< Whether this is a variable argument length function
-    ParamAttrsList *Attrs = 0
+    const ParamAttrsList *Attrs = 0
       ///< Indicates the parameter attributes to use, if any. The 0th entry
       ///< in the list refers to the return type. Parameters are numbered
       ///< starting at 1. This argument must be on the heap and FunctionType
@@ -267,7 +267,7 @@ public:
 };
 
 
-/// SequentialType - This is the superclass of the array, pointer and packed
+/// SequentialType - This is the superclass of the array, pointer and vector
 /// type classes.  All of these represent "arrays" in memory.  The array type
 /// represents a specifically sized array, pointer types are unsized/unknown
 /// size arrays, vector types represent specifically sized arrays that