diff options
author | Nick Lewycky <nicholas@mxc.ca> | 2011-04-06 20:28:34 +0000 |
---|---|---|
committer | Nick Lewycky <nicholas@mxc.ca> | 2011-04-06 20:28:34 +0000 |
commit | ec5d1800f9baecb69289b18baefe593960b0d555 (patch) | |
tree | 150e01601ec9a3d5cba54756136d004391c24469 | |
parent | 70d4370b47cdd375bbea98e50452789fe4f1af04 (diff) |
Replace const std::vector& with ArrayRef in the type creation APIs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129024 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/DerivedTypes.h | 10 | ||||
-rw-r--r-- | lib/VMCore/Type.cpp | 9 | ||||
-rw-r--r-- | lib/VMCore/TypesContext.h | 9 |
3 files changed, 15 insertions, 13 deletions
diff --git a/include/llvm/DerivedTypes.h b/include/llvm/DerivedTypes.h index 56d1e3e237..cef7ec192d 100644 --- a/include/llvm/DerivedTypes.h +++ b/include/llvm/DerivedTypes.h @@ -19,6 +19,7 @@ #define LLVM_DERIVED_TYPES_H #include "llvm/Type.h" +#include "llvm/ADT/ArrayRef.h" #include "llvm/Support/DataTypes.h" namespace llvm { @@ -147,7 +148,7 @@ class FunctionType : public DerivedType { FunctionType(const FunctionType &); // Do not implement const FunctionType &operator=(const FunctionType &); // Do not implement - FunctionType(const Type *Result, const std::vector<const Type*> &Params, + FunctionType(const Type *Result, ArrayRef<const Type*> Params, bool IsVarArgs); public: @@ -156,7 +157,7 @@ public: /// static FunctionType *get( const Type *Result, ///< The result type - const std::vector<const Type*> &Params, ///< The types of the parameters + ArrayRef<const Type*> Params, ///< The types of the parameters bool isVarArg ///< Whether this is a variable argument length function ); @@ -237,14 +238,13 @@ class StructType : public CompositeType { friend class TypeMap<StructValType, StructType>; StructType(const StructType &); // Do not implement const StructType &operator=(const StructType &); // Do not implement - StructType(LLVMContext &C, - const std::vector<const Type*> &Types, bool isPacked); + StructType(LLVMContext &C, ArrayRef<const Type*> Types, bool isPacked); public: /// StructType::get - This static method is the primary way to create a /// StructType. /// static StructType *get(LLVMContext &Context, - const std::vector<const Type*> &Params, + ArrayRef<const Type*> Params, bool isPacked=false); /// StructType::get - Create an empty structure type. diff --git a/lib/VMCore/Type.cpp b/lib/VMCore/Type.cpp index be28ad1f71..b15304cc95 100644 --- a/lib/VMCore/Type.cpp +++ b/lib/VMCore/Type.cpp @@ -17,6 +17,7 @@ #include "llvm/Assembly/Writer.h" #include "llvm/LLVMContext.h" #include "llvm/Metadata.h" +#include "llvm/ADT/ArrayRef.h" #include "llvm/ADT/DepthFirstIterator.h" #include "llvm/ADT/StringExtras.h" #include "llvm/ADT/SCCIterator.h" @@ -460,7 +461,7 @@ bool FunctionType::isValidArgumentType(const Type *ArgTy) { } FunctionType::FunctionType(const Type *Result, - const std::vector<const Type*> &Params, + ArrayRef<const Type*> Params, bool IsVarArgs) : DerivedType(Result->getContext(), FunctionTyID), isVarArgs(IsVarArgs) { ContainedTys = reinterpret_cast<PATypeHandle*>(this+1); @@ -483,7 +484,7 @@ FunctionType::FunctionType(const Type *Result, } StructType::StructType(LLVMContext &C, - const std::vector<const Type*> &Types, bool isPacked) + ArrayRef<const Type*> Types, bool isPacked) : CompositeType(C, StructTyID) { ContainedTys = reinterpret_cast<PATypeHandle*>(this + 1); NumContainedTys = Types.size(); @@ -838,7 +839,7 @@ FunctionValType FunctionValType::get(const FunctionType *FT) { // FunctionType::get - The factory function for the FunctionType class... FunctionType *FunctionType::get(const Type *ReturnType, - const std::vector<const Type*> &Params, + ArrayRef<const Type*> Params, bool isVarArg) { FunctionValType VT(ReturnType, Params, isVarArg); FunctionType *FT = 0; @@ -915,7 +916,7 @@ bool VectorType::isValidElementType(const Type *ElemTy) { // StructType *StructType::get(LLVMContext &Context, - const std::vector<const Type*> &ETypes, + ArrayRef<const Type*> ETypes, bool isPacked) { StructValType STV(ETypes, isPacked); StructType *ST = 0; diff --git a/lib/VMCore/TypesContext.h b/lib/VMCore/TypesContext.h index 4694486c41..6fb53be959 100644 --- a/lib/VMCore/TypesContext.h +++ b/lib/VMCore/TypesContext.h @@ -15,6 +15,7 @@ #ifndef LLVM_TYPESCONTEXT_H #define LLVM_TYPESCONTEXT_H +#include "llvm/ADT/ArrayRef.h" #include "llvm/ADT/STLExtras.h" #include <map> @@ -157,8 +158,8 @@ class StructValType { std::vector<const Type*> ElTypes; bool packed; public: - StructValType(const std::vector<const Type*> &args, bool isPacked) - : ElTypes(args), packed(isPacked) {} + StructValType(ArrayRef<const Type*> args, bool isPacked) + : ElTypes(args.vec()), packed(isPacked) {} static StructValType get(const StructType *ST) { std::vector<const Type *> ElTypes; @@ -187,8 +188,8 @@ class FunctionValType { std::vector<const Type*> ArgTypes; bool isVarArg; public: - FunctionValType(const Type *ret, const std::vector<const Type*> &args, - bool isVA) : RetTy(ret), ArgTypes(args), isVarArg(isVA) {} + FunctionValType(const Type *ret, ArrayRef<const Type*> args, bool isVA) + : RetTy(ret), ArgTypes(args.vec()), isVarArg(isVA) {} static FunctionValType get(const FunctionType *FT); |