+bool ir_zero_when_converted(const ir_node *node, ir_mode *dest_mode);
+
+int ir_mux_is_abs(const ir_node *sel, const ir_node *mux_false,
+ const ir_node *mux_true);
+
+ir_node *ir_get_abs_op(const ir_node *sel, ir_node *mux_false,
+ ir_node *mux_true);
+
+/**
+ * return true if the Mux node will be optimized away. This can be used for
+ * the if-conversion callback. Allowing these Muxes should be always safe, even
+ * if the backend cannot handle them.
+ */
+bool ir_is_optimizable_mux(const ir_node *sel, const ir_node *mux_false,
+ const ir_node *mux_true);
+
+void ir_register_opt_node_ops(void);