Relax zero page value forwarding intersection rules

This commit is contained in:
drmortalwombat 2023-03-01 18:43:35 +01:00
parent df89082846
commit e09361295e

View File

@ -232,11 +232,13 @@ void NativeRegisterDataSet::Intersect(const NativeRegisterDataSet& set)
mRegs[i].Reset(); mRegs[i].Reset();
changed = true; changed = true;
} }
#if 0
else if (mRegs[mRegs[i].mValue].mValue != set.mRegs[set.mRegs[i].mValue].mValue) else if (mRegs[mRegs[i].mValue].mValue != set.mRegs[set.mRegs[i].mValue].mValue)
{ {
mRegs[i].Reset(); mRegs[i].Reset();
changed = true; changed = true;
} }
#endif
} }
else if (mRegs[i].mMode == NRDM_ABSOLUTE) else if (mRegs[i].mMode == NRDM_ABSOLUTE)
{ {
@ -15451,7 +15453,6 @@ bool NativeCodeBasicBlock::ExpandADCToBranch(NativeCodeProcedure* proc)
{ {
if (mTrueJump->mIns[0].mType == ASMIT_STA && mTrueJump->mIns[0].mMode == ASMIM_ZERO_PAGE && !mFalseJump->mEntryRequiredRegs[mTrueJump->mIns[0].mAddress]) if (mTrueJump->mIns[0].mType == ASMIT_STA && mTrueJump->mIns[0].mMode == ASMIM_ZERO_PAGE && !mFalseJump->mEntryRequiredRegs[mTrueJump->mIns[0].mAddress])
{ {
printf("Blumb");
if (mIns[sz - 1].mMode == ASMIM_IMMEDIATE) if (mIns[sz - 1].mMode == ASMIM_IMMEDIATE)
{ {
mIns.Insert(sz - 1, mTrueJump->mIns[0]); mIns.Insert(sz - 1, mTrueJump->mIns[0]);
@ -35984,7 +35985,7 @@ void NativeCodeProcedure::RebuildEntry(void)
void NativeCodeProcedure::Optimize(void) void NativeCodeProcedure::Optimize(void)
{ {
CheckFunc = !strcmp(mInterProc->mIdent->mString, "main"); CheckFunc = !strcmp(mInterProc->mIdent->mString, "tile_dig");
#if 1 #if 1
int step = 0; int step = 0;