* src/SDCCcse.c (findCheaperOp): fixed bug 1376320, copy signedness to replacing...
[fw/sdcc] / src / SDCCicode.h
index 2968911f04d037a4276af6add82262cb67c81862..87b3bc904dc8850603e0c3dddd7442e6db9299da 100644 (file)
@@ -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 *);