public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [patch] PR33667, invalid rtx sharing
@ 2007-10-05 15:05 Michael Matz
  2007-10-05 15:12 ` Richard Guenther
  2007-10-05 15:42 ` Ian Lance Taylor
  0 siblings, 2 replies; 4+ messages in thread
From: Michael Matz @ 2007-10-05 15:05 UTC (permalink / raw)
  To: gcc-patches

Hi,

lower-subreg doesn't update the match_dups correctly.  Before reload they 
need to be kept unshared, hence validate_change can't be used.  We could 
use either copy_rtx or validate_unshare_change, of which I chose the 
latter.

Fixes the bug, I've put it to bootstrapping and regtesting.  Okay for 
trunk?

I'll include the testcase from the bugreport as gcc.dg/pr33667.c .


Ciao,
Michael.
	* lower-subreg.c (decompose_multiword_subregs): Use 
	validate_unshare_change().

Index: gcc/lower-subreg.c
===================================================================
--- gcc/lower-subreg.c	(revision 129030)
+++ gcc/lower-subreg.c	(working copy)
@@ -1339,7 +1339,7 @@ decompose_multiword_subregs (void)
 			  int dup_num = recog_data.dup_num[i];
 			  rtx *px = recog_data.operand_loc[dup_num];
 
-			  validate_change (insn, pl, *px, 1);
+			  validate_unshare_change (insn, pl, *px, 1);
 			}
 
 		      i = apply_change_group ();

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-10-05 17:57 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-10-05 15:05 [patch] PR33667, invalid rtx sharing Michael Matz
2007-10-05 15:12 ` Richard Guenther
2007-10-05 17:57   ` Michael Matz
2007-10-05 15:42 ` Ian Lance Taylor

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).