X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firnode.h;h=d2d3b3d11d2828eb0336e116e93a7d13acf80ee6;hb=d904350bc3a4b3b9c77a71d683be6c44b041a33d;hp=0e58616748e13fab4c14396c2781b1dd1b09ed2e;hpb=b8dbf835753fe9cecd9d6106034ececa3c3ef148;p=libfirm diff --git a/ir/ir/irnode.h b/ir/ir/irnode.h index 0e5861674..d2d3b3d11 100644 --- a/ir/ir/irnode.h +++ b/ir/ir/irnode.h @@ -328,6 +328,9 @@ void add_End_keepalive (ir_node *end, ir_node *ka); /** Set the Keep alive node at position pos. */ void set_End_keepalive(ir_node *end, int pos, ir_node *ka); +/** Set new keep-alives */ +void set_End_keepalives(ir_node *end, int n, ir_node *in[]); + /** Some parts of the End node are allocated separately -- their memory is not recovered by dead_node_elimination if a End node is dead. free_End() frees these data structures. */ @@ -1093,6 +1096,21 @@ int is_irn_constlike(const ir_node *node); */ int is_irn_keep(const ir_node *node); +/** + * Returns non-zero for nodes that are machine operations. + */ +int is_irn_machine_op(const ir_node *node); + +/** + * Returns non-zero for nodes that are machine operands. + */ +int is_irn_machine_operand(const ir_node *node); + +/** + * Returns non-zero for nodes that have the n'th user machine flag set. + */ +int is_irn_machine_user(const ir_node *node, unsigned n); + /** * A type to express conditional jump predictions. */ @@ -1147,6 +1165,12 @@ unsigned register_additional_node_data(unsigned size); */ void *get_irn_generic_attr(ir_node *node); +/** + * Returns the unique node index for the node in its graph. + * This index is used to access phase information for this node. + */ +unsigned get_irn_idx(const ir_node *node); + /*-----------------------------------------------------------------*/ /** Debug aides **/ /*-----------------------------------------------------------------*/