Commit f8423fea by Steven Bosscher Committed by Eric Botcazou

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
parent ba8a73e9
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> 2007-11-01 Eric Botcazou <ebotcazou@libertysurf.fr>
* optabs.c (prepare_cmp_insn): Merge a couple of conditional blocks. * optabs.c (prepare_cmp_insn): Merge a couple of conditional blocks.
...@@ -4772,10 +4772,14 @@ compute_code_hoist_vbeinout (void) ...@@ -4772,10 +4772,14 @@ compute_code_hoist_vbeinout (void)
the convergence. */ the convergence. */
FOR_EACH_BB_REVERSE (bb) 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) 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++; passes++;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment