* A function returning a pointer type for a given type.
* If this pointer is NULL, a new pointer type is always created.
*/
- ir_type *(*find_pointer_type)(ir_type *e_type, int alignment);
+ ir_type *(*find_pointer_type)(ir_type *e_type, ir_mode *mode, int alignment);
/**
* If the LF_SMALL_CMP_IN_REGS flag is set, this function will be called
*/
void lower_mux(ir_graph *irg, lower_mux_callback *cb_func);
+/**
+ * Creates an ir_graph pass for lower_mux().
+ *
+ * @param name the name of this pass or NULL
+ * @param cb_func The callback function for mux selection. Can be NULL,
+ * to lower all mux nodes.
+ *
+ * @return the newly created ir_graph pass
+ */
+ir_graph_pass_t *lower_mux_pass(const char *name, lower_mux_callback *cb_func);
+
/**
* An intrinsic mapper function.
*