Patchwork patch to fix PR55512

login
register
mail settings
Submitter Jakub Jelinek
Date Nov. 29, 2012, 8:35 a.m.
Message ID <20121129083519.GV2315@tucnak.redhat.com>
Download mbox | patch
Permalink /patch/202684/
State New
Headers show

Comments

Jakub Jelinek - Nov. 29, 2012, 8:35 a.m.
On Wed, Nov 28, 2012 at 12:43:15PM -0500, Vladimir Makarov wrote:
>   The following patch fixes
> 
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55512
> 
>   The patch was successfully tested and bootstrapped on x86/x86-64.
> 
>   Committed as rev. 193901.
> 
> 2012-11-28  Vladimir Makarov  <vmakarov@redhat.com>
> 
>         PR rtl-optimization/55512
>         * lra-assigns.c (assign_by_spills): Assigned arbitrary hard regs
>         to failed reload pseudos instead of changing asm pattern.
>         * lra-constraints.c (MAX_CONSTRAINT_ITERATION_NUMBER): Increase
>         value.
> 
> 2012-11-28  Vladimir Makarov  <vmakarov@redhat.com>
> 
>         PR rtl-optimization/55512
>         * gcc.target/i386/pr55512-[1234].c: New tests.

Thanks, I've tweaked the tests slightly, the #define __builtin_unreachable()
was there just to put 4 different tests for 3 different ICEs into one test.

2012-11-29  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/55512
	* gcc.target/i386/pr55512-2.c: Remove unnecessary define.
	* gcc.target/i386/pr55512-4.c: Likewise.



	Jakub

Patch

--- gcc.target/i386/pr55512-2.c	(revision 193922)
+++ gcc.target/i386/pr55512-2.c	(revision 193923)
@@ -1,8 +1,6 @@ 
 /* { dg-do compile } */
 /* { dg-options "-O2" } */
 
-#define __builtin_unreachable() do { } while (0)
-
 int
 foo (int x)
 {
@@ -10,7 +8,6 @@  foo (int x)
 	    "r" (x + 4), "r" (x + 5), "r" (x + 6), "r" (x + 7),
 	    "r" (x + 8), "r" (x + 9), "r" (x + 10), "r" (x + 11),
 	    "r" (x + 12), "r" (x + 13), "r" (x + 14), "r" (x + 15) : : lab);
-  __builtin_unreachable ();
  lab:
   return 0;
 }
--- gcc.target/i386/pr55512-4.c	(revision 193922)
+++ gcc.target/i386/pr55512-4.c	(revision 193923)
@@ -1,8 +1,6 @@ 
 /* { dg-do compile } */
 /* { dg-options "-O2" } */
 
-#define __builtin_unreachable() do { } while (0)
-
 int
 bar (int x)
 {
@@ -11,7 +9,6 @@  bar (int x)
 	    "r" (x + 8), "r" (x + 9), "r" (x + 10), "r" (x + 11),
 	    "r" (x + 12), "r" (x + 13), "r" (x + 14), "r" (x + 15),
 	    "r" (x + 16) : : lab);
-  __builtin_unreachable ();
  lab:
   return 0;
 }