This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Bug middle-end/32749] [4.3 regression]: gfortran.dg/auto_array_1.f90
- From: Kenneth Zadeck <zadeck at naturalbridge dot com>
- To: gcc-bugzilla at gcc dot gnu dot org, "Bonzini, Paolo" <bonzini at gnu dot org>, "Park, Seongbae" <seongbae dot park at gmail dot com>, gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 26 Jul 2007 07:51:20 -0400
- Subject: Re: [Bug middle-end/32749] [4.3 regression]: gfortran.dg/auto_array_1.f90
- References: <bug-32749-682@http.gcc.gnu.org/bugzilla/> <20070716232625.9422.qmail@sourceware.org>
This patch extends the fix in
http://gcc.gnu.org/ml/gcc-patches/2007-06/msg01557.html
to handle the case of clobbers inside conditional calls.
This problem caused the regression of gfortran.dg/matmul_3.f90 on the
ia-64 in addition to the regression cited in this pr.
Tested on ppc-32, ia-64 and x86-64.
2007-07-26 Kenneth Zadeck <zadeck@naturalbridge.com>
PR middle-end/32749
* df-problems.c (df_note_bb_compute): Handle case of clobber
inside conditional call.
ok to commit?
kenny
Index: df-problems.c
===================================================================
--- df-problems.c (revision 126918)
+++ df-problems.c (working copy)
@@ -3989,7 +3989,7 @@ df_note_bb_compute (unsigned int bb_inde
/* However a may or must clobber still needs to kill the
reg so that REG_DEAD notes are later placed
appropriately. */
- else
+ else if (!(DF_REF_FLAGS (def) & (DF_REF_PARTIAL | DF_REF_CONDITIONAL)))
bitmap_clear_bit (live, DF_REF_REGNO (def));
}
}