+/*
+ * Mux Support: Note that Psi nodes with one condition can be handled
+ * like Mux nodes, and the access functions work as expected.
+ */
+ir_node *get_Mux_sel (ir_node *node);
+void set_Mux_sel (ir_node *node, ir_node *sel);
+ir_node *get_Mux_false (ir_node *node);
+void set_Mux_false (ir_node *node, ir_node *ir_false);
+ir_node *get_Mux_true (ir_node *node);
+void set_Mux_true (ir_node *node, ir_node *ir_true);
+
+ir_node *get_Psi_cond (ir_node *node, int pos);
+void set_Psi_cond (ir_node *node, int pos, ir_node *cond);
+ir_node *get_Psi_val (ir_node *node, int pos);
+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!
+ */
+typedef enum {
+ pn_CopyB_M_regular = 0, /**< The memory result. */
+ pn_CopyB_X_except = 1, /**< The control flow result branching to the exception handler */
+ pn_CopyB_M_except = 2, /**< The memory result in case the runtime function terminated with
+ an exception */
+ pn_CopyB_max = 3 /**< number of projections from a CopyB */
+} pn_CopyB; /* Projection numbers for CopyB. */
+#define pn_CopyB_M pn_CopyB_M_regular
+
+ir_node *get_CopyB_mem (ir_node *node);
+void set_CopyB_mem (ir_node *node, ir_node *mem);
+ir_node *get_CopyB_dst (ir_node *node);
+void set_CopyB_dst (ir_node *node, ir_node *dst);
+ir_node *get_CopyB_src (ir_node *node);
+void set_CopyB_src (ir_node *node, ir_node *src);
+ir_type *get_CopyB_type(ir_node *node);
+void set_CopyB_type(ir_node *node, ir_type *data_type);
+
+/**
+ * Projection numbers for result of InstOf node: use for Proj nodes!
+ */
+typedef enum {
+ pn_InstOf_M_regular = 0, /**< The memory result. */
+ pn_InstOf_X_except = 1, /**< The control flow result branching to the exception handler */
+ pn_InstOf_res = 2, /**< The checked object pointer. */
+ pn_InstOf_M_except = 3, /**< The memory result in case the runtime function terminated with
+ an exception */
+ pn_InstOf_max = 4 /**< number of projections from an InstOf */
+} pn_InstOf;
+#define pn_InstOf_M pn_InstOf_M_regular
+
+/** InstOf access */
+ir_type *get_InstOf_type (ir_node *node);
+void set_InstOf_type (ir_node *node, ir_type *type);
+ir_node *get_InstOf_store (ir_node *node);
+void set_InstOf_store (ir_node *node, ir_node *obj);
+ir_node *get_InstOf_obj (ir_node *node);
+void set_InstOf_obj (ir_node *node, ir_node *obj);
+
+/**
+ * Projection numbers for Raise.
+ */
+typedef enum {
+ pn_Raise_X = 0, /**< The control flow to the exception handler. */
+ pn_Raise_M = 1, /**< The Memory result. */
+ pn_Raise_max /**< number of projections from a Raise */
+} pn_Raise; /* Projection numbers for Raise. */
+
+ir_node *get_Raise_mem (ir_node *node);
+void set_Raise_mem (ir_node *node, ir_node *mem);
+ir_node *get_Raise_exo_ptr (ir_node *node); /* PoinTeR to EXception Object */
+void set_Raise_exo_ptr (ir_node *node, ir_node *exoptr);
+
+/**
+ * Projection numbers for result of Bound node: use for Proj nodes!
+ */
+typedef enum {
+ pn_Bound_M_regular = 0, /**< The memory result. */
+ pn_Bound_X_except = 1, /**< The control flow result branching to the exception handler */
+ pn_Bound_res = 2, /**< The checked index. */
+ pn_Bound_M_except = 3, /**< The memory result in case the runtime function terminated with
+ an exception */
+ pn_Bound_max = 4 /**< number of projections from a Bound */
+} pn_Bound;
+#define pn_Bound_M pn_Bound_M_regular
+
+/** Returns the memory input of a Bound operation. */
+ir_node *get_Bound_mem(ir_node *bound);
+void set_Bound_mem (ir_node *bound, ir_node *mem);
+
+/** Returns the index input of a Bound operation. */
+ir_node *get_Bound_index(ir_node *bound);
+void set_Bound_index(ir_node *bound, ir_node *idx);
+
+/** Returns the lower bound input of a Bound operation. */
+ir_node *get_Bound_lower(ir_node *bound);
+void set_Bound_lower(ir_node *bound, ir_node *lower);
+
+/** Returns the upper bound input of a Bound operation. */
+ir_node *get_Bound_upper(ir_node *bound);
+void set_Bound_upper(ir_node *bound, ir_node *upper);
+