X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=sidebyside;f=ir%2Fbe%2FTEMPLATE%2FTEMPLATE_emitter.h;h=e5cdef154aa48a82da0b34d6492fd6dbd439136f;hb=df2faee01a5832057bb3ca0ba5f67e979c916e19;hp=5e5715c12fb8ed3b94808178362e522f694b0dee;hpb=d2c1b0191844c3c23731158a153838d570dcd65a;p=libfirm diff --git a/ir/be/TEMPLATE/TEMPLATE_emitter.h b/ir/be/TEMPLATE/TEMPLATE_emitter.h index 5e5715c12..e5cdef154 100644 --- a/ir/be/TEMPLATE/TEMPLATE_emitter.h +++ b/ir/be/TEMPLATE/TEMPLATE_emitter.h @@ -20,7 +20,6 @@ /** * @file * @brief declarations for emit functions - * @version $Id$ */ #ifndef FIRM_BE_TEMPLATE_TEMPLATE_EMITTER_H #define FIRM_BE_TEMPLATE_TEMPLATE_EMITTER_H @@ -29,19 +28,28 @@ #include "irnode.h" #include "debug.h" -#include "../bearch.h" -#include "../beemitter.h" +#include "bearch.h" +#include "beemitter.h" #include "bearch_TEMPLATE_t.h" -void TEMPLATE_emit_source_register(const ir_node *node, int pos); -void TEMPLATE_emit_dest_register(const ir_node *node, int pos); -void TEMPLATE_emit_immediate(const ir_node *node); - -int get_TEMPLATE_reg_nr(ir_node *irn, int posi, int in_out); -const char *get_TEMPLATE_in_reg_name(ir_node *irn, int pos); - +/** + * emit assembler instructions with format string. Automatically indents + * instructions and adds debug comments at the end (in verbose-asm mode). + * Format specifiers: + * + * fmt parameter output + * ---- ---------------------- --------------------------------------------- + * %% % + * %r const arch_register_t* register + * %Sx source register x + * %Dx destination register x + * %O shifter operand + * %I immediate + * %L target label + */ +void TEMPLATE_emitf(const ir_node *node, const char *format, ...); -void TEMPLATE_gen_routine(const TEMPLATE_code_gen_t *cg, ir_graph *irg); +void TEMPLATE_emit_routine(ir_graph *irg); #endif