From 096d9efcd98a153c4d135abbcf2e8016148b2190 Mon Sep 17 00:00:00 2001 From: drmortalwombat <90205530+drmortalwombat@users.noreply.github.com> Date: Mon, 27 Feb 2023 15:38:19 +0100 Subject: [PATCH] Fix over eager taxa range reduction --- oscar64/NativeCodeGenerator.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/oscar64/NativeCodeGenerator.cpp b/oscar64/NativeCodeGenerator.cpp index 06817d9a..f38b1941 100644 --- a/oscar64/NativeCodeGenerator.cpp +++ b/oscar64/NativeCodeGenerator.cpp @@ -20904,6 +20904,8 @@ bool NativeCodeBasicBlock::JoinTAXARange(int from, int to) { if (mIns[i].mMode == ASMIM_ZERO_PAGE && mIns[i].mAddress == mIns[start - 1].mAddress && mIns[i].ChangesAddress()) return false; + if ((mIns[start - 1].mLive & LIVE_CPU_REG_C) && mIns[i].ChangesCarry()) + return false; } start--; @@ -35952,7 +35954,7 @@ void NativeCodeProcedure::RebuildEntry(void) void NativeCodeProcedure::Optimize(void) { - CheckFunc = !strcmp(mInterProc->mIdent->mString, "rirq_sort"); + CheckFunc = !strcmp(mInterProc->mIdent->mString, "main"); #if 1 int step = 0;