X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firnode_t.h;h=fa24090fad64bf4bd711379321eeb50998b49c22;hb=e570f00fb465d212dde403160e97ab45d36d1d7e;hp=f8c9c0d1ce67c1e256ee8fb5fe088b85579104ca;hpb=e8fda67a81f7bc1dc7de1d3b5ba7caf0035f7d21;p=libfirm diff --git a/ir/ir/irnode_t.h b/ir/ir/irnode_t.h index f8c9c0d1c..fa24090fa 100644 --- a/ir/ir/irnode_t.h +++ b/ir/ir/irnode_t.h @@ -32,6 +32,7 @@ # include "firm_common_t.h" # include "irdom_t.h" /* For size of struct dom_info. */ # include "dbginfo.h" +# include "irloop.h" # include "exc.h" @@ -209,6 +210,9 @@ struct ir_node { int node_nr; /**< a unique node number for each node to make output readable. */ #endif + /* ------- For analyses -------- */ + ir_loop *loop; /**< the loop the node is in. Access routines in irloop.h */ + /* ------- Opcode depending fields -------- */ attr attr; /**< attribute of this node. Depends on opcode. Must be last field of struct ir_node. */ }; @@ -216,7 +220,7 @@ struct ir_node { /** Copies all attributes stored in the old node to the new node. Assumes both have the same opcode and sufficient size. */ void -copy_attrs (ir_node *old, ir_node *new); +copy_attrs(const ir_node *old_node, ir_node *new_node); /** Returns the array with the ins. The content of the array may not be @@ -231,6 +235,7 @@ INLINE alloc_attr get_irn_alloc_attr (ir_node *node); INLINE type *get_irn_free_attr (ir_node *node); INLINE symconst_attr get_irn_symconst_attr (ir_node *node); type *get_irn_call_attr (ir_node *node); +type *get_irn_funccall_attr (ir_node *node); sel_attr get_irn_sel_attr (ir_node *node); int get_irn_phi_attr (ir_node *node); block_attr get_irn_block_attr (ir_node *node);