add getVectorOperand/getIndexOperand accessors to ExtractElementInst.

Fix some const correctness problems in SelectInst.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81183 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2009-09-08 03:32:53 +00:00
parent 4b6af8aa5b
commit 9715912978

View File

@ -1217,9 +1217,12 @@ public:
return new(3) SelectInst(C, S1, S2, NameStr, InsertAtEnd);
}
Value *getCondition() const { return Op<0>(); }
Value *getTrueValue() const { return Op<1>(); }
Value *getFalseValue() const { return Op<2>(); }
const Value *getCondition() const { return Op<0>(); }
const Value *getTrueValue() const { return Op<1>(); }
const Value *getFalseValue() const { return Op<2>(); }
Value *getCondition() { return Op<0>(); }
Value *getTrueValue() { return Op<1>(); }
Value *getFalseValue() { return Op<2>(); }
/// areInvalidOperands - Return a string if the specified operands are invalid
/// for a select operation, otherwise return null.
@ -1312,6 +1315,16 @@ public:
virtual ExtractElementInst *clone(LLVMContext &Context) const;
Value *getVectorOperand() { return Op<0>(); }
Value *getIndexOperand() { return Op<1>(); }
const Value *getVectorOperand() const { return Op<0>(); }
const Value *getIndexOperand() const { return Op<1>(); }
const VectorType *getVectorOperandType() const {
return reinterpret_cast<const VectorType*>(Instruction::getType());
}
/// Transparently provide more efficient getOperand methods.
DECLARE_TRANSPARENT_OPERAND_ACCESSORS(Value);