X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fia32%2Fia32_new_nodes.h;h=9da938c63d9b837be1d4350d7921291c3820555f;hb=e4dc390f78d7ba99fdb4c5ddaafd3abdc1560cba;hp=1224b345d254c9039d1e5ebdc3ff3e57ff1ec6e9;hpb=7f81d2a2c9293cf34e4db08fc402a5c33ef919eb;p=libfirm diff --git a/ir/be/ia32/ia32_new_nodes.h b/ir/be/ia32/ia32_new_nodes.h index 1224b345d..9da938c63 100644 --- a/ir/be/ia32/ia32_new_nodes.h +++ b/ir/be/ia32/ia32_new_nodes.h @@ -54,6 +54,10 @@ int ia32_has_x87_register(const ir_node *n); ia32_attr_t *get_ia32_attr(ir_node *node); const ia32_attr_t *get_ia32_attr_const(const ir_node *node); +ia32_x87_attr_t *get_ia32_x87_attr(ir_node *node); +const ia32_x87_attr_t *get_ia32_x87_attr_const(const ir_node *node); + +const ia32_immediate_attr_t *get_ia32_immediate_attr_const(const ir_node *node); /** * Gets the type of an ia32 node. @@ -80,10 +84,13 @@ void set_ia32_immop_type(ir_node *node, ia32_immop_type_t tp); */ ia32_am_type_t get_ia32_am_support(const ir_node *node); +ia32_am_arity_t get_ia32_am_arity(const ir_node *node); + /** * Sets the supported addrmode of an ia32 node */ -void set_ia32_am_support(ir_node *node, ia32_am_type_t am_tp); +void set_ia32_am_support(ir_node *node, ia32_am_type_t am_tp, + ia32_am_arity_t am_arity); /** * Gets the addrmode flavour of an ia32 node @@ -345,12 +352,12 @@ void set_ia32_flavour(ir_node *node, ia32_op_flavour_t op_flav); /** * Returns the projnum code. */ -pn_Cmp get_ia32_pncode(const ir_node *node); +long get_ia32_pncode(const ir_node *node); /** * Sets the projnum code */ -void set_ia32_pncode(ir_node *node, pn_Cmp code); +void set_ia32_pncode(ir_node *node, long code); /** * Gets the instruction latency. @@ -488,10 +495,10 @@ void init_ia32_attributes(ir_node *node, arch_irn_flags_t flags, const be_execution_unit_t ***execution_units, int n_res, unsigned latency); -/** - * Registers the ia32_copy_attr function for all ia32 opcodes. - */ -void ia32_register_copy_attr_func(void); +void init_ia32_x87_attributes(ir_node *node); +void init_ia32_asm_attributes(ir_node *node); +void init_ia32_immediate_attributes(ir_node *node, ir_entity *symconst, + int symconst_sign, long offset); /* Include the generated headers */ #include "gen_ia32_new_nodes.h"