From 4fb5ea3196a50fa44d037e76788678ed3bc0dfbe Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Thu, 27 Aug 2020 11:53:44 -0700 Subject: [PATCH] Cast intrinsic fix --- IDEHelper/Compiler/BfIRCodeGen.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/IDEHelper/Compiler/BfIRCodeGen.cpp b/IDEHelper/Compiler/BfIRCodeGen.cpp index 5f01551c..b0453376 100644 --- a/IDEHelper/Compiler/BfIRCodeGen.cpp +++ b/IDEHelper/Compiler/BfIRCodeGen.cpp @@ -3152,8 +3152,15 @@ void BfIRCodeGen::HandleNextCmd() auto arg0Type = args[0]->getType(); if (arg0Type->isPointerTy()) { - auto castedRes = mIRBuilder->CreateBitCast(args[0], intrinsicData->mReturnType->getPointerTo()); - SetResult(curId, mIRBuilder->CreateAlignedLoad(castedRes, 1)); + if (intrinsicData->mReturnType->isPointerTy()) + { + SetResult(curId, mIRBuilder->CreateBitCast(args[0], intrinsicData->mReturnType)); + } + else + { + auto castedRes = mIRBuilder->CreateBitCast(args[0], intrinsicData->mReturnType->getPointerTo()); + SetResult(curId, mIRBuilder->CreateAlignedLoad(castedRes, 1)); + } } else {