From 9fff751c3f50b1b13e40cc25702055561f6cf085 Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Wed, 5 Oct 2011 19:24:01 +0200 Subject: [PATCH] i386.c (distance_non_agu_define): Simplify calculation of "found". * config/i386/i386.c (distance_non_agu_define): Simplify calculation of "found". Simplify return value calculation. (distance_agu_use): Ditto. From-SVN: r179561 --- gcc/ChangeLog | 17 +++++++++------- gcc/config/i386/i386.c | 44 ++++++++++++++++++++---------------------- 2 files changed, 31 insertions(+), 30 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cb4a1b966bf..82691daf8f4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2011-10-05 Uros Bizjak + + * config/i386/i386.c (distance_non_agu_define): Simplify calculation + of "found". Simplify return value calculation. + (distance_agu_use): Ditto. + 2011-10-05 Bernd Schmidt PR bootstrap/50621 @@ -20,8 +26,7 @@ small data area register. (rx_pid_base_regnum): New function. Returns the number of the pid base register. - (rx_decl_for_addr): New function. Returns the symbolic part of a - MEM. + (rx_decl_for_addr): New function. Returns the symbolic part of a MEM. (rx_pid_data_operand): New function. Returns whether an object is in the position independent data area. (rx_legitimize_address): New function. Puts undecided PID @@ -49,8 +54,7 @@ (CASE_VECTOR_PC_RELATIVE): Define. (JUMP_TABLES_IN_TEXT_SECTION): Enable for PID mode. * config/rx/rx-protos.h (rx_maybe_pidify_operand): Prototype. - * doc/invoke.texi (RX Options): Document -mpid command line - option. + * doc/invoke.texi (RX Options): Document -mpid command line option. 2011-10-05 Richard Guenther @@ -101,9 +105,8 @@ 2011-10-05 Richard Guenther - * gimple-fold.c (gimple_fold_stmt_to_constant_1): For - ternary ops with an embedded expression valueize and fold - that as well. + * gimple-fold.c (gimple_fold_stmt_to_constant_1): For ternary ops + with an embedded expression valueize and fold that as well. * tree-ssa-sccvn.c (try_to_simplify): Also allow SSA name results from gimple_fold_stmt_to_constant_1. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 25bc887e632..ba24400afa2 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -16142,19 +16142,20 @@ distance_non_agu_define (unsigned int regno1, unsigned int regno2, 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; @@ -16167,11 +16168,9 @@ distance_non_agu_define (unsigned int regno1, unsigned int regno2, 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 @@ -16184,9 +16183,9 @@ distance_non_agu_define (unsigned int regno1, unsigned int regno2, 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; @@ -16271,18 +16270,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; @@ -16290,11 +16290,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 @@ -16349,7 +16347,7 @@ ix86_lea_outperforms (rtx insn, unsigned int regno0, unsigned int regno1, 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; -- 2.30.2