Branch: Tag:

1999-10-25

1999-10-25 10:19:36 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

no more overflows in peephole optimizer with AUTO_BIGNUM

Rev: src/peep.c:1.27
Rev: src/peep.in:1.26

1:   // - // $Id: peep.in,v 1.25 1999/06/07 22:48:47 hubbe Exp $ + // $Id: peep.in,v 1.26 1999/10/25 10:19:36 hubbe Exp $   //      NOP :
191:   APPLY ASSIGN_LOCAL_AND_POP : APPLY_ASSIGN_LOCAL_AND_POP($1a) BYTE($2a)   ASSIGN_LOCAL_AND_POP INC_LOCAL_AND_POP($1a) : ADD_INT(1) ASSIGN_LOCAL_AND_POP($1a)   ASSIGN_LOCAL_AND_POP DEC_LOCAL_AND_POP($1a) : ADD_NEG_INT(1) ASSIGN_LOCAL_AND_POP($1a) - NUMBER ADD_INT: NUMBER($1a+$2a) - NUMBER ADD_NEG_INT: NUMBER($1a-$2a) - NEG_NUMBER ADD_INT: NUMBER(-$1a+$2a) - NEG_NUMBER ADD_NEG_INT: NUMBER(-$1a-$2a) + NUMBER ADD_INT [ !INT_TYPE_ADD_OVERFLOW($1a, $2a) ] : NUMBER($1a+$2a) + NUMBER ADD_NEG_INT [ !INT_TYPE_SUB_OVERFLOW($1a, $2a) ]: NUMBER($1a-$2a) + NEG_NUMBER ADD_INT [ !INT_TYPE_ADD_OVERFLOW(-$1a, $2a) ]: NUMBER(-$1a+$2a) + NEG_NUMBER ADD_NEG_INT [ !INT_TYPE_SUB_OVERFLOW(-$1a, $2a) ]: NUMBER(-$1a-$2a)      LOCAL BRANCH_WHEN_NON_ZERO : BRANCH_IF_LOCAL($1a) POINTER($2a)   LOCAL BRANCH_WHEN_ZERO : BRANCH_IF_NOT_LOCAL($1a) POINTER($2a)