Fixed warnings introduced in 97080a1af7b7e8a4969d2fba25e065df417ff074.
[libfirm] / ir / ir / iropt_t.h
index db63ff4..ebf8cad 100644 (file)
@@ -21,7 +21,6 @@
  * @file
  * @brief    iropt --- optimizations intertwined with IR construction -- private header.
  * @author   Martin Trapp, Christian Schaefer, Goetz Lindenmaier, Michael Beck
- * @version  $Id$
  */
 #ifndef FIRM_IR_IROPT_T_H
 #define FIRM_IR_IROPT_T_H
@@ -121,14 +120,29 @@ static inline ir_tarval *value_of(const ir_node *n)
 }
 
 /**
- * Sets the default operations for an ir_op_ops.
- *
- * @param code   the opcode for the default operation
- * @param ops    the operations initialized
- *
- * @return
- *    The operations.
+ * returns true if a value becomes zero when converted to mode @p mode
  */
-ir_op_ops *firm_set_default_operations(unsigned code, ir_op_ops *ops);
+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);
+
+/**
+ * Returns true if Conv_m0(Conv_m1( x_m2)) is equivalent to Conv_m0(x_m2)
+ */
+bool may_leave_out_middle_conv(ir_mode *m0, ir_mode *m1, ir_mode *m2);
+
+void ir_register_opt_node_ops(void);
 
 #endif