Fix invalid index propagation

This commit is contained in:
drmortalwombat 2024-07-10 18:49:10 +02:00
parent 68a648440a
commit 85f01b833c

View File

@ -46923,7 +46923,7 @@ bool NativeCodeBasicBlock::PeepHoleOptimizerIterateN(int i, int pass)
return true; return true;
} }
} }
else else if (mIns[i + 3].mAddress != mIns[i + 1].mAddress)
{ {
mProc->ResetPatched(); mProc->ResetPatched();
if (CheckForwardSumYPointer(this, mIns[i + 3].mAddress, mIns[i + 1].mAddress, mIns[i + 3], i + 7, yval, 3)) if (CheckForwardSumYPointer(this, mIns[i + 3].mAddress, mIns[i + 1].mAddress, mIns[i + 3], i + 7, yval, 3))
@ -49510,7 +49510,7 @@ void NativeCodeProcedure::Compile(InterCodeProcedure* proc)
mInterProc = proc; mInterProc = proc;
mInterProc->mLinkerObject->mNativeProc = this; mInterProc->mLinkerObject->mNativeProc = this;
CheckFunc = !strcmp(mInterProc->mIdent->mString, "clz"); CheckFunc = !strcmp(mInterProc->mIdent->mString, "format_insert2");
int nblocks = proc->mBlocks.Size(); int nblocks = proc->mBlocks.Size();
tblocks = new NativeCodeBasicBlock * [nblocks]; tblocks = new NativeCodeBasicBlock * [nblocks];