public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug rtl-optimization/23453] [4.0/4.1 regression] miscompilation of PARI/GP on x86 with gcse after reload
       [not found] <bug-23453-5724@http.gcc.gnu.org/bugzilla/>
@ 2005-10-14 11:38 ` bonzini at gcc dot gnu dot org
  2005-10-31  5:09 ` mmitchel at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: bonzini at gcc dot gnu dot org @ 2005-10-14 11:38 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from bonzini at gcc dot gnu dot org  2005-10-14 11:38 -------
> gcse after reload may move loads from stack around stack pointer changes. here
> is simple workaround, it is supposed to prevent gcse after reload from touching
> expressions containing stack pointer at all.

Off the top of my head, if GCSE-after-reload is designed to remove redundant
spills, will it do *anything* with your patch?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23453


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

* [Bug rtl-optimization/23453] [4.0/4.1 regression] miscompilation of PARI/GP on x86 with gcse after reload
       [not found] <bug-23453-5724@http.gcc.gnu.org/bugzilla/>
  2005-10-14 11:38 ` [Bug rtl-optimization/23453] [4.0/4.1 regression] miscompilation of PARI/GP on x86 with gcse after reload bonzini at gcc dot gnu dot org
@ 2005-10-31  5:09 ` mmitchel at gcc dot gnu dot org
  2005-11-05 10:48 ` steven at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-10-31  5:09 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from mmitchel at gcc dot gnu dot org  2005-10-31 05:09 -------
Leaving as P2.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23453


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

* [Bug rtl-optimization/23453] [4.0/4.1 regression] miscompilation of PARI/GP on x86 with gcse after reload
       [not found] <bug-23453-5724@http.gcc.gnu.org/bugzilla/>
  2005-10-14 11:38 ` [Bug rtl-optimization/23453] [4.0/4.1 regression] miscompilation of PARI/GP on x86 with gcse after reload bonzini at gcc dot gnu dot org
  2005-10-31  5:09 ` mmitchel at gcc dot gnu dot org
@ 2005-11-05 10:48 ` steven at gcc dot gnu dot org
  2005-12-15  6:50 ` [Bug rtl-optimization/23453] [4.0/4.1/4.2 " steven at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: steven at gcc dot gnu dot org @ 2005-11-05 10:48 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from steven at gcc dot gnu dot org  2005-11-05 10:48 -------
This doesn't fail for me with the test case from comment #6...  :-(


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23453


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

* [Bug rtl-optimization/23453] [4.0/4.1/4.2 regression] miscompilation of PARI/GP on x86 with gcse after reload
       [not found] <bug-23453-5724@http.gcc.gnu.org/bugzilla/>
                   ` (2 preceding siblings ...)
  2005-11-05 10:48 ` steven at gcc dot gnu dot org
@ 2005-12-15  6:50 ` steven at gcc dot gnu dot org
  2005-12-20 10:48 ` steven at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: steven at gcc dot gnu dot org @ 2005-12-15  6:50 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #11 from steven at gcc dot gnu dot org  2005-12-15 06:50 -------
If nobody is going to fix gcse2, the right thing to do is to not set
flag_gcse_after_reload for optimize >= 3 in opts.c:

Index: opts.c
===================================================================
--- opts.c      (revision 108560)
+++ opts.c      (working copy)
@@ -588,7 +588,6 @@ decode_options (unsigned int argc, const
     {
       flag_inline_functions = 1;
       flag_unswitch_loops = 1;
-      flag_gcse_after_reload = 1;
     }

   if (optimize < 2 || optimize_size)


Obviously it would be better to just fix the bug, but so far I, for one, can't
get a handle on it.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23453


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

* [Bug rtl-optimization/23453] [4.0/4.1/4.2 regression] miscompilation of PARI/GP on x86 with gcse after reload
       [not found] <bug-23453-5724@http.gcc.gnu.org/bugzilla/>
                   ` (3 preceding siblings ...)
  2005-12-15  6:50 ` [Bug rtl-optimization/23453] [4.0/4.1/4.2 " steven at gcc dot gnu dot org
@ 2005-12-20 10:48 ` steven at gcc dot gnu dot org
  2005-12-20 10:59 ` belyshev at depni dot sinp dot msu dot ru
  2005-12-20 16:11 ` steven at gcc dot gnu dot org
  6 siblings, 0 replies; 10+ messages in thread
From: steven at gcc dot gnu dot org @ 2005-12-20 10:48 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #12 from steven at gcc dot gnu dot org  2005-12-20 10:48 -------
Almost certainly a dup of PR25196


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23453


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

* [Bug rtl-optimization/23453] [4.0/4.1/4.2 regression] miscompilation of PARI/GP on x86 with gcse after reload
       [not found] <bug-23453-5724@http.gcc.gnu.org/bugzilla/>
                   ` (4 preceding siblings ...)
  2005-12-20 10:48 ` steven at gcc dot gnu dot org
@ 2005-12-20 10:59 ` belyshev at depni dot sinp dot msu dot ru
  2005-12-20 16:11 ` steven at gcc dot gnu dot org
  6 siblings, 0 replies; 10+ messages in thread
From: belyshev at depni dot sinp dot msu dot ru @ 2005-12-20 10:59 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #13 from belyshev at depni dot sinp dot msu dot ru  2005-12-20 10:59 -------
Marking as dup of bug 25196 because that bug contains simpler test case.

*** This bug has been marked as a duplicate of 25196 ***


-- 

belyshev at depni dot sinp dot msu dot ru changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |DUPLICATE


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23453


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

* [Bug rtl-optimization/23453] [4.0/4.1/4.2 regression] miscompilation of PARI/GP on x86 with gcse after reload
       [not found] <bug-23453-5724@http.gcc.gnu.org/bugzilla/>
                   ` (5 preceding siblings ...)
  2005-12-20 10:59 ` belyshev at depni dot sinp dot msu dot ru
@ 2005-12-20 16:11 ` steven at gcc dot gnu dot org
  6 siblings, 0 replies; 10+ messages in thread
From: steven at gcc dot gnu dot org @ 2005-12-20 16:11 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #14 from steven at gcc dot gnu dot org  2005-12-20 16:11 -------
The patch proposed in bug 25196 comment #8 indeed makes the test case from
comment #6 in this PR work (at least, it stops it from segfaulting).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23453


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

* [Bug rtl-optimization/23453] [4.0/4.1 regression] miscompilation of PARI/GP on x86 with gcse after reload
  2005-08-18  7:30 [Bug target/23453] New: [4.0 4.1 regression] miscompilation of PARI/GP on x86 debian-gcc at lists dot debian dot org
  2005-08-19  1:09 ` [Bug rtl-optimization/23453] [4.0/4.1 regression] miscompilation of PARI/GP on x86 with gcse after reload belyshev at depni dot sinp dot msu dot ru
  2005-08-19 19:51 ` belyshev at depni dot sinp dot msu dot ru
@ 2005-09-27 16:24 ` mmitchel at gcc dot gnu dot org
  2 siblings, 0 replies; 10+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-09-27 16:24 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.0.2                       |4.0.3


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23453


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

* [Bug rtl-optimization/23453] [4.0/4.1 regression] miscompilation of PARI/GP on x86 with gcse after reload
  2005-08-18  7:30 [Bug target/23453] New: [4.0 4.1 regression] miscompilation of PARI/GP on x86 debian-gcc at lists dot debian dot org
  2005-08-19  1:09 ` [Bug rtl-optimization/23453] [4.0/4.1 regression] miscompilation of PARI/GP on x86 with gcse after reload belyshev at depni dot sinp dot msu dot ru
@ 2005-08-19 19:51 ` belyshev at depni dot sinp dot msu dot ru
  2005-09-27 16:24 ` mmitchel at gcc dot gnu dot org
  2 siblings, 0 replies; 10+ messages in thread
From: belyshev at depni dot sinp dot msu dot ru @ 2005-08-19 19:51 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From belyshev at depni dot sinp dot msu dot ru  2005-08-19 19:51 -------
gcse after reload may move loads from stack around stack pointer changes. here
is simple workaround, it is supposed to prevent gcse after reload from touching
expressions containing stack pointer at all.

Index: cse.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cse.c,v
retrieving revision 1.359
diff -u -r1.359 cse.c
--- cse.c	29 Jul 2005 05:57:37 -0000	1.359
+++ cse.c	19 Aug 2005 19:33:49 -0000
@@ -2221,6 +2221,14 @@
 		return 0;
 	      }
 	  }
+	else
+	  {
+	    if (x == stack_pointer_rtx)
+	      {
+		*do_not_record_p = 1;
+		return 0;
+	      }
+	  }
 
 	hash += ((unsigned int) REG << 7);
         hash += (have_reg_qty ? (unsigned) REG_QTY (regno) : regno);


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23453


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

* [Bug rtl-optimization/23453] [4.0/4.1 regression] miscompilation of PARI/GP on x86 with gcse after reload
  2005-08-18  7:30 [Bug target/23453] New: [4.0 4.1 regression] miscompilation of PARI/GP on x86 debian-gcc at lists dot debian dot org
@ 2005-08-19  1:09 ` belyshev at depni dot sinp dot msu dot ru
  2005-08-19 19:51 ` belyshev at depni dot sinp dot msu dot ru
  2005-09-27 16:24 ` mmitchel at gcc dot gnu dot org
  2 siblings, 0 replies; 10+ messages in thread
From: belyshev at depni dot sinp dot msu dot ru @ 2005-08-19  1:09 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From belyshev at depni dot sinp dot msu dot ru  2005-08-19 01:03 -------
Single-file testcase, compile with "-march=i486 -O2 -fomit-frame-pointer
-fno-strict-aliasing -fgcse-after-reload":

bar ()
{
  exit (0);
}

baz (x)
{
  return x;
}

foo ()
{
  abort ();
}

ker0 (int *x0, int a) 
{
  int *x, *c, *d, p, av, i, j, k, r, t, n, m, *dd;
  n = x0;
  m = x0 [0];
  x = baz (x0);
  if (a) 
    {
      if (m)
	foo ();
      for (k = 1; k <= n; k ++)
	((int **) x) [k] = foo (x [k]);
    }
  for (k = 1; k < m; k ++) 
    c [k] = 0;
  av = k;
  for (k = 0;; k ++) 
    {
      j = bar (x [k], 0, 0, 0);
      if (j > m) 
	{
	  r ++;
	  for (j = 1; j < k; j ++)
	    if (d [j])
	      ((int **) x) [k] [d [j]] = 0;
	}
      else
	{
	  foo (0, x [j]);
	  for (i = k + 1; i; i ++)
	    ((int *) x) [j] = 0;
	  for (t = 1; m; )
	    if (j) 
	      {
		p = x [t];
		for (i = k + 1; i; i ++)
		  x [t] = foo (x [i], foo (p, x [j]));
		if (av)
		  foo (k);
	      }
	}
    }
  *dd = r;
}

int main (void)
{
  int x = 0;
  ker0 (&x, 0);
  abort ();
}


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23453


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

end of thread, other threads:[~2005-12-20 16:11 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-23453-5724@http.gcc.gnu.org/bugzilla/>
2005-10-14 11:38 ` [Bug rtl-optimization/23453] [4.0/4.1 regression] miscompilation of PARI/GP on x86 with gcse after reload bonzini at gcc dot gnu dot org
2005-10-31  5:09 ` mmitchel at gcc dot gnu dot org
2005-11-05 10:48 ` steven at gcc dot gnu dot org
2005-12-15  6:50 ` [Bug rtl-optimization/23453] [4.0/4.1/4.2 " steven at gcc dot gnu dot org
2005-12-20 10:48 ` steven at gcc dot gnu dot org
2005-12-20 10:59 ` belyshev at depni dot sinp dot msu dot ru
2005-12-20 16:11 ` steven at gcc dot gnu dot org
2005-08-18  7:30 [Bug target/23453] New: [4.0 4.1 regression] miscompilation of PARI/GP on x86 debian-gcc at lists dot debian dot org
2005-08-19  1:09 ` [Bug rtl-optimization/23453] [4.0/4.1 regression] miscompilation of PARI/GP on x86 with gcse after reload belyshev at depni dot sinp dot msu dot ru
2005-08-19 19:51 ` belyshev at depni dot sinp dot msu dot ru
2005-09-27 16:24 ` mmitchel at gcc dot gnu dot org

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