From a1cf916785ce1d6db7b0f78644d553dce6b77891 Mon Sep 17 00:00:00 2001 From: bonzini Date: Mon, 30 Jan 2012 12:56:17 +0000 Subject: [PATCH] 2012-01-30 Paolo Bonzini * df-problems.c (df_kill_notes): Check that the use refers to the note under examination. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183719 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/df-problems.c | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3fbd36b14e9..444d1818a88 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2012-01-30 Paolo Bonzini + + * df-problems.c (df_kill_notes): Check that the use refers + to the note under examination. + 2012-01-30 Eric Botcazou PR target/51920 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; -- 2.11.4.GIT