SmallVector<unsigned, 4> Indices;
ExtractValueInst(const ExtractValueInst &EVI);
- void init(Value *Agg, const unsigned *Idx, unsigned NumIdx,
+ void init(const unsigned *Idx, unsigned NumIdx,
const std::string &Name);
- void init(Value *Agg, unsigned Idx, const std::string &Name);
+ void init(unsigned Idx, const std::string &Name);
template<typename InputIterator>
- void init(Value *Agg, InputIterator IdxBegin, InputIterator IdxEnd,
+ void init(InputIterator IdxBegin, InputIterator IdxEnd,
const std::string &Name,
// This argument ensures that we have an iterator we can
// do arithmetic on in constant time
assert(NumIdx > 0 && "ExtractValueInst must have at least one index");
// This requires that the iterator points to contiguous memory.
- init(Agg, &*IdxBegin, NumIdx, Name); // FIXME: for the general case
+ init(&*IdxBegin, NumIdx, Name); // FIXME: for the general case
// we have to build an array here
}
: UnaryInstruction(checkType(getIndexedType(Agg->getType(),
IdxBegin, IdxEnd)),
ExtractValue, Agg, InsertBefore) {
- init(Agg, IdxBegin, IdxEnd, Name,
+ init(IdxBegin, IdxEnd, Name,
typename std::iterator_traits<InputIterator>::iterator_category());
}
template<typename InputIterator>
: UnaryInstruction(checkType(getIndexedType(Agg->getType(),
IdxBegin, IdxEnd)),
ExtractValue, Agg, InsertAtEnd) {
- init(Agg, IdxBegin, IdxEnd, Name,
+ init(IdxBegin, IdxEnd, Name,
typename std::iterator_traits<InputIterator>::iterator_category());
}
// ExtractValueInst Class
//===----------------------------------------------------------------------===//
-void ExtractValueInst::init(Value *Agg, const unsigned *Idx, unsigned NumIdx,
+void ExtractValueInst::init(const unsigned *Idx, unsigned NumIdx,
const std::string &Name) {
assert(NumOperands == 1 && "NumOperands not initialized?");
- Op<0>() = Agg;
Indices.insert(Indices.end(), Idx, Idx + NumIdx);
setName(Name);
}
-void ExtractValueInst::init(Value *Agg, unsigned Idx, const std::string &Name) {
+void ExtractValueInst::init(unsigned Idx, const std::string &Name) {
assert(NumOperands == 1 && "NumOperands not initialized?");
- Op<0>() = Agg;
Indices.push_back(Idx);
setName(Name);
BasicBlock *InsertAtEnd)
: UnaryInstruction(checkType(getIndexedType(Agg->getType(), &Idx, 1)),
ExtractValue, Agg, InsertAtEnd) {
- init(Agg, Idx, Name);
+ init(Idx, Name);
}
ExtractValueInst::ExtractValueInst(Value *Agg,
Instruction *InsertBefore)
: UnaryInstruction(checkType(getIndexedType(Agg->getType(), &Idx, 1)),
ExtractValue, Agg, InsertBefore) {
- init(Agg, Idx, Name);
+ init(Idx, Name);
}
//===----------------------------------------------------------------------===//