X-Git-Url: https://git.gag.com/?a=blobdiff_plain;ds=sidebyside;f=src%2FSDCCicode.h;h=87b3bc904dc8850603e0c3dddd7442e6db9299da;hb=b9f177d96cbff206932dc4fc93a902cebb29b2af;hp=2968911f04d037a4276af6add82262cb67c81862;hpb=6a370e6ab695babec796a8f30b7a03a6bc9dc77d;p=fw%2Fsdcc diff --git a/src/SDCCicode.h b/src/SDCCicode.h index 2968911f..87b3bc90 100644 --- a/src/SDCCicode.h +++ b/src/SDCCicode.h @@ -211,9 +211,7 @@ iCodeTable; x->op == LABEL || \ x->op == FUNCTION || \ x->op == INLINEASM || \ - x->op == ENDFUNCTION || \ - x->op == CRITICAL || \ - x->op == ENDCRITICAL ) + x->op == ENDFUNCTION ) #define SKIP_IC1(x) (x->op == CALL || \ SKIP_IC2(x) ) @@ -225,6 +223,8 @@ iCodeTable; x->op == RECEIVE || \ x->op == ARRAYINIT || \ SKIP_IC1(x) || \ + x->op == CRITICAL || \ + x->op == ENDCRITICAL || \ x->op == SEND ) #define SKIP_IC3(x) (SKIP_IC2(x) || \ @@ -256,6 +256,14 @@ iCodeTable; x->op == '|' || \ x->op == '^')) +#define IS_ASSOCIATIVE(x) (x && (x->op == EQ_OP || \ + x->op == NE_OP || \ + x->op == '+' || \ + x->op == '*' || \ + x->op == BITWISEAND || \ + x->op == '|' || \ + x->op == '^')) + #define ASSIGNMENT(ic) ( ic && ic->op == '=') #define ASSIGN_SYM_TO_ITEMP(ic) (ic && ic->op == '=' && \ @@ -322,6 +330,7 @@ int piCode (void *, FILE *); int printOperand (operand *, FILE *); void setOperandType (operand *, sym_link *); bool isOperandInFarSpace (operand *); +bool isOperandInPagedSpace (operand *); bool isOperandInDirSpace (operand *); bool isOperandInCodeSpace (operand *); operand *opFromOpWithDU (operand *, bitVect *, bitVect *);