diff options
author | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-11-24 16:56:44 +0000 |
---|---|---|
committer | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-11-24 16:56:44 +0000 |
commit | 5672b7f8b134fa65319353041e024e66f3bd6ad1 (patch) | |
tree | 7a0688da5418ba89145b1c48716b4202ada97dac /gcc/sched-rgn.c | |
parent | e7a960245cbc9ed81b426a79876e0a84a59bcea1 (diff) | |
download | gcc-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.c | 5 |
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; } |