Commit 4bb83350 by Jan Hubicka Committed by Jan Hubicka

* jump.c (duplicate_loop_exit_test): Fix loop header heuristics.

From-SVN: r43189
parent 1552f874
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> 2001-06-11 Joseph S. Myers <jsm28@cam.ac.uk>
* c-decl.c (store_parm_decls): When comparing types in an * c-decl.c (store_parm_decls): When comparing types in an
......
...@@ -1257,10 +1257,11 @@ duplicate_loop_exit_test (loop_start) ...@@ -1257,10 +1257,11 @@ duplicate_loop_exit_test (loop_start)
rtx label = JUMP_LABEL (copy); rtx label = JUMP_LABEL (copy);
if (label) if (label)
{ {
if (PREV_INSN (label) /* The jump_insn after loop_start should be followed
&& GET_CODE (PREV_INSN (label)) == NOTE by barrier and loopback label. */
&& (NOTE_LINE_NUMBER (PREV_INSN (label)) if (prev_nonnote_insn (label)
== NOTE_INSN_LOOP_CONT)) && (PREV_INSN (prev_nonnote_insn (label))
== NEXT_INSN (loop_start)))
predict_insn_def (copy, PRED_LOOP_HEADER, TAKEN); predict_insn_def (copy, PRED_LOOP_HEADER, TAKEN);
else else
predict_insn_def (copy, PRED_LOOP_HEADER, NOT_TAKEN); predict_insn_def (copy, PRED_LOOP_HEADER, NOT_TAKEN);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment