X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbessaconstr.c;h=eaf3a51ef9b3acf56a31c07ae5ffffea5b2d1a41;hb=04906225f6fe1bc22f73b5d6a98eb9c0992a9b54;hp=38b486eac8f47a4be857a9faae77eaf0cd56b7d1;hpb=cbcf8b93de62865b8564e6a47aca7a28790b65ad;p=libfirm diff --git a/ir/be/bessaconstr.c b/ir/be/bessaconstr.c index 38b486eac..eaf3a51ef 100644 --- a/ir/be/bessaconstr.c +++ b/ir/be/bessaconstr.c @@ -46,9 +46,10 @@ * This function reroutes all uses of the original value to the copies in the * corresponding dominance subtrees and creates Phi functions where necessary. */ -#ifdef HAVE_CONFIG_H #include "config.h" -#endif + +/* statev in this file is extensive, so only enable if needed */ +#define DISABLE_STATEV #include "bessaconstr.h" #include "bemodule.h" @@ -219,7 +220,7 @@ ir_node *search_def(be_ssa_construction_env_t *env, ir_node *at) static void introduce_def_at_block(ir_node *block, ir_node *def) { - if(irn_visited(block)) { + if (irn_visited_else_mark(block)) { ir_node *node = block; ir_node *current_def; @@ -241,7 +242,6 @@ void introduce_def_at_block(ir_node *block, ir_node *def) } else { set_irn_link(block, def); set_irn_link(def, NULL); - mark_irn_visited(block); } } @@ -347,9 +347,9 @@ ir_node **be_ssa_construction_get_new_phis(be_ssa_construction_env_t *env) void be_ssa_construction_fix_users_array(be_ssa_construction_env_t *env, ir_node **nodes, size_t nodes_len) { - stat_ev_cnt_decl(uses); const ir_edge_t *edge, *next; size_t i; + stat_ev_cnt_decl(uses); BE_TIMER_PUSH(t_ssa_constr);