1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-10 04:22:20 +02:00

Cast intrinsic fix

This commit is contained in:
Brian Fiete 2020-08-27 11:53:44 -07:00
parent 122e321d1c
commit 4fb5ea3196

View file

@ -3151,10 +3151,17 @@ void BfIRCodeGen::HandleNextCmd()
{ {
auto arg0Type = args[0]->getType(); auto arg0Type = args[0]->getType();
if (arg0Type->isPointerTy()) if (arg0Type->isPointerTy())
{
if (intrinsicData->mReturnType->isPointerTy())
{
SetResult(curId, mIRBuilder->CreateBitCast(args[0], intrinsicData->mReturnType));
}
else
{ {
auto castedRes = mIRBuilder->CreateBitCast(args[0], intrinsicData->mReturnType->getPointerTo()); auto castedRes = mIRBuilder->CreateBitCast(args[0], intrinsicData->mReturnType->getPointerTo());
SetResult(curId, mIRBuilder->CreateAlignedLoad(castedRes, 1)); SetResult(curId, mIRBuilder->CreateAlignedLoad(castedRes, 1));
} }
}
else else
{ {
FatalError("Expected address"); FatalError("Expected address");