public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PR 47994] skip debug insns in combine m_split tests
@ 2011-04-29  7:53 Alexandre Oliva
  2011-04-30 22:43 ` Eric Botcazou
  0 siblings, 1 reply; 2+ messages in thread
From: Alexandre Oliva @ 2011-04-29  7:53 UTC (permalink / raw)
  To: gcc-patches

[-- Attachment #1: Type: text/plain, Size: 419 bytes --]

The testcase in PR 47994, as well as one of the tests in 47919, exposed
our failure to skip debug insns when testing whether it is safe to split
the unrecognizable insn resulting from combining 3 insns.
Unfortunately, both testcases are far too sensitive to other changes in
the compiler, to the point of being unusable as regression tests IMHO.

Regstrapped on x86_64-linux-gnu and i686-pc-linux-gnu.  Ok to install?


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: vta-combine-msplit-next-insn-check-pr47994.patch --]
[-- Type: text/x-diff, Size: 1532 bytes --]

for  gcc/ChangeLog
from  Alexandre Oliva  <aoliva@redhat.com>

	PR debug/47994
	PR debug/47919
	* combine.c (try_combine): Skip debug insns at m_split tests.

Index: gcc/combine.c
===================================================================
--- gcc/combine.c.orig	2011-04-29 02:16:34.718995124 -0300
+++ gcc/combine.c	2011-04-29 02:16:54.454998871 -0300
@@ -3457,7 +3457,7 @@ try_combine (rtx i3, rtx i2, rtx i1, rtx
 	    newpat = m_split;
 	}
       else if (m_split && NEXT_INSN (NEXT_INSN (m_split)) == NULL_RTX
-	       && (next_real_insn (i2) == i3
+	       && (next_nonnote_nondebug_insn (i2) == i3
 		   || ! use_crosses_set_p (PATTERN (m_split), DF_INSN_LUID (i2))))
 	{
 	  rtx i2set, i3set;
@@ -3474,7 +3474,7 @@ try_combine (rtx i3, rtx i2, rtx i1, rtx
 	     is used between I2 and I3, we also can't use these insns.  */
 
 	  if (i2_code_number >= 0 && i2set && i3set
-	      && (next_real_insn (i2) == i3
+	      && (next_nonnote_nondebug_insn (i2) == i3
 		  || ! reg_used_between_p (SET_DEST (i2set), i2, i3)))
 	    insn_code_number = recog_for_combine (&newi3pat, i3,
 						  &new_i3_notes);
@@ -3522,7 +3522,7 @@ try_combine (rtx i3, rtx i2, rtx i1, rtx
 	      || GET_MODE (*split) == VOIDmode
 	      || can_change_dest_mode (i2dest, added_sets_2,
 				       GET_MODE (*split)))
-	  && (next_real_insn (i2) == i3
+	  && (next_nonnote_nondebug_insn (i2) == i3
 	      || ! use_crosses_set_p (*split, DF_INSN_LUID (i2)))
 	  /* We can't overwrite I2DEST if its value is still used by
 	     NEWPAT.  */

[-- Attachment #3: Type: text/plain, Size: 257 bytes --]


-- 
Alexandre Oliva, freedom fighter    http://FSFLA.org/~lxoliva/
You must be the change you wish to see in the world. -- Gandhi
Be Free! -- http://FSFLA.org/   FSF Latin America board member
Free Software Evangelist      Red Hat Brazil Compiler Engineer

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

* Re: [PR 47994] skip debug insns in combine m_split tests
  2011-04-29  7:53 [PR 47994] skip debug insns in combine m_split tests Alexandre Oliva
@ 2011-04-30 22:43 ` Eric Botcazou
  0 siblings, 0 replies; 2+ messages in thread
From: Eric Botcazou @ 2011-04-30 22:43 UTC (permalink / raw)
  To: Alexandre Oliva; +Cc: gcc-patches

> The testcase in PR 47994, as well as one of the tests in 47919, exposed
> our failure to skip debug insns when testing whether it is safe to split
> the unrecognizable insn resulting from combining 3 insns.
> Unfortunately, both testcases are far too sensitive to other changes in
> the compiler, to the point of being unusable as regression tests IMHO.
>
> Regstrapped on x86_64-linux-gnu and i686-pc-linux-gnu.  Ok to install?

OK, thanks.

-- 
Eric Botcazou

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

end of thread, other threads:[~2011-04-30 21:23 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-04-29  7:53 [PR 47994] skip debug insns in combine m_split tests Alexandre Oliva
2011-04-30 22:43 ` Eric Botcazou

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).