pike.git / src / peep.in

version» Context lines:

pike.git/src/peep.in:38:   CONST1 NEGATE : CONST_1   CONST_1 NEGATE : CONST1   NUMBER NEGATE : NEG_NUMBER($1a)   NEG_NUMBER NEGATE : NUMBER ($1a)   NUMBER [ $1a < 0 && !INT32_NEG_OVERFLOW($1a) ] : NEG_NUMBER (-$1a)   NEG_NUMBER [ $1a <= 0 && !INT32_NEG_OVERFLOW($1a) ] : NUMBER (-$1a)   NEGATE NEGATE :   CONST0 COMPL: CONST_1   CONST1 COMPL: NEG_NUMBER(2)   CONST_1 COMPL: CONST0 - NUMBER COMPL: NEG_NUMBER($1a+1) - NEG_NUMBER COMPL: NUMBER($1a-1) +    BIGNUM COMPL: NUMBER(-0x80000000) // Note: Invalid as NEG_NUMBER on 32bit!   COMPL COMPL :   NEGATE CONST_1 ADD_INTS : COMPL   NEGATE ADD_NEG_INT(1) : COMPL   NEGATE CONST1 SUBTRACT : COMPL   CONST1 ADD_INTS NEGATE : COMPL   ADD_INT(1) NEGATE : COMPL   CONST_1 SUBTRACT NEGATE : COMPL   COMPL CONST1 ADD_INTS : NEGATE   COMPL ADD_INT(1) : NEGATE
pike.git/src/peep.in:69:   CONST0 ASSIGN_LOCAL: CLEAR_LOCAL($2a) CONST0      LOCAL_2_LOCAL [$1a == $1b] :   GLOBAL ASSIGN_GLOBAL_AND_POP($1a) :      // Generated by for( int i=0; i<local; i++ ) where i is not used in   // the loop.   ASSIGN_LOCAL_NUMBER_AND_POP LOCAL($1a) : ASSIGN_LOCAL_NUMBER_AND_POP($1a,$1b) NUMBER($1b)   ASSIGN_GLOBAL_NUMBER_AND_POP GLOBAL($1a) : ASSIGN_GLOBAL_NUMBER_AND_POP($1a,$1b) NUMBER($1b)   NUMBER COMPL: NUMBER(~$1a) + NEG_NUMBER COMPL: NEG_NUMBER(~$1a)   ASSIGN_LOCAL_NUMBER_AND_POP LOCAL_LVALUE LOCAL($1a) : ASSIGN_LOCAL_NUMBER_AND_POP($1a,$1b) LOCAL_LVALUE($2a) NUMBER($1b)   ASSIGN_GLOBAL_NUMBER_AND_POP GLOBAL_LVALUE GLOBAL($1a) : ASSIGN_GLOBAL_NUMBER_AND_POP($1a,$1b) GLOBAL_LVALUE($2a) NUMBER($1b)   ASSIGN_LOCAL_NUMBER_AND_POP GLOBAL_LVALUE LOCAL($1a) : ASSIGN_LOCAL_NUMBER_AND_POP($1a,$1b) GLOBAL_LVALUE($2a) NUMBER($1b)      // Ok, this is ridiculously specific, but it is generated by for(..)   // when the variable is not used, like above, but for globals:   ASSIGN_GLOBAL_NUMBER_AND_POP[$1b > -0x80000000L] GLOBAL_LVALUE($1a) DEC: ASSIGN_GLOBAL_NUMBER_AND_POP($1a, $1b - 1) NUMBER($1b - 1)      ASSIGN_GLOBAL_NUMBER_AND_POP[$1b < 0x7fffffff] GLOBAL_LVALUE($1a) INC: ASSIGN_GLOBAL_NUMBER_AND_POP($1a, $1b + 1) NUMBER($1b + 1)   
pike.git/src/peep.in:151:      // CONST_1 MULTIPLY : NEGATE   // CONST0 MULTIPLY : POP_VALUE CONST0   // CONST1 MULTIPLY :   // NUMBER MULTIPLY [!($1a & ($1a - 1))]: NUMBER(my_log2($1a)) LSH      // CONST_1 DIVIDE : NEGATE   // CONST1 DIVIDE :   // NUMBER DIVIDE [!($1a & ($1a - 1))]: NUMBER(my_log2($1a)) RSH    - CONST0 SUBTRACT: - CONST0 XOR: - CONST_1 XOR: COMPL +    CONST0 RETURN: RETURN_0   CONST1 RETURN: RETURN_1   CONST0 VOLATILE_RETURN: RETURN_0   CONST1 VOLATILE_RETURN: RETURN_1   INC POP_VALUE: INC_AND_POP   POST_INC POP_VALUE: INC_AND_POP   DEC POP_VALUE: DEC_AND_POP   POST_DEC POP_VALUE: DEC_AND_POP   NOT BRANCH_WHEN_NON_ZERO: BRANCH_WHEN_ZERO($2a)   NOT BRANCH_WHEN_ZERO: BRANCH_WHEN_NON_ZERO($2a)
pike.git/src/peep.in:322:    X OR : OR_INT(Y); \    X XOR : XOR_INT(Y); \    X DIVIDE : DIVIDE_INT(Y);\    X MULTIPLY : MULTIPLY_INT(Y);      OPER_INT(NUMBER,$1a)   OPER_INT(NEG_NUMBER [!INT32_NEG_OVERFLOW($1a)], -$1a)   OPER_INT(CONST1,1)   OPER_INT(CONST_1,-1)   OPER_INT(BIGNUM,0x7fffffff) + OPER_INT(CONST0, 0)    - CONST0 MOD [ yyerror("Divide by constant 0"),1 ] : - CONST0 DIVIDE [ yyerror("Divide by constant 0"),1 ] : + MOD_INT(0) : "Division by constant 0." + DIVIDE_INT(0) : "Division by constant 0."    - CONST0 LSH : LSH_INT(0); - CONST0 RSH : RSH_INT(0); - CONST0 SUBTRACT : SUBTRACT_INT(0); - CONST0 ADD : ADD_INT(0); - CONST0 AND : AND_INT(0); - CONST0 OR : OR_INT(0); - CONST0 XOR : XOR_INT(0); - CONST0 MULTIPLY : MULTIPLY_INT(0); -  -  +    // Some noops related to the above opcodes.   // MOD_INT(1): POP_VALUE CONST0 // cf string % int ==> string   LSH_INT(0):   RSH_INT(0):   SUBTRACT_INT(0):   // ADD_INT(0): // cf string + int ==> string   AND_INT(0): POP_VALUE CONST0   AND_INT(-1):   OR_INT(0):   OR_INT(-1): POP_VALUE CONST_1