From cf3290b04ad18e6329dd3efd67b0fabf0ca939d0 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 1 Jul 2004 20:22:31 +0000 Subject: [PATCH] Move init methods out of line to enable better assertions, contributed by Vladimir Merzliakov! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14545 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/iMemory.h | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/include/llvm/iMemory.h b/include/llvm/iMemory.h index 1f9f25fce89..54215821b03 100644 --- a/include/llvm/iMemory.h +++ b/include/llvm/iMemory.h @@ -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);