1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-08 11:38:21 +02:00

Ensure blockExpr lifetimeStart doesn't insert above phi nodes

This commit is contained in:
Brian Fiete 2025-01-25 06:11:46 -08:00
parent 72d74149be
commit 2a85806580

View file

@ -3105,7 +3105,17 @@ void BfIRCodeGen::HandleNextCmd()
case BfIRCmd_SetInsertPointAtStart:
{
CMD_PARAM(llvm::BasicBlock*, block);
mIRBuilder->SetInsertPoint(block, block->begin());
auto itr = block->begin();
if (itr != block->end())
{
// Some instructructions MUST be at start of the block
auto instType = itr->getType();
if (llvm::PHINode::classof(&*itr))
++itr;
}
mIRBuilder->SetInsertPoint(block, itr);
// SetInsertPoint can clear the debug loc so reset it here
mIRBuilder->SetCurrentDebugLocation(mDebugLoc);
}