-INLINE int is_unop (ir_node *node);
-INLINE ir_node *get_unop_op (ir_node *node);
-INLINE void set_unop_op (ir_node *node, ir_node *op);
-INLINE int is_binop (ir_node *node);
-INLINE ir_node *get_binop_left (ir_node *node);
-INLINE void set_binop_left (ir_node *node, ir_node *left);
-INLINE ir_node *get_binop_right (ir_node *node);
-INLINE void set_binop_right (ir_node *node, ir_node *right);
-
-INLINE ir_node *get_Add_left (ir_node *node);
-INLINE void set_Add_left (ir_node *node, ir_node *left);
-INLINE ir_node *get_Add_right (ir_node *node);
-INLINE void set_Add_right (ir_node *node, ir_node *right);
-
-INLINE ir_node *get_Sub_left (ir_node *node);
-INLINE void set_Sub_left (ir_node *node, ir_node *left);
-INLINE ir_node *get_Sub_right (ir_node *node);
-INLINE void set_Sub_right (ir_node *node, ir_node *right);
-
-INLINE ir_node *get_Minus_op (ir_node *node);
-INLINE void set_Minus_op (ir_node *node, ir_node *op);
-
-INLINE ir_node *get_Mul_left (ir_node *node);
-INLINE void set_Mul_left (ir_node *node, ir_node *left);
-INLINE ir_node *get_Mul_right (ir_node *node);
-INLINE void set_Mul_right (ir_node *node, ir_node *right);
-
-INLINE ir_node *get_Quot_left (ir_node *node);
-INLINE void set_Quot_left (ir_node *node, ir_node *left);
-INLINE ir_node *get_Quot_right (ir_node *node);
-INLINE void set_Quot_right (ir_node *node, ir_node *right);
-INLINE ir_node *get_Quot_mem (ir_node *node);
-INLINE void set_Quot_mem (ir_node *node, ir_node *mem);
-
-INLINE ir_node *get_DivMod_left (ir_node *node);
-INLINE void set_DivMod_left (ir_node *node, ir_node *left);
-INLINE ir_node *get_DivMod_right (ir_node *node);
-INLINE void set_DivMod_right (ir_node *node, ir_node *right);
-INLINE ir_node *get_DivMod_mem (ir_node *node);
-INLINE void set_DivMod_mem (ir_node *node, ir_node *mem);
-
-INLINE ir_node *get_Div_left (ir_node *node);
-INLINE void set_Div_left (ir_node *node, ir_node *left);
-INLINE ir_node *get_Div_right (ir_node *node);
-INLINE void set_Div_right (ir_node *node, ir_node *right);
-INLINE ir_node *get_Div_mem (ir_node *node);
-INLINE void set_Div_mem (ir_node *node, ir_node *mem);
-
-INLINE ir_node *get_Mod_left (ir_node *node);
-INLINE void set_Mod_left (ir_node *node, ir_node *left);
-INLINE ir_node *get_Mod_right (ir_node *node);
-INLINE void set_Mod_right (ir_node *node, ir_node *right);
-INLINE ir_node *get_Mod_mem (ir_node *node);
-INLINE void set_Mod_mem (ir_node *node, ir_node *mem);
-
-INLINE ir_node *get_Abs_op (ir_node *node);
-INLINE void set_Abs_op (ir_node *node, ir_node *op);
-
-INLINE ir_node *get_And_left (ir_node *node);
-INLINE void set_And_left (ir_node *node, ir_node *left);
-INLINE ir_node *get_And_right (ir_node *node);
-INLINE void set_And_right (ir_node *node, ir_node *right);
-
-INLINE ir_node *get_Or_left (ir_node *node);
-INLINE void set_Or_left (ir_node *node, ir_node *left);
-INLINE ir_node *get_Or_right (ir_node *node);
-INLINE void set_Or_right (ir_node *node, ir_node *right);
-
-INLINE ir_node *get_Eor_left (ir_node *node);
-INLINE void set_Eor_left (ir_node *node, ir_node *left);
-INLINE ir_node *get_Eor_right (ir_node *node);
-INLINE void set_Eor_right (ir_node *node, ir_node *right);
-
-INLINE ir_node *get_Not_op (ir_node *node);
-INLINE void set_Not_op (ir_node *node, ir_node *op);
-
-/* Projection numbers of compare: use for Proj nodes! */
+int is_unop (const ir_node *node);
+ir_node *get_unop_op (ir_node *node);
+void set_unop_op (ir_node *node, ir_node *op);
+int is_binop (const ir_node *node);
+ir_node *get_binop_left (ir_node *node);
+void set_binop_left (ir_node *node, ir_node *left);
+ir_node *get_binop_right (ir_node *node);
+void set_binop_right (ir_node *node, ir_node *right);
+
+ir_node *get_Add_left (ir_node *node);
+void set_Add_left (ir_node *node, ir_node *left);
+ir_node *get_Add_right (ir_node *node);
+void set_Add_right (ir_node *node, ir_node *right);
+
+ir_node *get_Sub_left (ir_node *node);
+void set_Sub_left (ir_node *node, ir_node *left);
+ir_node *get_Sub_right (ir_node *node);
+void set_Sub_right (ir_node *node, ir_node *right);
+
+ir_node *get_Minus_op (ir_node *node);
+void set_Minus_op (ir_node *node, ir_node *op);
+
+ir_node *get_Mul_left (ir_node *node);
+void set_Mul_left (ir_node *node, ir_node *left);
+ir_node *get_Mul_right (ir_node *node);
+void set_Mul_right (ir_node *node, ir_node *right);
+
+ir_node *get_Quot_left (ir_node *node);
+void set_Quot_left (ir_node *node, ir_node *left);
+ir_node *get_Quot_right (ir_node *node);
+void set_Quot_right (ir_node *node, ir_node *right);
+ir_node *get_Quot_mem (ir_node *node);
+void set_Quot_mem (ir_node *node, ir_node *mem);
+
+/**
+ * Projection numbers for Quot: use for Proj nodes!
+ */
+typedef enum {
+ pn_Quot_M, /**< Memory result. */
+ pn_Quot_X_except, /**< Execution result if exception occurred. */
+ pn_Quot_res, /**< Result of computation. */
+ pn_Quot_max /**< number of projections from a Quot */
+} pn_Quot; /* Projection numbers for Quot. */
+
+ir_node *get_DivMod_left (ir_node *node);
+void set_DivMod_left (ir_node *node, ir_node *left);
+ir_node *get_DivMod_right (ir_node *node);
+void set_DivMod_right (ir_node *node, ir_node *right);
+ir_node *get_DivMod_mem (ir_node *node);
+void set_DivMod_mem (ir_node *node, ir_node *mem);
+
+/**
+ * Projection numbers for DivMod: use for Proj nodes!
+ */
+typedef enum {
+ pn_DivMod_M, /**< Memory result. */
+ pn_DivMod_X_except, /**< Execution result if exception occurred. */
+ pn_DivMod_res_div, /**< Result of computation a / b. */
+ pn_DivMod_res_mod, /**< Result of computation a % b. */
+ pn_DivMod_max /**< number of projections from a DivMod */
+} pn_DivMod; /* Projection numbers for DivMod. */
+
+ir_node *get_Div_left (ir_node *node);
+void set_Div_left (ir_node *node, ir_node *left);
+ir_node *get_Div_right (ir_node *node);
+void set_Div_right (ir_node *node, ir_node *right);
+ir_node *get_Div_mem (ir_node *node);
+void set_Div_mem (ir_node *node, ir_node *mem);
+
+/**
+ * Projection numbers for Div: use for Proj nodes!
+ */
+typedef enum {
+ pn_Div_M, /**< Memory result. */
+ pn_Div_X_except, /**< Execution result if exception occurred. */
+ pn_Div_res /**< Result of computation. */
+} pn_Div; /* Projection numbers for Div. */
+
+ir_node *get_Mod_left (ir_node *node);
+void set_Mod_left (ir_node *node, ir_node *left);
+ir_node *get_Mod_right (ir_node *node);
+void set_Mod_right (ir_node *node, ir_node *right);
+ir_node *get_Mod_mem (ir_node *node);
+void set_Mod_mem (ir_node *node, ir_node *mem);
+
+/**
+ * Projection numbers for Mod: use for Proj nodes!
+ */
+typedef enum {
+ pn_Mod_M, /**< Memory result. */
+ pn_Mod_X_except, /**< Execution result if exception occurred. */
+ pn_Mod_res, /**< Result of computation. */
+ pn_Mod_max /**< number of projections from a Mod */
+} pn_Mod; /* Projection numbers for Mod. */
+
+ir_node *get_Abs_op (ir_node *node);
+void set_Abs_op (ir_node *node, ir_node *op);
+
+ir_node *get_And_left (ir_node *node);
+void set_And_left (ir_node *node, ir_node *left);
+ir_node *get_And_right (ir_node *node);
+void set_And_right (ir_node *node, ir_node *right);
+
+ir_node *get_Or_left (ir_node *node);
+void set_Or_left (ir_node *node, ir_node *left);
+ir_node *get_Or_right (ir_node *node);
+void set_Or_right (ir_node *node, ir_node *right);
+
+ir_node *get_Eor_left (ir_node *node);
+void set_Eor_left (ir_node *node, ir_node *left);
+ir_node *get_Eor_right (ir_node *node);
+void set_Eor_right (ir_node *node, ir_node *right);
+
+ir_node *get_Not_op (ir_node *node);
+void set_Not_op (ir_node *node, ir_node *op);
+
+/**
+ * Projection numbers for Cmp are defined several times.
+ * The bit patterns are used for various tests, so don't change.
+ * The "unordered" values are possible results of comparing
+ * floating point numbers.
+ * Note that the encoding is imported, so do NOT change the order.
+ */