From: Matthias Braun Date: Fri, 23 Jul 2010 12:00:40 +0000 (+0000) Subject: make add_missing_keeps more robust in case of SwitchJumps X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=0aaae40cf1813b6c670e7122ff357d0cbf1c8a85;p=libfirm make add_missing_keeps more robust in case of SwitchJumps [r27791] --- diff --git a/ir/be/beabihelper.c b/ir/be/beabihelper.c index 0022c37f1..ce6f98a75 100644 --- a/ir/be/beabihelper.c +++ b/ir/be/beabihelper.c @@ -400,13 +400,14 @@ static void add_missing_keep_walker(ir_node *node, void *data) rbitset_alloca(found_projs, n_outs); foreach_out_edge(node, edge) { ir_node *succ = get_edge_src_irn(edge); + ir_mode *mode = get_irn_mode(succ); int pn; /* The node could be kept */ if (is_End(succ) || is_Anchor(succ)) continue; - if (get_irn_mode(succ) == mode_M) + if (mode == mode_M || mode == mode_X) continue; pn = get_Proj_proj(succ);