X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fopt%2Ffunccall.c;h=973b00e944f4050ee21ecfb26f3496db13aa262c;hb=6082146d47925a3dbbc78da30ca0a89276457dce;hp=62642fbcebed496815d25499216ff4fa5ddab540;hpb=ddfcdcb1227bd6fb6720f8485dc62995f7bfd98f;p=libfirm diff --git a/ir/opt/funccall.c b/ir/opt/funccall.c index 62642fbce..973b00e94 100644 --- a/ir/opt/funccall.c +++ b/ir/opt/funccall.c @@ -1084,7 +1084,8 @@ struct pass_t { /** * Wrapper for running optimize_funccalls() as an ir_prog pass. */ -static int pass_wrapper(ir_prog *irp, void *context) { +static int pass_wrapper(ir_prog *irp, void *context) +{ struct pass_t *pass = context; (void)irp; @@ -1097,17 +1098,11 @@ ir_prog_pass_t *optimize_funccalls_pass( const char *name, int force_run, check_alloc_entity_func callback) { - struct pass_t *pass = xmalloc(sizeof(*pass)); - - pass->pass.kind = k_ir_prog_pass; - pass->pass.run_on_irprog = pass_wrapper; - pass->pass.context = pass; - pass->pass.name = name ? name : "funccalls"; - - INIT_LIST_HEAD(&pass->pass.list); + struct pass_t *pass = XMALLOCZ(struct pass_t); pass->force_run = force_run; pass->callback = callback; - return &pass->pass; + return def_prog_pass_constructor( + &pass->pass, name ? name : "funccall", pass_wrapper); } /* optimize_funccalls_pass */