Line 95... |
Line 95... |
|
|
#define log(x...) fprintf (flog, x)
|
#define log(x...) fprintf (flog, x)
|
|
|
#define cucdebug(x,s...) {if ((x) <= cuc_debug) printf (s);}
|
#define cucdebug(x,s...) {if ((x) <= cuc_debug) printf (s);}
|
|
|
|
#define CUC_WIDTH_ITERATIONS 1000
|
|
|
/* Options */
|
/* Options */
|
/* Whether we are debugging cuc (0-9) */
|
/* Whether we are debugging cuc (0-9) */
|
extern int cuc_debug;
|
extern int cuc_debug;
|
|
|
/* Temporary registers by software convention */
|
/* Temporary registers by software convention */
|
Line 146... |
Line 148... |
int opt[MAX_OPERANDS]; /* operand types */
|
int opt[MAX_OPERANDS]; /* operand types */
|
unsigned long op[MAX_OPERANDS]; /* operand values */
|
unsigned long op[MAX_OPERANDS]; /* operand values */
|
dep_list *dep; /* instruction dependencies */
|
dep_list *dep; /* instruction dependencies */
|
unsigned long insn; /* Instruction opcode */
|
unsigned long insn; /* Instruction opcode */
|
char disasm[40]; /* disassembled string */
|
char disasm[40]; /* disassembled string */
|
|
unsigned long max; /* max result value */
|
int tmp;
|
int tmp;
|
} cuc_insn;
|
} cuc_insn;
|
|
|
/* Basic block entity */
|
/* Basic block entity */
|
typedef struct {
|
typedef struct {
|
Line 292... |
Line 295... |
/* Calculate timings */
|
/* Calculate timings */
|
void analyse_timings (cuc_func *func, cuc_timings *timings);
|
void analyse_timings (cuc_func *func, cuc_timings *timings);
|
|
|
/* Calculates facts, that are determined by conditionals */
|
/* Calculates facts, that are determined by conditionals */
|
void insert_conditional_facts (cuc_func *func);
|
void insert_conditional_facts (cuc_func *func);
|
|
|
|
/* Width optimization -- detect maximum values */
|
|
void detect_max_values (cuc_func *f);
|
|
|
#endif /* __DATAF_H__ */
|
#endif /* __DATAF_H__ */
|
|
|
No newline at end of file
|
No newline at end of file
|