aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/df-scan.c7
-rw-r--r--gcc/df.h4
3 files changed, 14 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2816c4a..dbc27a2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2012-02-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/52397
+ * df.h (struct df_d): Adjust comment that hard_regs_live_count
+ doesn't count DEBUG_INSN refs.
+ * df-scan.c (df_ref_create_structure): Don't set DF_HARD_REG_LIVE
+ for DEBUG_INSN refs.
+
2012-02-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
Partially revert:
diff --git a/gcc/df-scan.c b/gcc/df-scan.c
index deaa9f9..39f444f 100644
--- a/gcc/df-scan.c
+++ b/gcc/df-scan.c
@@ -1,6 +1,6 @@
/* Scanning of rtl for dataflow analysis.
Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
- 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+ 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Originally contributed by Michael P. Hayes
(m.hayes@elec.canterbury.ac.nz, mhayes@redhat.com)
Major rewrite contributed by Danny Berlin (dberlin@dberlin.org)
@@ -2794,8 +2794,9 @@ df_ref_create_structure (enum df_ref_class cl,
DF_REF_FLAGS_CLEAR (this_ref, DF_HARD_REG_LIVE);
/* See if this ref needs to have DF_HARD_REG_LIVE bit set. */
- if ((regno < FIRST_PSEUDO_REGISTER)
- && (!DF_REF_IS_ARTIFICIAL (this_ref)))
+ if (regno < FIRST_PSEUDO_REGISTER
+ && !DF_REF_IS_ARTIFICIAL (this_ref)
+ && !DEBUG_INSN_P (DF_REF_INSN (this_ref)))
{
if (DF_REF_REG_DEF_P (this_ref))
{
diff --git a/gcc/df.h b/gcc/df.h
index f59b525..aec9788 100644
--- a/gcc/df.h
+++ b/gcc/df.h
@@ -1,7 +1,7 @@
/* Form lists of pseudo register references for autoinc optimization
for GNU compiler. This is part of flow optimization.
Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007, 2008,
- 2009, 2010 Free Software Foundation, Inc.
+ 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Originally contributed by Michael P. Hayes
(m.hayes@elec.canterbury.ac.nz, mhayes@redhat.com)
Major rewrite contributed by Danny Berlin (dberlin@dberlin.org)
@@ -574,7 +574,7 @@ struct df_d
uses and defs as well as refs in eq notes are ignored. If the
ref is a def, it cannot be a MAY_CLOBBER def. If the ref is a
use, it cannot be the emim_reg_set or be the frame or arg pointer
- register.
+ register. Uses in debug insns are ignored.
IT IS NOT ACCEPTABLE TO MANUALLY CHANGE THIS ARRAY. This array
always reflects the actual number of refs in the insn stream that