summaryrefslogtreecommitdiff
path: root/gcc/sched-deps.c
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2010-06-04 16:43:42 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2010-06-04 16:43:42 +0000
commit3e0431fecaefa15cad0253fb67f699eba01c43eb (patch)
tree2a10de1ed4ebf3dc4f8016918bf866e53a26e1d0 /gcc/sched-deps.c
parent685ead0bac5df728acc5b886c40d654c7edd1802 (diff)
downloadgcc-3e0431fecaefa15cad0253fb67f699eba01c43eb.tar.gz
PR rtl-optimization/44013
* sched-deps.c (add_dependence_list_and_free): Don't free lists when processing debug insns. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160281 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/sched-deps.c')
-rw-r--r--gcc/sched-deps.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/sched-deps.c b/gcc/sched-deps.c
index 556c38a4fb0..4577c8e1c51 100644
--- a/gcc/sched-deps.c
+++ b/gcc/sched-deps.c
@@ -1407,7 +1407,10 @@ add_dependence_list_and_free (struct deps_desc *deps, rtx insn, rtx *listp,
{
rtx list, next;
- if (deps->readonly)
+ /* We don't want to short-circuit dependencies involving debug
+ insns, because they may cause actual dependencies to be
+ disregarded. */
+ if (deps->readonly || DEBUG_INSN_P (insn))
{
add_dependence_list (insn, *listp, uncond, dep_type);
return;