X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=sidebyside;f=ir%2Flower%2Flower_intrinsics.c;h=98ba0a89f6ca6b91c5efca67a364ba350fa4d659;hb=2cb4a701f143339e07259cf7331c670f5584de63;hp=f748f439a3d7856ec44b9d72ca74e04c6cbf5a30;hpb=7412de5cd8ccbd237f84e363bcb80e73ff4f1d79;p=libfirm diff --git a/ir/lower/lower_intrinsics.c b/ir/lower/lower_intrinsics.c index f748f439a..98ba0a89f 100644 --- a/ir/lower/lower_intrinsics.c +++ b/ir/lower/lower_intrinsics.c @@ -173,44 +173,32 @@ struct pass_t { static int pass_wrapper(ir_prog *irp, void *context) { struct pass_t *pass = context; + (void) irp; /* TODO: set current irp, or remove parameter */ lower_intrinsics(pass->list, pass->length, pass->part_block_used); /* probably this pass should not run again */ return 0; -} /* pass_wrapper */ +} /** * Creates an ir_prog pass for lower_intrinsics. * * @param name the name of this pass or NULL - * @param verify should this pass be verified? - * @param dump should this pass result be dumped? * @param list an array of intrinsic map records * @param length the length of the array * @param part_block_used set to true if part_block() must be using during lowering */ ir_prog_pass_t *lower_intrinsics_pass( const char *name, - int verify, - int dump, i_record *list, int length, int part_block_used) { struct pass_t *pass = xmalloc(sizeof(*pass) + (length-1) * sizeof(pass->list[0])); - memset(&pass->pass, 0, sizeof(pass->pass)); - pass->pass.kind = k_ir_prog_pass; - pass->pass.run_on_irprog = pass_wrapper; - pass->pass.context = pass; - pass->pass.name = name ? name : "lower_intrinsics"; - pass->pass.verify = verify != 0; - pass->pass.dump = dump != 0; - - INIT_LIST_HEAD(&pass->pass.list); - memcpy(pass->list, list, sizeof(list[0]) * length); pass->length = length; pass->part_block_used = part_block_used; - return &pass->pass; + return def_prog_pass_constructor( + &pass->pass, name ? name : "lower_intrinsics", pass_wrapper); } /* lower_intrinsics_pass*/ /**