aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2010-09-08 21:54:02 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2010-09-08 21:54:02 +0000
commitc485684d0acd2d99cd81c327bd4b33f4d0a5872e (patch)
tree3a1d89704cc62f524af013c8628e5f45c470776c
parent359bea1da45819206bf0a9132362ee6e0f181282 (diff)
downloadgcc-c485684d0acd2d99cd81c327bd4b33f4d0a5872e.zip
gcc-c485684d0acd2d99cd81c327bd4b33f4d0a5872e.tar.gz
gcc-c485684d0acd2d99cd81c327bd4b33f4d0a5872e.tar.bz2
re PR debug/45531 (-fcompare-debug failure with -fvar-tracking-uninit, codegen differences)
PR debug/45531 * cfglayout.c (fixup_reorder_chain): Skip debug insns. From-SVN: r164032
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/cfglayout.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e02f98f..a6c6db3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2010-09-08 Alexandre Oliva <aoliva@redhat.com>
+ PR debug/45531
+ * cfglayout.c (fixup_reorder_chain): Skip debug insns.
+
+2010-09-08 Alexandre Oliva <aoliva@redhat.com>
+
PR debug/45419
PR debug/45408
* tree-pretty-print.c (dump_generic_node): Disregard top-level
diff --git a/gcc/cfglayout.c b/gcc/cfglayout.c
index 58c0478..e93e407 100644
--- a/gcc/cfglayout.c
+++ b/gcc/cfglayout.c
@@ -955,7 +955,7 @@ fixup_reorder_chain (void)
insn = BB_END (e->src);
end = PREV_INSN (BB_HEAD (e->src));
while (insn != end
- && (!INSN_P (insn) || INSN_LOCATOR (insn) == 0))
+ && (!NONDEBUG_INSN_P (insn) || INSN_LOCATOR (insn) == 0))
insn = PREV_INSN (insn);
if (insn != end
&& locator_eq (INSN_LOCATOR (insn), (int) e->goto_locus))
@@ -970,7 +970,7 @@ fixup_reorder_chain (void)
{
insn = BB_HEAD (e->dest);
end = NEXT_INSN (BB_END (e->dest));
- while (insn != end && !INSN_P (insn))
+ while (insn != end && !NONDEBUG_INSN_P (insn))
insn = NEXT_INSN (insn);
if (insn != end && INSN_LOCATOR (insn)
&& locator_eq (INSN_LOCATOR (insn), (int) e->goto_locus))