X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=include%2Flibfirm%2Firnode.h;h=ec26feb53a42cd1bf3cdc90a35ef0c1bfea08d1d;hb=2807bb5b1ed34c23dc30d228ab0686c6fc9d6ae3;hp=7d20903708799dbf4623167e71eafc7a9539ae63;hpb=0d47065647b5315c1098467a63ca5d32e7276cce;p=libfirm diff --git a/include/libfirm/irnode.h b/include/libfirm/irnode.h index 7d2090370..ec26feb53 100644 --- a/include/libfirm/irnode.h +++ b/include/libfirm/irnode.h @@ -262,14 +262,8 @@ op_pin_state is_irn_pinned_in_irg(const ir_node *node); * @param arity The arity of the new node, <0 if can be changed dynamically. * @param in An array of arity predecessor nodes. */ -ir_node * -new_ir_node(dbg_info *db, - ir_graph *irg, - ir_node *block, - ir_op *op, - ir_mode *mode, - int arity, - ir_node *in[]); +ir_node *new_ir_node(dbg_info *db, ir_graph *irg, ir_node *block, ir_op *op, + ir_mode *mode, int arity, ir_node *in[]); /** * Return the block the node belongs to. This is only @@ -505,9 +499,6 @@ void set_Const_type(ir_node *node, ir_type *tp); /** Returns non-zero if s symconst kind has a type attribute */ #define SYMCONST_HAS_TYPE(kind) ((kind) <= symconst_type_align) -/** Returns non-zero if s symconst kind has an ident attribute */ -#define SYMCONST_HAS_ID(kind) ((kind) == symconst_addr_name) - /** Returns non-zero if s symconst kind has an entity attribute */ #define SYMCONST_HAS_ENT(kind) ((kind) == symconst_addr_ent || (kind) == symconst_ofs_ent) @@ -523,10 +514,6 @@ void set_SymConst_kind(ir_node *node, symconst_kind num); ir_type *get_SymConst_type(const ir_node *node); void set_SymConst_type(ir_node *node, ir_type *tp); -/** Only to access SymConst of kind addr_name. Else assertion: */ -ident *get_SymConst_name(const ir_node *node); -void set_SymConst_name(ir_node *node, ident *name); - /** Only to access SymConst of kind addr_ent. Else assertion: */ ir_entity *get_SymConst_entity(const ir_node *node); void set_SymConst_entity(ir_node *node, ir_entity *ent); @@ -982,8 +969,8 @@ typedef enum { ir_node *get_Alloc_mem(const ir_node *node); void set_Alloc_mem(ir_node *node, ir_node *mem); -ir_node *get_Alloc_size(const ir_node *node); -void set_Alloc_size(ir_node *node, ir_node *size); +ir_node *get_Alloc_count(const ir_node *node); +void set_Alloc_count(ir_node *node, ir_node *count); ir_type *get_Alloc_type(ir_node *node); void set_Alloc_type(ir_node *node, ir_type *tp); @@ -1317,8 +1304,9 @@ int is_irn_forking(const ir_node *node); /** * Copies all attributes stored in the old node to the new node. * Assumes both have the same opcode and sufficient size. + * @param irg The irg of the new_node (get_irn_irg on it might not work yet) */ -void copy_node_attr(const ir_node *old_node, ir_node *new_node); +void copy_node_attr(ir_graph *irg, const ir_node *old_node, ir_node *new_node); /** Return the type associated with the value produced by n * if the node remarks this type as it is the case for @@ -1367,6 +1355,11 @@ int is_irn_machine_operand(const ir_node *node); */ int is_irn_machine_user(const ir_node *node, unsigned n); +/** + * Returns non-zero for nodes that are CSE neutral to its users. + */ +int is_irn_cse_neutral(const ir_node *node); + /** * A type to express conditional jump predictions. */