}
+LoadInst::LoadInst(Value *Ptr, const string &Name = "")
+ : MemAccessInst(cast<PointerType>(Ptr->getType())->getValueType(),
+ Load, vector<ConstPoolVal*>(), Name) {
+ Operands.reserve(1);
+ Operands.push_back(Use(Ptr, this));
+}
+
//===----------------------------------------------------------------------===//
// StoreInst Implementation
Operands.push_back(Use(Idx[i], this));
}
+StoreInst::StoreInst(Value *Val, Value *Ptr, const string &Name = "")
+ : MemAccessInst(Type::VoidTy, Store, vector<ConstPoolVal*>(), Name) {
+
+ Operands.reserve(2);
+ Operands.push_back(Use(Val, this));
+ Operands.push_back(Use(Ptr, this));
+}
+
//===----------------------------------------------------------------------===//
// GetElementPtrInst Implementation
GetElementPtrInst::GetElementPtrInst(Value *Ptr,
const vector<ConstPoolVal*> &Idx,
const string &Name = "")
- : MemAccessInst(PointerType::getPointerType(getIndexedType(Ptr->getType(),
- Idx, true)),
+ : MemAccessInst(PointerType::get(getIndexedType(Ptr->getType(), Idx, true)),
GetElementPtr, Idx, Name) {
assert(getIndexedType(Ptr->getType(), Idx, true) && "gep operands invalid!");
Operands.reserve(1+Idx.size());