mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-13 04:38:24 +00:00
Revert 82694 "Auto-upgrade malloc instructions to malloc calls." because it causes regressions in the nightly tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82784 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -2046,21 +2046,14 @@ bool BitcodeReader::ParseFunctionBody(Function *F) {
|
||||
}
|
||||
|
||||
case bitc::FUNC_CODE_INST_MALLOC: { // MALLOC: [instty, op, align]
|
||||
// Autoupgrade malloc instruction to malloc call.
|
||||
if (Record.size() < 3)
|
||||
return Error("Invalid MALLOC record");
|
||||
const PointerType *Ty =
|
||||
dyn_cast_or_null<PointerType>(getTypeByID(Record[0]));
|
||||
Value *Size = getFnValueByID(Record[1], Type::getInt32Ty(Context));
|
||||
unsigned Align = Record[2];
|
||||
if (!Ty || !Size) return Error("Invalid MALLOC record");
|
||||
if (!CurBB) return Error("Invalid malloc instruction with no BB");
|
||||
const Type* Int32Ty = IntegerType::getInt32Ty(CurBB->getContext());
|
||||
if (Size->getType() != Int32Ty)
|
||||
Size = CastInst::CreateIntegerCast(Size, Int32Ty, false /*ZExt*/,
|
||||
"", CurBB);
|
||||
Value* Malloc = CallInst::CreateMalloc(CurBB, Int32Ty,
|
||||
Ty->getElementType(), Size, NULL);
|
||||
I = cast<Instruction>(Malloc);
|
||||
I = new MallocInst(Ty->getElementType(), Size, (1 << Align) >> 1);
|
||||
InstructionList.push_back(I);
|
||||
break;
|
||||
}
|
||||
|
Reference in New Issue
Block a user