X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=include%2Flibfirm%2Flowering.h;h=f54ce72c0e0bc2ef6e9dac46a3d298c948d0ee04;hb=5d5a9c9ce851ff517747027ecd9dded22da55de7;hp=a4465b1bc0d2d05e7ee4933d3ae4dc2310ff9027;hpb=67aaf70037463dcddcb53cdc8af56815cd75bc28;p=libfirm diff --git a/include/libfirm/lowering.h b/include/libfirm/lowering.h index a4465b1bc..f54ce72c0 100644 --- a/include/libfirm/lowering.h +++ b/include/libfirm/lowering.h @@ -63,7 +63,7 @@ typedef struct { * 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 @@ -325,6 +325,17 @@ typedef int lower_mux_callback(ir_node* mux); */ 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. *