From bf743fc408e59aab4262b49f03b739930fadbb89 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Wed, 29 Feb 2012 09:12:04 +0100 Subject: [PATCH] re PR bootstrap/52397 (comparison failure with Ada enabled) 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. From-SVN: r184652 --- gcc/ChangeLog | 8 ++++++++ gcc/df-scan.c | 7 ++++--- gcc/df.h | 4 ++-- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2816c4ae8b0..dbc27a2a4be 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2012-02-29 Jakub Jelinek + + 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 Partially revert: diff --git a/gcc/df-scan.c b/gcc/df-scan.c index deaa9f96d53..39f444f9fc5 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 f59b52582c1..aec97883ee5 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 -- 2.30.2