diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-04-09 21:15:38 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-04-09 21:15:38 +0000 |
commit | 739c050bcaf944bcd09097f6ead48c87f326e01d (patch) | |
tree | 8754b8c85cc9b9c8aec4625d23bc14b3772ad4ff /gcc/lcm.c | |
parent | 3f67d569abcdaf72a857e4801910dfa25d471c9d (diff) | |
download | gcc-739c050bcaf944bcd09097f6ead48c87f326e01d.tar.gz |
* sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
Do not return changed status.
(sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
New functions that do return changed status.
* sbitmap.h: Update decls.
* gcse.c, lcm.c: Use _cg functions as needed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52094 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/lcm.c')
-rw-r--r-- | gcc/lcm.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/gcc/lcm.c b/gcc/lcm.c index a7d1dac7b82..bc95aea8dd5 100644 --- a/gcc/lcm.c +++ b/gcc/lcm.c @@ -162,7 +162,8 @@ compute_antinout_edge (antloc, transp, antin, antout) sbitmap_intersection_of_succs (antout[bb], antin, bb); } - if (sbitmap_a_or_b_and_c (antin[bb], antloc[bb], transp[bb], antout[bb])) + if (sbitmap_a_or_b_and_c_cg (antin[bb], antloc[bb], + transp[bb], antout[bb])) /* If the in state of this block changed, then we need to add the predecessors of this block to the worklist if they are not already on the worklist. */ @@ -331,10 +332,10 @@ compute_laterin (edge_list, earliest, antloc, later, laterin) /* Calculate LATER for all outgoing edges. */ for (e = b->succ; e != NULL; e = e->succ_next) - if (sbitmap_union_of_diff (later[(size_t) e->aux], - earliest[(size_t) e->aux], - laterin[e->src->index], - antloc[e->src->index]) + if (sbitmap_union_of_diff_cg (later[(size_t) e->aux], + earliest[(size_t) e->aux], + laterin[e->src->index], + antloc[e->src->index]) /* If LATER for an outgoing edge was changed, then we need to add the target of the outgoing edge to the worklist. */ && e->dest != EXIT_BLOCK_PTR && e->dest->aux == 0) @@ -552,7 +553,7 @@ compute_available (avloc, kill, avout, avin) sbitmap_intersection_of_preds (avin[bb], avout, bb); } - if (sbitmap_union_of_diff (avout[bb], avloc[bb], avin[bb], kill[bb])) + if (sbitmap_union_of_diff_cg (avout[bb], avloc[bb], avin[bb], kill[bb])) /* If the out state of this block changed, then we need to add the successors of this block to the worklist if they are not already on the worklist. */ @@ -678,10 +679,10 @@ compute_nearerout (edge_list, farthest, st_avloc, nearer, nearerout) /* Calculate NEARER for all incoming edges. */ for (e = b->pred; e != NULL; e = e->pred_next) - if (sbitmap_union_of_diff (nearer[(size_t) e->aux], - farthest[(size_t) e->aux], - nearerout[e->dest->index], - st_avloc[e->dest->index]) + if (sbitmap_union_of_diff_cg (nearer[(size_t) e->aux], + farthest[(size_t) e->aux], + nearerout[e->dest->index], + st_avloc[e->dest->index]) /* If NEARER for an incoming edge was changed, then we need to add the source of the incoming edge to the worklist. */ && e->src != ENTRY_BLOCK_PTR && e->src->aux == 0) |