From 3c306e0899d1be0291a51db039e37cb31c9576a8 Mon Sep 17 00:00:00 2001 From: drmortalwombat <90205530+drmortalwombat@users.noreply.github.com> Date: Wed, 7 May 2025 13:13:33 +0200 Subject: [PATCH] Fix loss of register dependency chain when splitting 16bit adds into basic blocks --- oscar64/NativeCodeGenerator.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/oscar64/NativeCodeGenerator.cpp b/oscar64/NativeCodeGenerator.cpp index 8c3bb78..d9fb721 100644 --- a/oscar64/NativeCodeGenerator.cpp +++ b/oscar64/NativeCodeGenerator.cpp @@ -54527,7 +54527,7 @@ void NativeCodeProcedure::Compile(InterCodeProcedure* proc) mInterProc->mLinkerObject->mNativeProc = this; - CheckFunc = !strcmp(mIdent->mString, "main"); + CheckFunc = !strcmp(mIdent->mString, "growvoid"); int nblocks = proc->mBlocks.Size(); tblocks = new NativeCodeBasicBlock * [nblocks]; @@ -56171,7 +56171,10 @@ void NativeCodeProcedure::Optimize(void) ResetVisited(); if (mEntryBlock->ExpandADCToBranch(this)) + { changed = true; + BuildDataFlowSets(); + } } #endif