Fix __asume declaration in loop causing loss of temp chain

This commit is contained in:
drmortalwombat 2022-11-20 17:35:31 +01:00
parent c6d0f44364
commit a5a27c039e
2 changed files with 4 additions and 2 deletions

View File

@ -13674,6 +13674,8 @@ void InterCodeProcedure::Close(void)
BuildTraces(false);
DisassembleDebug("Rebuilt traces");
BuildDataFlowSets();
do {
TempForwarding();
} while (GlobalConstantPropagation());

View File

@ -28437,8 +28437,8 @@ bool NativeCodeBasicBlock::PeepHoleOptimizer(NativeCodeProcedure* proc, int pass
mIns[i + 0].mLive |= LIVE_CPU_REG_A;
mIns[i + 1].mLive |= LIVE_CPU_REG_A;
mIns[i + 3] = mIns[i + 2];
mIns[i + 3].mType = ASMIT_ADC;
mIns[i + 3].CopyMode(mIns[i + 2]);
mIns[i + 2].mType = ASMIT_CLC; mIns[i + 2].mMode = ASMIM_IMPLIED; mIns[i + 2].mLive |= LIVE_CPU_REG_C;
mIns[i + 4].mType = ASMIT_NOP; mIns[i + 4].mMode = ASMIM_IMPLIED;
mIns[i + 2].mLive |= mIns[i + 1].mLive;
@ -30847,7 +30847,7 @@ void NativeCodeProcedure::RebuildEntry(void)
void NativeCodeProcedure::Optimize(void)
{
CheckFunc = !strcmp(mInterProc->mIdent->mString, "plant_draw_field");
CheckFunc = !strcmp(mInterProc->mIdent->mString, "plant_place");
#if 1
int step = 0;