X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firnode_t.h;h=1a99728a966e2c6872077596a0a4b0e02032295c;hb=330d4a59ef714201ba03b229029af29d68ee13a2;hp=f0ca0dc915c6b523604b01a368b2121e33ce8374;hpb=b8f363d7be29eb5702e130be3796ff7162410e6a;p=libfirm diff --git a/ir/ir/irnode_t.h b/ir/ir/irnode_t.h index f0ca0dc91..1a99728a9 100644 --- a/ir/ir/irnode_t.h +++ b/ir/ir/irnode_t.h @@ -92,6 +92,7 @@ typedef struct { typedef struct { symconst_symbol sym; // old tori symconst_kind num; + type *tp; /**< the source type, for analyses. default: type_unknown. */ } symconst_attr; /** Sel attributes */ @@ -213,6 +214,10 @@ struct ir_node { #endif /* ------- For analyses -------- */ ir_loop *loop; /**< the loop the node is in. Access routines in irloop.h */ +#ifdef DO_HEAPANALYSIS + struct abstval *av; + struct section *sec; +#endif /* ------- Opcode depending fields -------- */ attr attr; /**< attribute of this node. Depends on opcode. Must be last field of struct ir_node. */ @@ -321,7 +326,7 @@ __get_irn_arity (const ir_node *node) { */ static INLINE ir_node * __get_irn_intra_n (ir_node *node, int n) { - return (node->in[n + 1] = skip_nop(node->in[n + 1])); + return (node->in[n + 1] = skip_Id(node->in[n + 1])); } /** @@ -332,9 +337,9 @@ __get_irn_inter_n (ir_node *node, int n) { /* handle Filter and Block specially */ if (__get_irn_opcode(node) == iro_Filter) { assert(node->attr.filter.in_cg); - return (node->attr.filter.in_cg[n + 1] = skip_nop(node->attr.filter.in_cg[n + 1])); + return (node->attr.filter.in_cg[n + 1] = skip_Id(node->attr.filter.in_cg[n + 1])); } else if (__get_irn_opcode(node) == iro_Block && node->attr.block.in_cg) { - return (node->attr.block.in_cg[n + 1] = skip_nop(node->attr.block.in_cg[n + 1])); + return (node->attr.block.in_cg[n + 1] = skip_Id(node->attr.block.in_cg[n + 1])); } return __get_irn_intra_n (node, n);