Fix loss of type reduction in loop causing overflow error
This commit is contained in:
parent
242d7f1700
commit
bedafe7b6f
|
@ -15996,7 +15996,7 @@ bool InterCodeBasicBlock::SingleTailLoopOptimization(const NumberSet& aliasedPar
|
||||||
else if (nins->mCode == IC_BINARY_OPERATOR && nins->mOperator == IA_ADD && nins->mSrc[0].mTemp == lins->mDst.mTemp && !nins->mDst.IsNotUByte())
|
else if (nins->mCode == IC_BINARY_OPERATOR && nins->mOperator == IA_ADD && nins->mSrc[0].mTemp == lins->mDst.mTemp && !nins->mDst.IsNotUByte())
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
else
|
else if (lins->mSrc[0].IsUByte()) // ensure no overflow
|
||||||
{
|
{
|
||||||
int s = indexScale[lins->mSrc[0].mTemp];
|
int s = indexScale[lins->mSrc[0].mTemp];
|
||||||
|
|
||||||
|
@ -23433,7 +23433,7 @@ void InterCodeProcedure::Close(void)
|
||||||
{
|
{
|
||||||
GrowingTypeArray tstack(IT_NONE);
|
GrowingTypeArray tstack(IT_NONE);
|
||||||
|
|
||||||
CheckFunc = !strcmp(mIdent->mString, "close_op");
|
CheckFunc = !strcmp(mIdent->mString, "main");
|
||||||
CheckCase = false;
|
CheckCase = false;
|
||||||
|
|
||||||
mEntryBlock = mBlocks[0];
|
mEntryBlock = mBlocks[0];
|
||||||
|
|
Loading…
Reference in New Issue