This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Passes uses rather than defs to df_set_dead_notes_for_mw
- From: Richard Sandiford <richard dot sandiford at linaro dot org>
- To: gcc-patches at gcc dot gnu dot org
- Cc: zadeck at naturalbridge dot com
- Date: Fri, 26 Aug 2011 14:54:12 +0100
- Subject: Passes uses rather than defs to df_set_dead_notes_for_mw
As described here:
http://gcc.gnu.org/ml/gcc/2011-08/msg00294.html
df is currently failing to create REG_DEAD notes for the last use
of a multi-reg hard register. This appears to be a typo:
df_set_dead_notes_for_mw is supposed to handle uses, and the comment
above it says so, but df_note_bb_compute is passing defs instead.
Bootstrapped & regression-tested on x86_64-linux-gnu. OK to install?
Richard
gcc/
* df-problems.c (df_note_bb_compute): Pass uses rather than defs
to df_set_dead_notes_for_mw.
Index: gcc/df-problems.c
===================================================================
--- gcc/df-problems.c 2011-08-16 16:27:24.641037124 +0100
+++ gcc/df-problems.c 2011-08-26 14:48:48.521897439 +0100
@@ -3376,7 +3376,7 @@ df_note_bb_compute (unsigned int bb_inde
while (*mws_rec)
{
struct df_mw_hardreg *mws = *mws_rec;
- if ((DF_MWS_REG_DEF_P (mws))
+ if (DF_MWS_REG_USE_P (mws)
&& !df_ignore_stack_reg (mws->start_regno))
{
bool really_add_notes = debug_insn != 0;