From: Christoph Mallon Date: Mon, 13 Oct 2008 07:26:39 +0000 (+0000) Subject: Use prevents_AM() in use_dest_am(). X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=a91976f2476feb77860b3f7abea0eaa8c913154e;p=libfirm Use prevents_AM() in use_dest_am(). [r22826] --- diff --git a/ir/be/ia32/ia32_transform.c b/ir/be/ia32/ia32_transform.c index 97fc2643e..b917b9941 100644 --- a/ir/be/ia32/ia32_transform.c +++ b/ir/be/ia32/ia32_transform.c @@ -1942,25 +1942,10 @@ static int use_dest_am(ir_node *block, ir_node *node, ir_node *mem, return 0; } - if (is_Sync(mem)) { - int i; - - for (i = get_Sync_n_preds(mem) - 1; i >= 0; --i) { - ir_node *const pred = get_Sync_pred(mem, i); - - if (is_Proj(pred) && get_Proj_pred(pred) == load) - continue; - - if (get_nodes_block(pred) == block && - heights_reachable_in_block(heights, pred, load)) { - return 0; - } - } - } else { - /* Store should be attached to the load */ - if (!is_Proj(mem) || get_Proj_pred(mem) != load) - return 0; - } + if (prevents_AM(block, load, mem)) + return 0; + /* Store should be attached to the load via mem */ + assert(heights_reachable_in_block(heights, mem, load)); return 1; }