X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firnode.c;h=f4d51d82f355722255256bf222aa80ca46667200;hb=b519dd6a1e6d85e843eff533be787d1f138a07ff;hp=d4743af002ba294e59ea6e42537059cfdc4eee33;hpb=32d7ce4fc3771ddd8ad5b6849b7357311da67af4;p=libfirm diff --git a/ir/ir/irnode.c b/ir/ir/irnode.c index d4743af00..f4d51d82f 100644 --- a/ir/ir/irnode.c +++ b/ir/ir/irnode.c @@ -108,7 +108,7 @@ unsigned firm_add_node_size = 0; /* register new space for every node */ -unsigned register_additional_node_data(unsigned size) { +unsigned firm_register_additional_node_data(unsigned size) { assert(!forbid_new_data && "Too late to register additional node data"); if (forbid_new_data) @@ -131,8 +131,8 @@ init_irnode(void) { * If arity is negative, a node with a dynamic array is created. */ 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) +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 *res; size_t node_size = offsetof(ir_node, attr) + op->attr_size + firm_add_node_size; @@ -282,7 +282,7 @@ ir_node * } void -set_irn_n (ir_node *node, int n, ir_node *in) { +set_irn_n(ir_node *node, int n, ir_node *in) { assert(node && node->kind == k_ir_node); assert(-1 <= n); assert(n < get_irn_arity(node)); @@ -316,8 +316,7 @@ set_irn_n (ir_node *node, int n, ir_node *in) { node->in[n + 1] = in; } -int add_irn_n(ir_node *node, ir_node *in) -{ +int add_irn_n(ir_node *node, ir_node *in) { int pos; ir_graph *irg = get_irn_irg(node); @@ -333,25 +332,21 @@ int add_irn_n(ir_node *node, ir_node *in) } int -(get_irn_deps)(const ir_node *node) -{ +(get_irn_deps)(const ir_node *node) { return _get_irn_deps(node); } ir_node * -(get_irn_dep)(const ir_node *node, int pos) -{ +(get_irn_dep)(const ir_node *node, int pos) { return _get_irn_dep(node, pos); } void -(set_irn_dep)(ir_node *node, int pos, ir_node *dep) -{ +(set_irn_dep)(ir_node *node, int pos, ir_node *dep) { _set_irn_dep(node, pos, dep); } -int add_irn_dep(ir_node *node, ir_node *dep) -{ +int add_irn_dep(ir_node *node, ir_node *dep) { int res = 0; if (node->deps == NULL) { @@ -651,18 +646,14 @@ int get_irn_pred_pos(ir_node *node, ir_node *arg) { /** manipulate fields of individual nodes **/ -/* this works for all except Block */ ir_node * -get_nodes_block(const ir_node *node) { - assert(node->op != op_Block); - assert(is_irn_pinned_in_irg(node) && "block info may be incorrect"); - return get_irn_n(node, -1); +(get_nodes_block)(const ir_node *node) { + return _get_nodes_block(node); } void set_nodes_block(ir_node *node, ir_node *block) { - assert(node->op != op_Block); - set_irn_n(node, -1, block); + node->op->ops.set_block(node, block); } /* Test whether arbitrary node is frame pointer, i.e. Proj(pn_Start_P_frame_base) @@ -2397,9 +2388,9 @@ get_irn_irg(const ir_node *node) { * irg. */ if (! is_Block(node)) - node = get_irn_n(node, -1); + node = get_nodes_block(node); if (is_Bad(node)) /* sometimes bad is predecessor of nodes instead of block: in case of optimization */ - node = get_irn_n(node, -1); + node = get_nodes_block(node); assert(get_irn_op(node) == op_Block); return node->attr.block.irg; } @@ -2598,6 +2589,11 @@ int return _is_Sub(node); } +int +(is_Not)(const ir_node *node) { + return _is_Not(node); +} + int (is_Psi)(const ir_node *node) { return _is_Psi(node); @@ -2989,7 +2985,7 @@ void dump_irn(ir_node *n) { int i, arity = get_irn_arity(n); printf("%s%s: %ld (%p)\n", get_irn_opname(n), get_mode_name(get_irn_mode(n)), get_irn_node_nr(n), (void *)n); if (!is_Block(n)) { - ir_node *pred = get_irn_n(n, -1); + ir_node *pred = get_nodes_block(n); printf(" block: %s%s: %ld (%p)\n", get_irn_opname(pred), get_mode_name(get_irn_mode(pred)), get_irn_node_nr(pred), (void *)pred); }