X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2FSDCCloop.c;h=fc928630bd241126a69b05e6f05ffcf700181dc4;hb=a71e3529acf4739d5c8590d2507cd0929efb52a1;hp=6a5b239fcb5be9b961f5f1c477a39c79dfef49cd;hpb=71956f8a426b3f69d3e1428ecff6601c03981969;p=fw%2Fsdcc diff --git a/src/SDCCloop.c b/src/SDCCloop.c index 6a5b239f..fc928630 100644 --- a/src/SDCCloop.c +++ b/src/SDCCloop.c @@ -46,7 +46,7 @@ newInduction (operand * sym, unsigned int op, ip->op = op; ip->cval = constVal; ip->ic = ic; - + updateSpillLocation(ic,1); return ip; } @@ -758,8 +758,8 @@ basicInduction (region * loopReg, eBBlock ** ebbs, int count) continue; aSym = (IS_OP_LITERAL (IC_RIGHT (dic)) ? - (litValue = operandLitValue (IC_RIGHT (dic)), IC_LEFT (dic)) : - (litValue = operandLitValue (IC_LEFT (dic)), IC_RIGHT (dic))); + (litValue = (unsigned long) operandLitValue (IC_RIGHT (dic)), IC_LEFT (dic)) : + (litValue = (unsigned long) operandLitValue (IC_LEFT (dic)), IC_RIGHT (dic))); if (!isOperandEqual (IC_RESULT (ic), aSym) && !isOperandEqual (IC_RIGHT (ic), aSym)) @@ -937,8 +937,8 @@ loopInduction (region * loopReg, eBBlock ** ebbs, int count) continue; aSym = (IS_SYMOP (IC_LEFT (ic)) ? - (lr = 1, litVal = operandLitValue (IC_RIGHT (ic)), IC_LEFT (ic)) : - (litVal = operandLitValue (IC_LEFT (ic)), IC_RIGHT (ic))); + (lr = 1, litVal = (unsigned long) operandLitValue (IC_RIGHT (ic)), IC_LEFT (ic)) : + (litVal = (unsigned long) operandLitValue (IC_LEFT (ic)), IC_RIGHT (ic))); ip = NULL; /* check if this is an induction variable */ @@ -947,8 +947,8 @@ loopInduction (region * loopReg, eBBlock ** ebbs, int count) /* ask port for size not worth if native instruction exist for multiply & divide */ - if (getSize (operandType (IC_LEFT (ic))) <= port->muldiv.native_below || - getSize (operandType (IC_RIGHT (ic))) <= port->muldiv.native_below) + if (getSize (operandType (IC_LEFT (ic))) <= (unsigned long) port->support.muldiv || + getSize (operandType (IC_RIGHT (ic))) <= (unsigned long) port->support.muldiv) continue; /* if this is a division then the remainder should be zero