projects
/
fw
/
sdcc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
zero changed to #0, one changed to #1
[fw/sdcc]
/
src
/
SDCCicode.h
diff --git
a/src/SDCCicode.h
b/src/SDCCicode.h
index 7641d538499ef9f4d0afe0452f77cbbf910aa235..51301d88f69a35d669fafc4b1fea992e5fafc03c 100644
(file)
--- a/
src/SDCCicode.h
+++ b/
src/SDCCicode.h
@@
-50,6
+50,8
@@
OPTYPE;
#define IS_SYMOP(op) (op && op->type == SYMBOL)
#define IS_VALOP(op) (op && op->type == VALUE)
#define IS_SYMOP(op) (op && op->type == SYMBOL)
#define IS_VALOP(op) (op && op->type == VALUE)
+#define IS_TYPOP(op) (op && op->type == TYPE)
+
#define ADDTOCHAIN(x) addSetHead(&iCodeChain,x)
#define LRFTYPE sym_link *ltype = operandType(left), \
#define ADDTOCHAIN(x) addSetHead(&iCodeChain,x)
#define LRFTYPE sym_link *ltype = operandType(left), \
@@
-130,6
+132,7
@@
typedef struct iCode
unsigned supportRtn:1; /* will cause a call to a support routine */
unsigned regsSaved:1; /* registers have been saved */
unsigned bankSaved:1; /* register bank has been saved */
unsigned supportRtn:1; /* will cause a call to a support routine */
unsigned regsSaved:1; /* registers have been saved */
unsigned bankSaved:1; /* register bank has been saved */
+ unsigned builtinSEND:1; /* SEND for parameter of builtin function */
struct iCode *next; /* next in chain */
struct iCode *prev; /* previous in chain */
struct iCode *next; /* next in chain */
struct iCode *prev; /* previous in chain */
@@
-182,6
+185,7
@@
typedef struct iCode
int parmBytes; /* if call/pcall, count of parameter bytes
on stack */
int parmBytes; /* if call/pcall, count of parameter bytes
on stack */
+ int eBBlockNum; /* belongs to which eBBlock */
}
iCode;
}
iCode;
@@
-214,6
+218,9
@@
iCodeTable;
SKIP_IC1(x)|| \
x->op == SEND )
SKIP_IC1(x)|| \
x->op == SEND )
+#define SKIP_IC3(x) (SKIP_IC2(x) || \
+ x->op == JUMPTABLE )
+
#define IS_CONDITIONAL(x) (x->op == EQ_OP || \
x->op == '<' || \
x->op == '>' || \
#define IS_CONDITIONAL(x) (x->op == EQ_OP || \
x->op == '<' || \
x->op == '>' || \
@@
-305,9
+312,11
@@
int piCode (void *, FILE *);
int printOperand (operand *, FILE *);
void setOperandType (operand *, sym_link *);
bool isOperandInFarSpace (operand *);
int printOperand (operand *, FILE *);
void setOperandType (operand *, sym_link *);
bool isOperandInFarSpace (operand *);
+bool isOperandInDirSpace (operand *);
operand *opFromOpWithDU (operand *, bitVect *, bitVect *);
iCode *copyiCode (iCode *);
operand *newiTempFromOp (operand *);
operand *opFromOpWithDU (operand *, bitVect *, bitVect *);
iCode *copyiCode (iCode *);
operand *newiTempFromOp (operand *);
+iCode *getBuiltinParms (iCode *,int *, operand **);
/*-----------------------------------------------------------------*/
/* declaration of exported variables */
/*-----------------------------------------------------------------*/
/*-----------------------------------------------------------------*/
/* declaration of exported variables */
/*-----------------------------------------------------------------*/