e288e534db08e8ff608babd03f9fc315c7f6e87b
[libfirm] / ir / be / TEMPLATE / TEMPLATE_emitter.h
1 #ifndef _TEMPLATE_EMITTER_H_
2 #define _TEMPLATE_EMITTER_H_
3
4 #include "irargs_t.h"  // this also inlucdes <libcore/lc_print.h>
5 #include "irnode.h"
6 #include "debug.h"
7
8 #include "../bearch.h"
9
10 #include "bearch_TEMPLATE_t.h"
11
12 typedef struct _TEMPLATE_emit_env_t {
13         FILE                      *out;
14         const arch_env_t          *arch_env;
15         const TEMPLATE_code_gen_t *cg;
16         DEBUG_ONLY(firm_dbg_module_t *mod;)
17 } TEMPLATE_emit_env_t;
18
19 const lc_arg_env_t *TEMPLATE_get_arg_env(void);
20
21 void equalize_dest_src(FILE *F, ir_node *n);
22
23 int get_TEMPLATE_reg_nr(ir_node *irn, int posi, int in_out);
24 const char *get_TEMPLATE_in_reg_name(ir_node *irn, int pos);
25
26 void TEMPLATE_gen_routine(FILE *F, ir_graph *irg, const TEMPLATE_code_gen_t *cg);
27
28 #endif /* _TEMPLATE_EMITTER_H_ */