Replaced set_irn_n(*, -1, *) and get_irn_n(*, -1) by new get_nodes_block()/set_nodes_...
[libfirm] / ir / ir / irnode.c
index d4743af..f4d51d8 100644 (file)
@@ -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);
        }