Hi,
better_edge_p will always return false when best_prob is uninitialized.  This
patch makes it to chose first edge with initialized probability instead.
This solves code size regression seen on our Itanium tester at least for
gzip's deflate.

Will commit it after bootstrapping/regtesting x86_64-linux.

Honza
        
        * bb-reorder.c (better_edge_p): Deal with uninitialized best_prob.

Index: bb-reorder.c
===================================================================
--- bb-reorder.c        (revision 249928)
+++ bb-reorder.c        (working copy)
@@ -957,7 +957,7 @@ better_edge_p (const_basic_block bb, con
     return !cur_best_edge
           || cur_best_edge->dest->index > e->dest->index;
 
-  if (prob > best_prob + diff_prob)
+  if (prob > best_prob + diff_prob || !best_prob.initialized_p ())
     /* The edge has higher probability than the temporary best edge.  */
     is_better_edge = true;
   else if (prob < best_prob - diff_prob)

Reply via email to