Commit 740a5d92 by Doug Evans

sched.c (update_flow_info): Handle REG_EXEC_COUNT and REG_BR_PROB notes.

	* sched.c (update_flow_info): Handle REG_EXEC_COUNT and REG_BR_PROB
	notes.

From-SVN: r13822
parent f6e3c1bb
/* Instruction scheduling pass. /* Instruction scheduling pass.
Copyright (C) 1992, 93-95, 1996 Free Software Foundation, Inc. Copyright (C) 1992, 93-96, 1997 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com) Contributed by Michael Tiemann (tiemann@cygnus.com)
Enhanced by, and currently maintained by, Jim Wilson (wilson@cygnus.com) Enhanced by, and currently maintained by, Jim Wilson (wilson@cygnus.com)
...@@ -4565,6 +4565,12 @@ update_flow_info (notes, first, last, orig_insn) ...@@ -4565,6 +4565,12 @@ update_flow_info (notes, first, last, orig_insn)
XEXP (note, 0) = first; XEXP (note, 0) = first;
break; break;
case REG_EXEC_COUNT:
/* Move a REG_EXEC_COUNT note to the first insn created. */
XEXP (note, 1) = REG_NOTES (first);
REG_NOTES (first) = note;
break;
case REG_RETVAL: case REG_RETVAL:
/* Move a REG_RETVAL note to the last insn created, and update /* Move a REG_RETVAL note to the last insn created, and update
the corresponding REG_LIBCALL note. */ the corresponding REG_LIBCALL note. */
...@@ -4578,6 +4584,7 @@ update_flow_info (notes, first, last, orig_insn) ...@@ -4578,6 +4584,7 @@ update_flow_info (notes, first, last, orig_insn)
break; break;
case REG_NONNEG: case REG_NONNEG:
case REG_BR_PROB:
/* This should be moved to whichever instruction is a JUMP_INSN. */ /* This should be moved to whichever instruction is a JUMP_INSN. */
for (insn = last; ; insn = PREV_INSN (insn)) for (insn = last; ; insn = PREV_INSN (insn))
......
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