[Bug testsuite/83883] FAIL: gcc.dg/tree-ssa/ssa-dse-26.c scan-tree-dump-times dse1 "Deleted dead store" 2 (found 4 times)

2018-01-17 Thread law at redhat dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83883

Jeffrey A. Law  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #9 from Jeffrey A. Law  ---
Between David changing the ABI and tightening the expected output of the test I
think we can declare this as fixed.

[Bug testsuite/83883] FAIL: gcc.dg/tree-ssa/ssa-dse-26.c scan-tree-dump-times dse1 "Deleted dead store" 2 (found 4 times)

2018-01-17 Thread law at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83883

--- Comment #8 from Jeffrey A. Law  ---
Author: law
Date: Thu Jan 18 04:05:27 2018
New Revision: 256833

URL: https://gcc.gnu.org/viewcvs?rev=256833=gcc=rev
Log:
PR testsuite/83883
* gcc.dg/tree-ssa/ssa-dse-26.c: Tighten expected output.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-26.c

[Bug testsuite/83883] FAIL: gcc.dg/tree-ssa/ssa-dse-26.c scan-tree-dump-times dse1 "Deleted dead store" 2 (found 4 times)

2018-01-16 Thread law at redhat dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83883

Jeffrey A. Law  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2018-01-17
   Assignee|unassigned at gcc dot gnu.org  |law at redhat dot com
 Ever confirmed|0   |1

--- Comment #7 from Jeffrey A. Law  ---
Thanks David!

Idiot moment on my end.  There's two functions and DSE is happening in each. 
It happens early enough that inlining hasn't occurred.  ANd yes, this is
clearly a callee copy thing.

On x86_64 constraint_expr_equal_p looks like:


   :
  _1 = BIT_FIELD_REF ;
  _3 = BIT_FIELD_REF ;
  if (_1 == _3)
goto ; [INV]
  else
goto ; [INV]
[ ... ]

Whereas on hppa it looks like:

  :
  x.3 = x;
  SR.6_11 = MEM[(struct constraint_expr *)];
  SR.7_12 = MEM[(struct constraint_expr *) + 4B];
  SR.8_14 = MEM[(struct constraint_expr *) + 8B];
  y.4 = y;
  SR.9_15 = MEM[(struct constraint_expr *)];
  SR.10_16 = MEM[(struct constraint_expr *) + 4B];
  SR.11_17 = MEM[(struct constraint_expr *) + 8B];
  if (SR.6_11 == SR.9_15)
goto ; [INV]
  else
goto ; [INV]

And DSE will remove the x.3 = and y.4 = assignments.

While we don't have a dejagnu thingie to test for callee copy in the target, I
think we can tighten the test to avoid the hit in the first function which we
don't actually care about, but still capture the hit in the second function.

Given it's just a testsuite tweak I think we ought to go ahead and do that even
though we're in stage4 -- regardless of how the HPPA linux port has been
tweaked to avoid the problem.

[Bug testsuite/83883] FAIL: gcc.dg/tree-ssa/ssa-dse-26.c scan-tree-dump-times dse1 "Deleted dead store" 2 (found 4 times)

2018-01-16 Thread danglin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83883

--- Comment #6 from John David Anglin  ---
(In reply to Richard Biener from comment #1)
> Again possibly callee-copy handling exposes more dead stores.  Is there a
> dg-effective target for that "feature"?

Because of these issues, I just changed the ABI to caller copies on linux.

[Bug testsuite/83883] FAIL: gcc.dg/tree-ssa/ssa-dse-26.c scan-tree-dump-times dse1 "Deleted dead store" 2 (found 4 times)

2018-01-16 Thread danglin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83883

--- Comment #5 from John David Anglin  ---
Created attachment 43158
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=43158=edit
.s file

[Bug testsuite/83883] FAIL: gcc.dg/tree-ssa/ssa-dse-26.c scan-tree-dump-times dse1 "Deleted dead store" 2 (found 4 times)

2018-01-16 Thread danglin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83883

--- Comment #4 from John David Anglin  ---
Created attachment 43157
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=43157=edit
Tree dump

[Bug testsuite/83883] FAIL: gcc.dg/tree-ssa/ssa-dse-26.c scan-tree-dump-times dse1 "Deleted dead store" 2 (found 4 times)

2018-01-16 Thread danglin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83883

--- Comment #3 from John David Anglin  ---
Created attachment 43156
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=43156=edit
Tree dump

[Bug testsuite/83883] FAIL: gcc.dg/tree-ssa/ssa-dse-26.c scan-tree-dump-times dse1 "Deleted dead store" 2 (found 4 times)

2018-01-16 Thread law at redhat dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83883

Jeffrey A. Law  changed:

   What|Removed |Added

 CC||law at redhat dot com

--- Comment #2 from Jeffrey A. Law  ---
What's strange here is I get 2 dead stores eliminated for
hppa-unknown-linux-gnu and hppa64-unknown-linux-gnu crosses.  Specifically we
eliminate y = b.rhs and x = a.rhs which is exactly what I'd expect.

David could you pass along the 039t.mergephi1 and 040t.dse1 dumps as well?

[Bug testsuite/83883] FAIL: gcc.dg/tree-ssa/ssa-dse-26.c scan-tree-dump-times dse1 "Deleted dead store" 2 (found 4 times)

2018-01-16 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83883

Richard Biener  changed:

   What|Removed |Added

 CC||law at gcc dot gnu.org
  Component|tree-optimization   |testsuite

--- Comment #1 from Richard Biener  ---
Again possibly callee-copy handling exposes more dead stores.  Is there a
dg-effective target for that "feature"?