diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2011-05-04 03:37:40 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2011-05-04 03:37:40 +0000 |
commit | 01a5c0abdf290517ccca141e9a3e7481dec87324 (patch) | |
tree | 31b7a13f945feca2f633574117d57079ed33e617 /gcc/combine.c | |
parent | f7bde72f67c3b48fb3038ea5a8d4b5351ed658cf (diff) | |
download | gcc-01a5c0abdf290517ccca141e9a3e7481dec87324.zip gcc-01a5c0abdf290517ccca141e9a3e7481dec87324.tar.gz gcc-01a5c0abdf290517ccca141e9a3e7481dec87324.tar.bz2 |
re PR debug/47994 (-fcompare-debug failure with -O2 -fpeel-loops -fno-rerun-cse-after-loop -fno-tree-loop-optimize -fno-web)
PR debug/47994
PR debug/47919
* combine.c (try_combine): Skip debug insns at m_split tests.
From-SVN: r173351
Diffstat (limited to 'gcc/combine.c')
-rw-r--r-- | gcc/combine.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/combine.c b/gcc/combine.c index 7bdbed4..0e6d65f 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -3457,7 +3457,7 @@ try_combine (rtx i3, rtx i2, rtx i1, rtx i0, int *new_direct_jump_p, newpat = m_split; } else if (m_split && NEXT_INSN (NEXT_INSN (m_split)) == NULL_RTX - && (next_real_insn (i2) == i3 + && (next_nonnote_nondebug_insn (i2) == i3 || ! use_crosses_set_p (PATTERN (m_split), DF_INSN_LUID (i2)))) { rtx i2set, i3set; @@ -3474,7 +3474,7 @@ try_combine (rtx i3, rtx i2, rtx i1, rtx i0, int *new_direct_jump_p, is used between I2 and I3, we also can't use these insns. */ if (i2_code_number >= 0 && i2set && i3set - && (next_real_insn (i2) == i3 + && (next_nonnote_nondebug_insn (i2) == i3 || ! reg_used_between_p (SET_DEST (i2set), i2, i3))) insn_code_number = recog_for_combine (&newi3pat, i3, &new_i3_notes); @@ -3522,7 +3522,7 @@ try_combine (rtx i3, rtx i2, rtx i1, rtx i0, int *new_direct_jump_p, || GET_MODE (*split) == VOIDmode || can_change_dest_mode (i2dest, added_sets_2, GET_MODE (*split))) - && (next_real_insn (i2) == i3 + && (next_nonnote_nondebug_insn (i2) == i3 || ! use_crosses_set_p (*split, DF_INSN_LUID (i2))) /* We can't overwrite I2DEST if its value is still used by NEWPAT. */ |