/** 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. */
void set_Psi_val (ir_node *node, int pos, ir_node *val);
ir_node *get_Psi_default(ir_node *node);
void set_Psi_default(ir_node *node, ir_node *val);
+int get_Psi_n_conds(ir_node *node);
/**
* Projection numbers for result of CopyB node: use for Proj nodes!
*/
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.
*/
*/
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 **/
/*-----------------------------------------------------------------*/