ConstantArray::get and ConstantStruct::get now just return pointers to
authorChris Lattner <sabre@nondot.org>
Sun, 15 Feb 2004 04:14:47 +0000 (04:14 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 15 Feb 2004 04:14:47 +0000 (04:14 +0000)
'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

include/llvm/Constants.h
lib/VMCore/Constants.cpp

index 7e72879418110b5d9388270aa71a69bc7abef6f9..0921cbb21bb6299a6ed355f94664007c3cd35816 100644 (file)
@@ -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 {
index 06f23c165ecf5083e6dab7532beb094e78b44134..e13a1daad52d8a9907076e2ac40ba3e1d26587d3 100644 (file)
@@ -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);
 }