X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbeschedmris.c;h=6bfbd0cf67669e646d9b089137bad9b42c54af0b;hb=7fc5212efdd0faf06fed3850760ca319bdc66afc;hp=6de4f18730cc95f646c19c08aac9395082c19f0b;hpb=c79fe4adc914d8d867772053bedf449a4f85645d;p=libfirm diff --git a/ir/be/beschedmris.c b/ir/be/beschedmris.c index 6de4f1873..6bfbd0cf6 100644 --- a/ir/be/beschedmris.c +++ b/ir/be/beschedmris.c @@ -46,16 +46,16 @@ #include "irtools.h" #include "irbitset.h" #include "irnodeset.h" -#include "height.h" +#include "heights.h" #include "benode.h" #include "besched.h" #include "beschedmris.h" #include "beirg.h" -struct _mris_env_t { +struct mris_env_t { ir_phase ph; - heights_t *heights; + ir_heights_t *heights; ir_graph *irg; ir_node *bl; int visited; @@ -64,7 +64,7 @@ struct _mris_env_t { DEBUG_ONLY(firm_dbg_module_t *dbg;) }; -typedef struct _mris_irn_t { +typedef struct mris_irn_t { int visited; ir_node *lineage_start; ir_node *lineage_next; @@ -77,9 +77,9 @@ typedef struct _mris_irn_t { #define get_mris_irn(env, irn) ((mris_irn_t *) phase_get_or_set_irn_data(&env->ph, irn)) #define foreach_lineage(env, pos, tmp) list_for_each_entry_safe(mris_irn_t, pos, tmp, &(env)->lineage_head, lineage_list) -static void *mris_irn_data_init(ir_phase *ph, const ir_node *irn, void *data) +static void *mris_irn_data_init(ir_phase *ph, const ir_node *irn) { - mris_irn_t *mi = data ? data : phase_alloc(ph, sizeof(mi[0])); + mris_irn_t *mi = (mris_irn_t*)phase_alloc(ph, sizeof(mi[0])); (void) irn; memset(mi, 0, sizeof(mi[0])); INIT_LIST_HEAD(&mi->lineage_list); @@ -132,7 +132,7 @@ static ir_node **all_descendants(mris_env_t *env, ir_node *irn) #endif bitset_free(visited); obstack_ptr_grow(&env->obst, NULL); - return obstack_finish(&env->obst); + return (ir_node**)obstack_finish(&env->obst); } static ir_node *put_lowest_in_front(mris_env_t *env, ir_node **in) @@ -362,13 +362,13 @@ static mris_env_t *dump_env = NULL; static void block_walker(ir_node *bl, void *data) { - mris_env_t *env = data; + mris_env_t *env = (mris_env_t*)data; env->bl = bl; lineage_formation(env); fuse_lineages(env); } -static int mris_edge_hook(FILE *F, ir_node *irn) +static void mris_edge_hook(FILE *F, ir_node *irn) { mris_irn_t *mi = get_mris_irn(dump_env, irn); @@ -379,24 +379,21 @@ static int mris_edge_hook(FILE *F, ir_node *irn) PRINT_NODEID(irn); fprintf(F, "\" color:lilac}\n"); } - return 1; } void dump_ir_block_graph_mris(mris_env_t *env, const char *suffix) { - DUMP_NODE_EDGE_FUNC old = get_dump_node_edge_hook(); + dump_node_edge_func old = get_dump_node_edge_hook(); - dump_consts_local(0); set_dump_node_edge_hook(mris_edge_hook); dump_env = env; - dump_ir_block_graph(env->irg, suffix); + dump_ir_graph(env->irg, suffix); set_dump_node_edge_hook(old); } -mris_env_t *be_sched_mris_preprocess(const be_irg_t *birg) +mris_env_t *be_sched_mris_preprocess(ir_graph *irg) { mris_env_t *env = XMALLOC(mris_env_t); - ir_graph *irg = be_get_birg_irg(birg); phase_init(&env->ph, irg, mris_irn_data_init); env->irg = irg;