Fix loss of register dependency chain when splitting 16bit adds into basic blocks

This commit is contained in:
drmortalwombat 2025-05-07 13:13:33 +02:00
parent e82ab0c7ca
commit 3c306e0899

View File

@ -54527,7 +54527,7 @@ void NativeCodeProcedure::Compile(InterCodeProcedure* proc)
mInterProc->mLinkerObject->mNativeProc = this; mInterProc->mLinkerObject->mNativeProc = this;
CheckFunc = !strcmp(mIdent->mString, "main"); CheckFunc = !strcmp(mIdent->mString, "growvoid");
int nblocks = proc->mBlocks.Size(); int nblocks = proc->mBlocks.Size();
tblocks = new NativeCodeBasicBlock * [nblocks]; tblocks = new NativeCodeBasicBlock * [nblocks];
@ -56171,7 +56171,10 @@ void NativeCodeProcedure::Optimize(void)
ResetVisited(); ResetVisited();
if (mEntryBlock->ExpandADCToBranch(this)) if (mEntryBlock->ExpandADCToBranch(this))
{
changed = true; changed = true;
BuildDataFlowSets();
}
} }
#endif #endif