Initial Version of pbqp coloring algorithm
[libfirm] / ir / opt / funccall.c
index 5ce0d74..973b00e 100644 (file)
@@ -1084,30 +1084,25 @@ struct pass_t {
 /**
  * Wrapper for running optimize_funccalls() as an ir_prog pass.
  */
-static int pass_wrapper(ir_graph *irg, void *context) {
+static int pass_wrapper(ir_prog *irp, void *context)
+{
        struct pass_t *pass = context;
+
+       (void)irp;
        optimize_funccalls(pass->force_run, pass->callback);
        return 0;
 }  /* pass_wrapper */
 
 /* Creates an ir_prog pass for optimize_funccalls. */
 ir_prog_pass_t *optimize_funccalls_pass(
-       const char *name, int verify, int dump,
+       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";
-       pass->pass.verify        = verify != 0;
-       pass->pass.dump          = dump != 0;
-
-       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 */