Fix over eager parameter reordering

This commit is contained in:
drmortalwombat 2024-05-01 15:30:18 +02:00
parent 976703f713
commit fb72e8baf8

View File

@ -898,7 +898,9 @@ bool InterCodeBasicBlock::CanSwapInstructions(const InterInstruction* ins0, cons
ins1->mCode == IC_PUSH_FRAME || ins1->mCode == IC_POP_FRAME || ins1->mCode == IC_MALLOC || ins1->mCode == IC_FREE) ins1->mCode == IC_PUSH_FRAME || ins1->mCode == IC_POP_FRAME || ins1->mCode == IC_MALLOC || ins1->mCode == IC_FREE)
return false; return false;
if (ins0->mSrc[0].mMemory == IM_PROCEDURE && ins0->mSrc[0].mLinkerObject && ins0->mSrc[0].mLinkerObject->mProc && ins0->mSrc[0].mLinkerObject->mProc->mParamVars.Size() == 0) if (ins0->mSrc[0].mMemory == IM_PROCEDURE && ins0->mSrc[0].mLinkerObject && ins0->mSrc[0].mLinkerObject->mProc &&
ins0->mSrc[0].mLinkerObject->mProc->mLeafProcedure &&
ins0->mSrc[0].mLinkerObject->mProc->mParamVars.Size() == 0)
{ {
if (ins1->mCode == IC_STORE) if (ins1->mCode == IC_STORE)
{ {