summaryrefslogtreecommitdiff
path: root/gcc/sched-rgn.c
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2010-11-24 16:56:44 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2010-11-24 16:56:44 +0000
commit5672b7f8b134fa65319353041e024e66f3bd6ad1 (patch)
tree7a0688da5418ba89145b1c48716b4202ada97dac /gcc/sched-rgn.c
parente7a960245cbc9ed81b426a79876e0a84a59bcea1 (diff)
downloadgcc-5672b7f8b134fa65319353041e024e66f3bd6ad1.tar.gz
PR rtl-optimization/46614
* sched-deps.c (NON_FLUSH_JUMP_KIND, NON_FLUSH_JUMP_P): Define. (deps_analyze_insn): Mark JUMP_INSNs in last_pending_memory_flush that weren't added through flush_pending_lists with NON_FLUSH_JUMP_KIND. (sched_analyze_2, sched_analyze_insn): Check NON_FLUSH_JUMP_P on INSN_LIST instead of JUMP_P check on its operand. * sched-rgn.c (concat_INSN_LIST): Copy over REG_NOTE_KIND. * gcc.dg/pr46614.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167121 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/sched-rgn.c')
-rw-r--r--gcc/sched-rgn.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/sched-rgn.c b/gcc/sched-rgn.c
index 7e971e1d6ec..1297cf8dea4 100644
--- a/gcc/sched-rgn.c
+++ b/gcc/sched-rgn.c
@@ -2574,7 +2574,10 @@ concat_INSN_LIST (rtx copy, rtx old)
{
rtx new_rtx = old;
for (; copy ; copy = XEXP (copy, 1))
- new_rtx = alloc_INSN_LIST (XEXP (copy, 0), new_rtx);
+ {
+ new_rtx = alloc_INSN_LIST (XEXP (copy, 0), new_rtx);
+ PUT_REG_NOTE_KIND (new_rtx, REG_NOTE_KIND (copy));
+ }
return new_rtx;
}