diff options
author | Paolo Bonzini <bonzini@gnu.org> | 2012-01-30 12:56:17 +0000 |
---|---|---|
committer | Paolo Bonzini <bonzini@gnu.org> | 2012-01-30 12:56:17 +0000 |
commit | 816510861d76252cf27800bdde772b2328e11cc0 (patch) | |
tree | 0811a733524bd4a5cbf3d5ab727b8451e3229e9d /gcc/df-problems.c | |
parent | d36eda4230449c114fed2353bd8ba25ecb0e3c58 (diff) |
2012-01-30 Paolo Bonzini <bonzini@gnu.org>
* df-problems.c (df_kill_notes): Check that the use refers
to the note under examination.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@183719 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/df-problems.c')
-rw-r--r-- | gcc/df-problems.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/df-problems.c b/gcc/df-problems.c index f9b0bc1d872..c9fc91bd376 100644 --- a/gcc/df-problems.c +++ b/gcc/df-problems.c @@ -1,6 +1,6 @@ /* Standard problems for dataflow support routines. 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) @@ -2814,8 +2814,10 @@ df_kill_notes (rtx insn, bitmap live) { df_ref use = *use_rec; if (DF_REF_REGNO (use) > FIRST_PSEUDO_REGISTER + && DF_REF_LOC (use) && (DF_REF_FLAGS (use) & DF_REF_IN_NOTE) - && ! bitmap_bit_p (live, DF_REF_REGNO (use))) + && ! bitmap_bit_p (live, DF_REF_REGNO (use)) + && loc_mentioned_in_p (DF_REF_LOC (use), XEXP (link, 0))) { deleted = true; break; |