aboutsummaryrefslogtreecommitdiff
path: root/gcc/df-scan.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2010-01-29 13:14:47 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2010-01-29 13:14:47 +0100
commitc23cd1d60fad597684f39e56134ff918a9bab466 (patch)
tree099818190b187b032b4dfe2e1e0061d89697cfca /gcc/df-scan.c
parent38bc76da3d0f12058f0fba2ee1d3dff17abb2dc7 (diff)
downloadgcc-c23cd1d60fad597684f39e56134ff918a9bab466.zip
gcc-c23cd1d60fad597684f39e56134ff918a9bab466.tar.gz
gcc-c23cd1d60fad597684f39e56134ff918a9bab466.tar.bz2
re PR rtl-optimization/42889 ("-fcompare-debug failure (length)" with "-O1 -fgcse")
PR rtl-optimization/42889 * df.h (df_set_bb_dirty_nonlr): New prototype. * df-core.c (df_set_bb_dirty_nonlr): New function. * df-scan.c (df_insn_rescan): Call it instead of df_set_bb_dirty for DEBUG_INSNs. * gcc.dg/pr42889.c: New test. From-SVN: r156344
Diffstat (limited to 'gcc/df-scan.c')
-rw-r--r--gcc/df-scan.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/df-scan.c b/gcc/df-scan.c
index 6c8c42b..c3a3dc7 100644
--- a/gcc/df-scan.c
+++ b/gcc/df-scan.c
@@ -1301,7 +1301,10 @@ df_insn_rescan (rtx insn)
}
df_refs_add_to_chains (&collection_rec, bb, insn);
- df_set_bb_dirty (bb);
+ if (DEBUG_INSN_P (insn))
+ df_set_bb_dirty_nonlr (bb);
+ else
+ df_set_bb_dirty (bb);
VEC_free (df_ref, stack, collection_rec.def_vec);
VEC_free (df_ref, stack, collection_rec.use_vec);