diff options
author | Jan Hubicka <jh@suse.cz> | 2001-06-11 15:49:24 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2001-06-11 13:49:24 +0000 |
commit | 4bb83350d48a512294f661a484353481b97e7360 (patch) | |
tree | 5a9aabf7b8265d88189e079bc2dd086773323d39 | |
parent | 1552f8745719c1b62efc50579e200c7e851924c5 (diff) | |
download | gcc-4bb83350d48a512294f661a484353481b97e7360.zip gcc-4bb83350d48a512294f661a484353481b97e7360.tar.gz gcc-4bb83350d48a512294f661a484353481b97e7360.tar.bz2 |
* jump.c (duplicate_loop_exit_test): Fix loop header heuristics.
From-SVN: r43189
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/jump.c | 9 |
2 files changed, 9 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c39562b..5f480ff 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Mon Jun 11 15:47:45 CEST 2001 Jan Hubicka <jh@suse.cz> + + * jump.c (duplicate_loop_exit_test): Fix loop header heuristics. + 2001-06-11 Joseph S. Myers <jsm28@cam.ac.uk> * c-decl.c (store_parm_decls): When comparing types in an @@ -1257,10 +1257,11 @@ duplicate_loop_exit_test (loop_start) rtx label = JUMP_LABEL (copy); if (label) { - if (PREV_INSN (label) - && GET_CODE (PREV_INSN (label)) == NOTE - && (NOTE_LINE_NUMBER (PREV_INSN (label)) - == NOTE_INSN_LOOP_CONT)) + /* The jump_insn after loop_start should be followed + by barrier and loopback label. */ + if (prev_nonnote_insn (label) + && (PREV_INSN (prev_nonnote_insn (label)) + == NEXT_INSN (loop_start))) predict_insn_def (copy, PRED_LOOP_HEADER, TAKEN); else predict_insn_def (copy, PRED_LOOP_HEADER, NOT_TAKEN); |