Fix short lea coalescing with negative offsets
This commit is contained in:
parent
bb01d1024a
commit
51c38a4723
|
@ -19220,8 +19220,10 @@ bool InterCodeBasicBlock::ShortLeaMerge(int& spareTemps)
|
||||||
|
|
||||||
if (found)
|
if (found)
|
||||||
{
|
{
|
||||||
mInstructions.Insert(0, iins[0]->Clone());
|
InterInstruction* lins = iins[0]->Clone();
|
||||||
iins[0]->mSrc[1].mIntConst = minint;
|
lins->mSrc[0].mRange.Reset();
|
||||||
|
lins->mSrc[1].mIntConst = minint;
|
||||||
|
mInstructions.Insert(0, lins);
|
||||||
|
|
||||||
if (iins[0]->mSrc[0].mTemp < 0)
|
if (iins[0]->mSrc[0].mTemp < 0)
|
||||||
{
|
{
|
||||||
|
@ -22913,7 +22915,7 @@ void InterCodeProcedure::Close(void)
|
||||||
{
|
{
|
||||||
GrowingTypeArray tstack(IT_NONE);
|
GrowingTypeArray tstack(IT_NONE);
|
||||||
|
|
||||||
CheckFunc = !strcmp(mIdent->mString, "main");
|
CheckFunc = !strcmp(mIdent->mString, "game_walking");
|
||||||
CheckCase = false;
|
CheckCase = false;
|
||||||
|
|
||||||
mEntryBlock = mBlocks[0];
|
mEntryBlock = mBlocks[0];
|
||||||
|
|
Loading…
Reference in New Issue