diff options
author | Jakub Jelinek <jakub@redhat.com> | 2010-11-24 17:56:44 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2010-11-24 17:56:44 +0100 |
commit | 0d40d51cf5d58f791e23b201b5100c8db4063ad3 (patch) | |
tree | 7a0688da5418ba89145b1c48716b4202ada97dac /gcc/sched-rgn.c | |
parent | 6a227990f722042edd7bae6fd755759520c550ba (diff) | |
download | gcc-0d40d51cf5d58f791e23b201b5100c8db4063ad3.zip gcc-0d40d51cf5d58f791e23b201b5100c8db4063ad3.tar.gz gcc-0d40d51cf5d58f791e23b201b5100c8db4063ad3.tar.bz2 |
re PR rtl-optimization/46614 (gcc.dg/vect/vect-strided-u8-i8-gap4.c FAILs with -fno-rename-registers -fsched2-use-superblocks)
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.
From-SVN: r167121
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 7e971e1..1297cf8 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; } |