X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbeemitter.h;h=d44dfd39736b85ce289fa1ce4e685b07741c7e74;hb=1b4cac3471b02b63e9656cd8c876f067766fe482;hp=366f1710b0fb2255c1c4dcbde1362c28f8ca7cfb;hpb=f8cc15664f571aa7ef89d6f6bc8d5bd2b8ca7d53;p=libfirm diff --git a/ir/be/beemitter.h b/ir/be/beemitter.h index 366f1710b..d44dfd397 100644 --- a/ir/be/beemitter.h +++ b/ir/be/beemitter.h @@ -33,6 +33,7 @@ #include "firm_types.h" #include "obst.h" #include "be.h" +#include "irop_t.h" /* don't use the following vars directly, they're only here for the inlines */ extern FILE *emit_file; @@ -88,20 +89,6 @@ void be_emit_init(FILE *F); */ void be_emit_exit(void); -/** - * Emit an ident to the (assembler) output. - * - * @param id the ident to be emitted - */ -void be_emit_ident(ident *id); - -/** - * Emit a firm tarval. - * - * @param tv the tarval to be emitted - */ -void be_emit_tarval(ir_tarval *tv); - /** * Emit the output of an ir_printf. * @@ -134,4 +121,21 @@ void be_emit_finish_line_gas(const ir_node *node); */ void be_emit_pad_comment(void); +/** + * The type of a emitter function. + */ +typedef void emit_func(ir_node const *node); + +static inline void be_set_emitter(ir_op *const op, emit_func *const func) +{ + set_generic_function_ptr(op, func); +} + +void be_emit_nothing(ir_node const *node); + +/** + * Emit code for a node. + */ +void be_emit_node(ir_node const *node); + #endif