X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fopt%2Fifconv.c;h=db6a992fbbe5d7d74f411210126f574460184c00;hb=1852308bd33b77378f0fca9e5347d4f9082464c4;hp=0634cc0ad0eed1a6a2567bd3a94a169000709e24;hpb=ddfcdcb1227bd6fb6720f8485dc62995f7bfd98f;p=libfirm diff --git a/ir/opt/ifconv.c b/ir/opt/ifconv.c index 0634cc0ad..db6a992fb 100644 --- a/ir/opt/ifconv.c +++ b/ir/opt/ifconv.c @@ -517,16 +517,9 @@ static int pass_wrapper(ir_graph *irg, void *context) { ir_graph_pass_t *opt_if_conv_pass( const char *name, const ir_settings_if_conv_t *params) { - struct pass_t *pass = xmalloc(sizeof(*pass)); - - pass->pass.kind = k_ir_prog_pass; - pass->pass.run_on_irg = pass_wrapper; - pass->pass.context = pass; - pass->pass.name = name ? name : "if_conv"; - + struct pass_t *pass = XMALLOCZ(struct pass_t); pass->params = params; - INIT_LIST_HEAD(&pass->pass.list); - - return &pass->pass; + return def_graph_pass_constructor( + &pass->pass, name ? name : "ifconv", pass_wrapper); }