Line 71... |
Line 71... |
#define MO_STRONG 2 /* Same memory ordering, burst can be made, width can change */
|
#define MO_STRONG 2 /* Same memory ordering, burst can be made, width can change */
|
#define MO_EXACT 3 /* Exacltly the same memory ordering and widths */
|
#define MO_EXACT 3 /* Exacltly the same memory ordering and widths */
|
|
|
#define BB_INLOOP 0x01 /* This block is inside a loop */
|
#define BB_INLOOP 0x01 /* This block is inside a loop */
|
#define BB_OPTIONAL 0x02
|
#define BB_OPTIONAL 0x02
|
#define BB_END 0x04 /* Last block in a function */
|
#define BB_END 0x04 /* Whether this block is last */
|
#define BB_DEAD 0x08 /* This block is unaccessible -> to be removed */
|
#define BB_DEAD 0x08 /* This block is unaccessible -> to be removed */
|
|
|
|
#define BBID_END MAX_BB /* End pointer */
|
|
|
/* Various macros to minimize code size */
|
/* Various macros to minimize code size */
|
#define REF(bb,i) (((bb) * MAX_INSNS) + (i))
|
#define REF(bb,i) (((bb) * MAX_INSNS) + (i))
|
#define REF_BB(r) ((r) / MAX_INSNS)
|
#define REF_BB(r) ((r) / MAX_INSNS)
|
#define REF_I(r) ((r) % MAX_INSNS)
|
#define REF_I(r) ((r) % MAX_INSNS)
|
#define INSN(ref) bb[REF_BB(ref)].insn[REF_I(ref)]
|
#define INSN(ref) bb[REF_BB(ref)].insn[REF_I(ref)]
|
Line 213... |
Line 215... |
void generate_bb_seq (cuc_func *f, char *mp_filename, char *bb_filename);
|
void generate_bb_seq (cuc_func *f, char *mp_filename, char *bb_filename);
|
|
|
/* Prints out instructions */
|
/* Prints out instructions */
|
void print_insns (cuc_insn *insn, int size, int verbose);
|
void print_insns (cuc_insn *insn, int size, int verbose);
|
|
|
|
/* prints out bb string */
|
|
void print_bb_num (int num);
|
|
|
/* Print out basic blocks */
|
/* Print out basic blocks */
|
void print_cuc_bb (cuc_func *func, char *s);
|
void print_cuc_bb (cuc_func *func, char *s);
|
|
|
/* Duplicates function */
|
/* Duplicates function */
|
cuc_func *dup_func (cuc_func *f);
|
cuc_func *dup_func (cuc_func *f);
|