diff options
author | Chris Lattner <sabre@nondot.org> | 2004-02-15 04:14:47 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-02-15 04:14:47 +0000 |
commit | ca705fa31d53469d2e6d0e52fa9e40d3e13a088a (patch) | |
tree | 937806d1f5e480c96a3067c3ab613c3307fcc2dd | |
parent | 04d1fb6df9799009c1ad7d7c5a6419d48c916ff7 (diff) |
ConstantArray::get and ConstantStruct::get now just return pointers to
'Constant', instead of specific subclass pointers. In the future, these will
return an instance of ConstantAggregateZero if all of the inputs are zeros.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11467 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/Constants.h | 7 | ||||
-rw-r--r-- | lib/VMCore/Constants.cpp | 8 |
2 files changed, 7 insertions, 8 deletions
diff --git a/include/llvm/Constants.h b/include/llvm/Constants.h index 7e72879418..0921cbb21b 100644 --- a/include/llvm/Constants.h +++ b/include/llvm/Constants.h @@ -321,8 +321,8 @@ protected: ConstantArray(const ArrayType *T, const std::vector<Constant*> &Val); public: /// get() - Static factory methods - Return objects of the specified value - static ConstantArray *get(const ArrayType *T, const std::vector<Constant*> &); - static ConstantArray *get(const std::string &Initializer); + static Constant *get(const ArrayType *T, const std::vector<Constant*> &); + static Constant *get(const std::string &Initializer); /// getType - Specialize the getType() method to always return an ArrayType, /// which reduces the amount of casting needed in parts of the compiler. @@ -383,8 +383,7 @@ protected: ConstantStruct(const StructType *T, const std::vector<Constant*> &Val); public: /// get() - Static factory methods - Return objects of the specified value - static ConstantStruct *get(const StructType *T, - const std::vector<Constant*> &V); + static Constant *get(const StructType *T, const std::vector<Constant*> &V); /// getType() specialization - Reduce amount of casting... inline const StructType *getType() const { diff --git a/lib/VMCore/Constants.cpp b/lib/VMCore/Constants.cpp index 06f23c165e..e13a1daad5 100644 --- a/lib/VMCore/Constants.cpp +++ b/lib/VMCore/Constants.cpp @@ -786,7 +786,7 @@ namespace llvm { static ValueMap<std::vector<Constant*>, ArrayType, ConstantArray> ArrayConstants; -ConstantArray *ConstantArray::get(const ArrayType *Ty, +Constant *ConstantArray::get(const ArrayType *Ty, const std::vector<Constant*> &V) { return ArrayConstants.getOrCreate(Ty, V); } @@ -802,7 +802,7 @@ void ConstantArray::destroyConstant() { // contain the specified string. A null terminator is added to the specified // string so that it may be used in a natural way... // -ConstantArray *ConstantArray::get(const std::string &Str) { +Constant *ConstantArray::get(const std::string &Str) { std::vector<Constant*> ElementVals; for (unsigned i = 0; i < Str.length(); ++i) @@ -866,8 +866,8 @@ namespace llvm { static ValueMap<std::vector<Constant*>, StructType, ConstantStruct> StructConstants; -ConstantStruct *ConstantStruct::get(const StructType *Ty, - const std::vector<Constant*> &V) { +Constant *ConstantStruct::get(const StructType *Ty, + const std::vector<Constant*> &V) { return StructConstants.getOrCreate(Ty, V); } |