This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Bug middle-end/32749] [4.3 regression]: gfortran.dg/auto_array_1.f90


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));
 	    }
 	}

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]