1 #ifndef _mips_EMITTER_H_
2 #define _mips_EMITTER_H_
4 #include "irargs_t.h" // this also inlucdes <libcore/lc_print.h>
10 #include "bearch_mips_t.h"
12 typedef struct _mips_emit_env_t {
13 firm_dbg_module_t *mod;
15 const arch_env_t *arch_env;
16 const mips_code_gen_t *cg;
19 const lc_arg_env_t *mips_get_arg_env(void);
21 void equalize_dest_src(FILE *F, ir_node *n);
23 int get_mips_reg_nr(ir_node *irn, int posi, int in_out);
24 const char *get_mips_in_reg_name(ir_node *irn, int pos);
26 void mips_gen_routine(FILE *F, ir_graph *irg, const mips_code_gen_t *cg);
27 void mips_register_emitters(void);
28 ir_node *mips_get_jump_block(const ir_node* node, int projn);
30 /** returns the label used for a block */
31 const char* mips_get_block_label(const ir_node* block);
32 /** returns the label for the jumptable */
33 const char* mips_get_jumptbl_label(const ir_node* switchjmp);
35 #endif /* _mips_EMITTER_H_ */