1 #ifndef _ARM_EMITTER_H_
2 #define _ARM_EMITTER_H_
4 #include "irargs_t.h" // this also inlucdes <libcore/lc_print.h>
10 #include "bearch_arm_t.h"
12 typedef struct _arm_emit_env_t {
14 const arch_env_t *arch_env;
15 const arm_code_gen_t *cg;
16 DEBUG_ONLY(firm_dbg_module_t *mod;)
19 const lc_arg_env_t *arm_get_arg_env(void);
21 void equalize_dest_src(FILE *F, ir_node *n);
23 int get_arm_reg_nr(ir_node *irn, int posi, int in_out);
24 const char *get_arm_in_reg_name(ir_node *irn, int pos);
26 void arm_gen_routine(FILE *F, ir_graph *irg, const arm_code_gen_t *cg);
28 typedef enum sections {
29 NO_SECTION, /**< no section selected yet. */
30 SECTION_TEXT, /**< text section */
31 SECTION_DATA, /**< data section */
32 SECTION_RODATA, /**< rodata section */
33 SECTION_COMMON, /**< common section */
37 * Switch to a new section
39 void arm_switch_section(FILE *f, sections sec);
41 #endif /* _ARM_EMITTER_H_ */