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]

[PATCH] Fix ia64 bootstrap failure caused by df-problems.c change (PR bootstrap/43994)


Hi!

Apparently the mode between DF_REF_REAL_REG and *DF_REF_REAL_LOC can differ,
it seems we need to look at the latter, otherwise we can replace a reg
with one mode with a DEBUG_EXPR with different mode.

Bootstrapped/regtested on x86_64-linux and i686-linux, fixes the testcase
in x86_64-linux to ia64-linux cross.

Ok for trunk?

2010-05-05  Jakub Jelinek  <jakub@redhat.com>

	PR bootstrap/43994
	* df-problems.c (dead_debug_insert_before): Use *DF_REF_REAL_LOC
	instead of DF_REF_REAL_REG.

--- gcc/df-problems.c.jj	2010-05-05 19:11:01.000000000 +0200
+++ gcc/df-problems.c	2010-05-05 19:49:00.000000000 +0200
@@ -3501,8 +3501,8 @@ dead_debug_insert_before (struct dead_de
 	  cur->next = NULL;
 	  if (!reg
 	      || (GET_MODE_BITSIZE (GET_MODE (reg))
-		  < GET_MODE_BITSIZE (GET_MODE (DF_REF_REAL_REG (cur->use)))))
-	    reg = DF_REF_REAL_REG (cur->use);
+		  < GET_MODE_BITSIZE (GET_MODE (*DF_REF_REAL_LOC (cur->use)))))
+	    reg = *DF_REF_REAL_LOC (cur->use);
 	}
       else
 	tailp = &(*tailp)->next;
@@ -3524,11 +3524,11 @@ dead_debug_insert_before (struct dead_de
   /* Adjust all uses.  */
   while ((cur = uses))
     {
-      if (GET_MODE (DF_REF_REAL_REG (cur->use)) == GET_MODE (reg))
+      if (GET_MODE (*DF_REF_REAL_LOC (cur->use)) == GET_MODE (reg))
 	*DF_REF_REAL_LOC (cur->use) = dval;
       else
 	*DF_REF_REAL_LOC (cur->use)
-	  = gen_lowpart_SUBREG (GET_MODE (DF_REF_REAL_REG (cur->use)), dval);
+	  = gen_lowpart_SUBREG (GET_MODE (*DF_REF_REAL_LOC (cur->use)), dval);
       /* ??? Should we simplify subreg of subreg?  */
       df_insn_rescan (DF_REF_INSN (cur->use));
       uses = cur->next;

	Jakub


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