mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-29 22:50:47 +00:00
Add some useful accessors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1069 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
dbe0514e12
commit
b86751715c
@ -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
Block a user