X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fopt%2Fldstopt.c;h=c8552d610912828c0a002127eb1f87de6f632672;hb=b27ae245166bb695bc4e418ff416d91bc37d0f28;hp=f6f4f2fa3e01d0c8a6c72425a7296bfff85adc6d;hpb=6f068af98daa4725d60e5d23a8f98ec2841cfa44;p=libfirm diff --git a/ir/opt/ldstopt.c b/ir/opt/ldstopt.c index f6f4f2fa3..c8552d610 100644 --- a/ir/opt/ldstopt.c +++ b/ir/opt/ldstopt.c @@ -215,7 +215,7 @@ static void collect_nodes(ir_node *node, void *env) if (is_Proj(proj)) { pred = get_Proj_pred(proj); - is_exc = get_Proj_proj(proj) == pn_Generic_X_except; + is_exc = is_x_except_Proj(proj); } /* ignore Bad predecessors, they will be removed later */ @@ -1847,10 +1847,8 @@ static void move_loads_out_of_loops(scc *pscc, loop_env *env) } } } - - /* Within unreachable code, there might be memory loops without Phis. */ - if (phi_list == NULL) - return; + /* no Phis no fun */ + assert(phi_list != NULL && "DFS found a loop without Phi"); /* for now, we cannot handle more than one input (only reducible cf) */ if (phi_list->next != NULL) @@ -2285,8 +2283,8 @@ int optimize_load_store(ir_graph *irg) /* Handle graph state */ if (env.changes) { - set_irg_outs_inconsistent(irg); set_irg_entity_usage_state(irg, ir_entity_usage_not_computed); + edges_deactivate(irg); } if (env.changes & CF_CHANGED) {