mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-17 21:29:20 +00:00
* AllocationInst ctor moved here from iMemory.h
* AllocationInst now always has an array size operand git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1939 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
05c0e9e562
commit
4fe130c22b
@ -12,6 +12,21 @@ static inline const Type *checkType(const Type *Ty) {
|
||||
return Ty;
|
||||
}
|
||||
|
||||
AllocationInst::AllocationInst(const Type *Ty, Value *ArraySize, unsigned iTy,
|
||||
const std::string &Name = "")
|
||||
: Instruction(Ty, iTy, Name) {
|
||||
assert(Ty->isPointerType() && "Can't allocate a non pointer type!");
|
||||
|
||||
// ArraySize defaults to 1.
|
||||
if (!ArraySize) ArraySize = ConstantUInt::get(Type::UIntTy, 1);
|
||||
|
||||
Operands.reserve(1);
|
||||
assert(ArraySize->getType() == Type::UIntTy &&
|
||||
"Malloc/Allocation array size != UIntTy!");
|
||||
|
||||
Operands.push_back(Use(ArraySize, this));
|
||||
}
|
||||
|
||||
bool AllocationInst::isArrayAllocation() const {
|
||||
return getNumOperands() == 1 &&
|
||||
getOperand(0) != ConstantUInt::get(Type::UIntTy, 1);
|
||||
|
Loading…
Reference in New Issue
Block a user