diff options
author | Steven Bosscher <stevenb.gcc@gmail.com> | 2007-11-01 21:03:50 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2007-11-01 21:03:50 +0000 |
commit | f8423fea8da09d34b08b9cec9a72a2d8c9ba42e7 (patch) | |
tree | d5c243f9592bf5784b11ba0be1a11349d383d428 /gcc | |
parent | ba8a73e9fb98db2eb3abd060227f56cba46c22e1 (diff) | |
download | gcc-f8423fea8da09d34b08b9cec9a72a2d8c9ba42e7.zip gcc-f8423fea8da09d34b08b9cec9a72a2d8c9ba42e7.tar.gz gcc-f8423fea8da09d34b08b9cec9a72a2d8c9ba42e7.tar.bz2 |
re PR rtl-optimization/33828 (Issues with code hoisting implementation in gcse.c)
PR rtl-optimization/33828
* gcse.c (compute_code_hoist_vbeinout): Fix order of computation
of VBEIN and VBEOUT.
From-SVN: r129832
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/gcse.c | 10 |
2 files changed, 13 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a39ef317..c790c1f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2007-11-01 Steven Bosscher <stevenb.gcc@gmail.com> + + PR rtl-optimization/33828 + * gcse.c (compute_code_hoist_vbeinout): Fix order of computation + of VBEIN and VBEOUT. + 2007-11-01 Eric Botcazou <ebotcazou@libertysurf.fr> * optabs.c (prepare_cmp_insn): Merge a couple of conditional blocks. @@ -4772,10 +4772,14 @@ compute_code_hoist_vbeinout (void) the convergence. */ FOR_EACH_BB_REVERSE (bb) { - changed |= sbitmap_a_or_b_and_c_cg (hoist_vbein[bb->index], antloc[bb->index], - hoist_vbeout[bb->index], transp[bb->index]); if (bb->next_bb != EXIT_BLOCK_PTR) - sbitmap_intersection_of_succs (hoist_vbeout[bb->index], hoist_vbein, bb->index); + sbitmap_intersection_of_succs (hoist_vbeout[bb->index], + hoist_vbein, bb->index); + + changed |= sbitmap_a_or_b_and_c_cg (hoist_vbein[bb->index], + antloc[bb->index], + hoist_vbeout[bb->index], + transp[bb->index]); } passes++; |