Commit 8e08deeb by Zdenek Dvorak Committed by Zdenek Dvorak

re PR rtl-optimization/27872 (Internal compiler error in verify_loop_structure)

	PR tree-optimization/27872
	* tree-ssa-loop-manip.c (tree_unroll_loop): Set EDGE_IRREDUCIBLE_LOOP
	flag on the new exit edge of the unrolled loop.

From-SVN: r114482
parent 136778e9
2006-06-07 Zdenek Dvorak <dvorakz@suse.cz>
PR tree-optimization/27872
* tree-ssa-loop-manip.c (tree_unroll_loop): Set EDGE_IRREDUCIBLE_LOOP
flag on the new exit edge of the unrolled loop.
2006-06-07 Zdenek Dvorak <dvorakz@suse.cz>
PR rtl-optimization/26449
* loop-invariant.c (move_invariant_reg): Fail if force_operand fails.
......
......@@ -841,6 +841,7 @@ tree_unroll_loop (struct loops *loops, struct loop *loop, unsigned factor,
use_operand_p op;
bool ok;
unsigned est_niter;
unsigned irr = loop_preheader_edge (loop)->flags & EDGE_IRREDUCIBLE_LOOP;
sbitmap wont_exit;
est_niter = expected_loop_iterations (loop);
......@@ -883,7 +884,7 @@ tree_unroll_loop (struct loops *loops, struct loop *loop, unsigned factor,
loop_split_edge_with (loop_latch_edge (loop), NULL);
exit_bb = single_pred (loop->latch);
new_exit = make_edge (exit_bb, rest, EDGE_FALSE_VALUE);
new_exit = make_edge (exit_bb, rest, EDGE_FALSE_VALUE | irr);
new_exit->count = loop_preheader_edge (loop)->count;
est_niter = est_niter / factor + 1;
new_exit->probability = REG_BR_PROB_BASE / est_niter;
......
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