aboutsummaryrefslogtreecommitdiff
path: root/gcc/sched-rgn.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2010-11-24 17:56:44 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2010-11-24 17:56:44 +0100
commit0d40d51cf5d58f791e23b201b5100c8db4063ad3 (patch)
tree7a0688da5418ba89145b1c48716b4202ada97dac /gcc/sched-rgn.c
parent6a227990f722042edd7bae6fd755759520c550ba (diff)
downloadgcc-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.c5
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;
}