df-problems.c (df_kill_notes): Check that the use refers to the note under examination.

2012-01-30  Paolo Bonzini  <bonzini@gnu.org>

	* df-problems.c (df_kill_notes): Check that the use refers
	to the note under examination.

From-SVN: r183719
This commit is contained in:
Paolo Bonzini 2012-01-30 12:56:17 +00:00 committed by Paolo Bonzini
parent 825b2e07a5
commit 8203ac4983
2 changed files with 9 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2012-01-30 Paolo Bonzini <bonzini@gnu.org>
* df-problems.c (df_kill_notes): Check that the use refers
to the note under examination.
2012-01-30 Eric Botcazou <ebotcazou@adacore.com>
PR target/51920

View File

@ -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;