forked from OSchip/llvm-project
parent
9fb50fe167
commit
d67f2a4493
|
@ -41,11 +41,29 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
// isArrayAllocation - Return true if there is an allocation size parameter
|
||||
// to the allocation instruction.
|
||||
//
|
||||
inline bool isArrayAllocation() const { return Operands.size() == 1; }
|
||||
|
||||
inline const Value *getArraySize() const {
|
||||
assert(isArrayAllocation()); return Operands[0];
|
||||
}
|
||||
inline Value *getArraySize() {
|
||||
assert(isArrayAllocation()); return Operands[0];
|
||||
}
|
||||
|
||||
// getType - Overload to return most specific pointer type...
|
||||
inline const PointerType *getType() const {
|
||||
return (const PointerType*)Instruction::getType();
|
||||
}
|
||||
|
||||
// getAllocatedType - Return the type that is being allocated by the
|
||||
// instruction.
|
||||
inline const Type *getAllocatedType() const {
|
||||
return getType()->getValueType();
|
||||
}
|
||||
|
||||
virtual Instruction *clone() const = 0;
|
||||
};
|
||||
|
||||
|
|
|
@ -188,6 +188,8 @@ public:
|
|||
Operands.push_back(Use(SA, this));
|
||||
}
|
||||
|
||||
OtherOps getOpcode() const { return (OtherOps)Instruction::getOpcode(); }
|
||||
|
||||
virtual Instruction *clone() const { return new ShiftInst(*this); }
|
||||
virtual const char *getOpcodeName() const {
|
||||
return getOpcode() == Shl ? "shl" : "shr";
|
||||
|
|
Loading…
Reference in New Issue