Move init methods out of line to enable better assertions, contributed
authorChris Lattner <sabre@nondot.org>
Thu, 1 Jul 2004 20:22:31 +0000 (20:22 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 1 Jul 2004 20:22:31 +0000 (20:22 +0000)
by Vladimir Merzliakov!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14545 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/iMemory.h

index 1f9f25fce89cdc5ae2bdf7f2fb648edb687451e3..54215821b03d5126df1c8e68e4a7356b608f3916 100644 (file)
@@ -175,14 +175,10 @@ public:
 class LoadInst : public Instruction {
   LoadInst(const LoadInst &LI) : Instruction(LI.getType(), Load) {
     Volatile = LI.isVolatile();
-    Operands.reserve(1);
-    Operands.push_back(Use(LI.Operands[0], this));
+    init(LI.Operands[0]);
   }
   bool Volatile;   // True if this is a volatile load
-  void init(Value *Ptr) {
-    Operands.reserve(1);
-    Operands.push_back(Use(Ptr, this));
-  }
+  void init(Value *Ptr);
 public:
   LoadInst(Value *Ptr, const std::string &Name, Instruction *InsertBefore);
   LoadInst(Value *Ptr, const std::string &Name, BasicBlock *InsertAtEnd);
@@ -228,16 +224,10 @@ public:
 class StoreInst : public Instruction {
   StoreInst(const StoreInst &SI) : Instruction(SI.getType(), Store) {
     Volatile = SI.isVolatile();
-    Operands.reserve(2);
-    Operands.push_back(Use(SI.Operands[0], this));
-    Operands.push_back(Use(SI.Operands[1], this));
+    init(SI.Operands[0], SI.Operands[1]);
   }
   bool Volatile;   // True if this is a volatile store
-  void init(Value *Val, Value *Ptr) {
-    Operands.reserve(2);
-    Operands.push_back(Use(Val, this));
-    Operands.push_back(Use(Ptr, this));
-  }
+  void init(Value *Val, Value *Ptr);
 public:
   StoreInst(Value *Val, Value *Ptr, Instruction *InsertBefore);
   StoreInst(Value *Val, Value *Ptr, BasicBlock *InsertAtEnd);