Hello! No functional change.
2011-10-05 Uros Bizjak <ubiz...@gmail.com> * config/i386/i386.c (distance_non_agu_define): Simplify calculation of "found". Simplify return value calculation. (distance_agu_use): Ditto. Tested on x86_64-pc-linux-gnu {,-m32} with shrink-wrapping disabled, committed to mainline SVN. Uros.
Index: i386.c =================================================================== --- i386.c (revision 179558) +++ i386.c (working copy) @@ -16139,19 +16139,20 @@ distance_non_agu_define (unsigned int regno1, unsi FOR_EACH_EDGE (e, ei, bb->preds) { - int bb_dist = distance_non_agu_define_in_bb (regno1, regno2, - insn, distance, - BB_END (e->src), - &found_in_bb); + int bb_dist + = distance_non_agu_define_in_bb (regno1, regno2, + insn, distance, + BB_END (e->src), + &found_in_bb); if (found_in_bb) { if (shortest_dist < 0) shortest_dist = bb_dist; else if (bb_dist > 0) shortest_dist = MIN (bb_dist, shortest_dist); - } - found = found || found_in_bb; + found = true; + } } distance = shortest_dist; @@ -16164,11 +16165,9 @@ distance_non_agu_define (unsigned int regno1, unsi extract_insn_cached (insn); if (!found) - distance = -1; - else - distance = distance >> 1; + return -1; - return distance; + return distance >> 1; } /* Return the distance in half-cycles between INSN and the next @@ -16181,9 +16180,9 @@ distance_non_agu_define (unsigned int regno1, unsi found and false otherwise. */ static int -distance_agu_use_in_bb(unsigned int regno, - rtx insn, int distance, rtx start, - bool *found, bool *redefined) +distance_agu_use_in_bb (unsigned int regno, + rtx insn, int distance, rtx start, + bool *found, bool *redefined) { basic_block bb = start ? BLOCK_FOR_INSN (start) : NULL; rtx next = start; @@ -16268,18 +16267,19 @@ distance_agu_use (unsigned int regno0, rtx insn) FOR_EACH_EDGE (e, ei, bb->succs) { - int bb_dist = distance_agu_use_in_bb (regno0, insn, - distance, BB_HEAD (e->dest), - &found_in_bb, &redefined_in_bb); + int bb_dist + = distance_agu_use_in_bb (regno0, insn, + distance, BB_HEAD (e->dest), + &found_in_bb, &redefined_in_bb); if (found_in_bb) { if (shortest_dist < 0) shortest_dist = bb_dist; else if (bb_dist > 0) shortest_dist = MIN (bb_dist, shortest_dist); - } - found = found || found_in_bb; + found = true; + } } distance = shortest_dist; @@ -16287,11 +16287,9 @@ distance_agu_use (unsigned int regno0, rtx insn) } if (!found || redefined) - distance = -1; - else - distance = distance >> 1; + return -1; - return distance; + return distance >> 1; } /* Define this macro to tune LEA priority vs ADD, it take effect when @@ -16346,7 +16344,7 @@ ix86_lea_outperforms (rtx insn, unsigned int regno false otherwise. */ static bool -ix86_ok_to_clobber_flags(rtx insn) +ix86_ok_to_clobber_flags (rtx insn) { basic_block bb = BLOCK_FOR_INSN (insn); df_ref *use;