offset++, FALSE, FALSE, FALSE));
}
_endLazyDPSEvaluation ();
- tlbl = newiTempLabel (NULL);
tlbl = newiTempLabel (NULL);
aopPut (res->aop, one, 1);
/* bitwise operations are considered optimizable
under the following conditions (Jean-Louis VERN)
- x & lit
+ x & lit <== jwk: should be x && lit
bit & bit
bit & x
bit ^ bit
bit ^ x
- x ^ lit
- x | lit
+ x ^ lit <== jwk: should be x ^^ lit
+ x | lit <== jwk: should be x || lit
bit | bit
bit | x
*/
- if (IS_LITERAL (rtype) ||
+ if ( /* jwk IS_LITERAL (rtype) || */
(IS_BITVAR (ltype) && IN_BITSPACE (SPEC_OCLS (ltype))))
return TRUE;
else
is defined in the previous instruction then
mark the itemp as a conditional */
if ((IS_CONDITIONAL (ic) ||
- ((ic->op == BITWISEAND ||
- ic->op == '|' ||
- ic->op == '^') &&
- isBitwiseOptimizable (ic))) &&
+ (IS_BITWISE_OP(ic) && isBitwiseOptimizable(ic))) &&
ic->next && ic->next->op == IFX &&
isOperandEqual (IC_RESULT (ic), IC_COND (ic->next)) &&
OP_SYMBOL (IC_RESULT (ic))->liveTo <= ic->next->seq)
aopGet (op->aop,
offset++, FALSE, FALSE));
}
- tlbl = newiTempLabel (NULL);
tlbl = newiTempLabel (NULL);
aopPut (res->aop, one, 1);
/* bitwise operations are considered optimizable
under the following conditions (Jean-Louis VERN)
- x & lit
+ x & lit <== jwk: should be x && lit
bit & bit
bit & x
bit ^ bit
bit ^ x
- x ^ lit
- x | lit
+ x ^ lit <== jwk: should be x ^^ lit
+ x | lit <== jwk: should be x || lit
bit | bit
bit | x
*/
- if (IS_LITERAL (rtype) ||
+ if ( /* jwk IS_LITERAL (rtype) || */
(IS_BITVAR (ltype) && IN_BITSPACE (SPEC_OCLS (ltype))))
return TRUE;
else
/* TrueSym := iTempNN:1 */
for (ic = ebp->sch; ic; ic = ic->next)
{
-
-
/* find assignment of the form TrueSym := iTempNN:1 */
if (ic->op == '=' && !POINTER_SET (ic))
change += packRegsForAssign (ic, ebp);
is defined in the previous instruction then
mark the itemp as a conditional */
if ((IS_CONDITIONAL (ic) ||
- ((ic->op == BITWISEAND ||
- ic->op == '|' ||
- ic->op == '^') &&
- isBitwiseOptimizable (ic))) &&
+ (IS_BITWISE_OP(ic) && isBitwiseOptimizable (ic))) &&
ic->next && ic->next->op == IFX &&
isOperandEqual (IC_RESULT (ic), IC_COND (ic->next)) &&
OP_SYMBOL (IC_RESULT (ic))->liveTo <= ic->next->seq)
{
-
OP_SYMBOL (IC_RESULT (ic))->regType = REG_CND;
continue;
}