diff options
author | Uros Bizjak <uros@gcc.gnu.org> | 2011-10-05 19:24:01 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2011-10-05 19:24:01 +0200 |
commit | 9fff751c3f50b1b13e40cc25702055561f6cf085 (patch) | |
tree | 3a03ba85de326f4969fb2400ddccadbaa44f402f | |
parent | 17a3dae3c23664d4e264003af90061a9dae7b97c (diff) | |
download | gcc-9fff751c3f50b1b13e40cc25702055561f6cf085.zip gcc-9fff751c3f50b1b13e40cc25702055561f6cf085.tar.gz gcc-9fff751c3f50b1b13e40cc25702055561f6cf085.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 17 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 44 |
2 files changed, 31 insertions, 30 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cb4a1b9..82691da 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2011-10-05 Uros Bizjak <ubizjak@gmail.com> + + * 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 <bernds@codesourcery.com> 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 <rguenther@suse.de> @@ -101,9 +105,8 @@ 2011-10-05 Richard Guenther <rguenther@suse.de> - * 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 25bc887..ba24400 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; |