aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-02-15 04:14:47 +0000
committerChris Lattner <sabre@nondot.org>2004-02-15 04:14:47 +0000
commitca705fa31d53469d2e6d0e52fa9e40d3e13a088a (patch)
tree937806d1f5e480c96a3067c3ab613c3307fcc2dd
parent04d1fb6df9799009c1ad7d7c5a6419d48c916ff7 (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.h7
-rw-r--r--lib/VMCore/Constants.cpp8
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);
}