public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/65917] New: [6.0 regression] FAIL: gcc.dg/tree-ssa/20030922-2.c scan-tree-dump-times dom1 "if " 2
@ 2015-04-28 13:55 schwab@linux-m68k.org
  2015-04-28 14:06 ` [Bug tree-optimization/65917] " rguenth at gcc dot gnu.org
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: schwab@linux-m68k.org @ 2015-04-28 13:55 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65917

            Bug ID: 65917
           Summary: [6.0 regression] FAIL: gcc.dg/tree-ssa/20030922-2.c
                    scan-tree-dump-times dom1 "if " 2
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: schwab@linux-m68k.org
                CC: rguenth at gcc dot gnu.org
  Target Milestone: ---
            Target: m68k-*-*

$ gcc/xgcc -B gcc/ -O1 -fdump-tree-dom1 -S
../gcc/testsuite/gcc.dg/tree-ssa/20030922-2.c && grep -c "if " 20030922-2.c.*
3

83617aa2bed0a6ac21010ba3b960d087bcb66f9b is the first bad commit
commit 83617aa2bed0a6ac21010ba3b960d087bcb66f9b
Author: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Mon Apr 27 12:46:58 2015 +0000

    2015-04-27  Richard Biener  <rguenther@suse.de>

        * tree-ssa-dom.c (record_equivalences_from_phis): Valueize PHI arg.
        (record_equivalences_from_stmt): Valueize rhs.
        (record_equality): Canonicalize x and y order via
        tree_swap_operands_p.  Do not swap operands for same loop depth.

        * gcc.target/i386/pr65217.c: XFAIL.


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

* [Bug tree-optimization/65917] [6.0 regression] FAIL: gcc.dg/tree-ssa/20030922-2.c scan-tree-dump-times dom1 "if " 2
  2015-04-28 13:55 [Bug tree-optimization/65917] New: [6.0 regression] FAIL: gcc.dg/tree-ssa/20030922-2.c scan-tree-dump-times dom1 "if " 2 schwab@linux-m68k.org
@ 2015-04-28 14:06 ` rguenth at gcc dot gnu.org
  2015-04-28 14:51 ` schwab@linux-m68k.org
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-04-28 14:06 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65917

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |WAITING
   Last reconfirmed|                            |2015-04-28
                 CC|                            |law at gcc dot gnu.org
   Target Milestone|---                         |6.0
     Ever confirmed|0                           |1

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed by Jeffs later patch?


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

* [Bug tree-optimization/65917] [6.0 regression] FAIL: gcc.dg/tree-ssa/20030922-2.c scan-tree-dump-times dom1 "if " 2
  2015-04-28 13:55 [Bug tree-optimization/65917] New: [6.0 regression] FAIL: gcc.dg/tree-ssa/20030922-2.c scan-tree-dump-times dom1 "if " 2 schwab@linux-m68k.org
  2015-04-28 14:06 ` [Bug tree-optimization/65917] " rguenth at gcc dot gnu.org
@ 2015-04-28 14:51 ` schwab@linux-m68k.org
  2015-04-28 14:58 ` law at redhat dot com
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: schwab@linux-m68k.org @ 2015-04-28 14:51 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65917

Andreas Schwab <schwab@linux-m68k.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |NEW

--- Comment #2 from Andreas Schwab <schwab@linux-m68k.org> ---
r222492 is still failing.


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

* [Bug tree-optimization/65917] [6.0 regression] FAIL: gcc.dg/tree-ssa/20030922-2.c scan-tree-dump-times dom1 "if " 2
  2015-04-28 13:55 [Bug tree-optimization/65917] New: [6.0 regression] FAIL: gcc.dg/tree-ssa/20030922-2.c scan-tree-dump-times dom1 "if " 2 schwab@linux-m68k.org
  2015-04-28 14:06 ` [Bug tree-optimization/65917] " rguenth at gcc dot gnu.org
  2015-04-28 14:51 ` schwab@linux-m68k.org
@ 2015-04-28 14:58 ` law at redhat dot com
  2015-04-28 16:24 ` law at redhat dot com
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: law at redhat dot com @ 2015-04-28 14:58 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65917

Jeffrey A. Law <law at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |law at redhat dot com

--- Comment #3 from Jeffrey A. Law <law at redhat dot com> ---
 if (_8 != _14)
    goto <bb 3>;
  else
    goto <bb 6>;

  <bb 3>:
  target_bb.1_15 = target_bb;
  if (_14 == target_bb.1_15)
    goto <bb 4>;
  else
    goto <bb 6>;

  <bb 4>:
  if (_8 != target_bb.1_15)
    goto <bb 5>;
  else
    goto <bb 6>;


Presumably depending on the ordering in the conditionals, we should discover
that in bb4 _8 and _15 are equal and eliminate the test.


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

* [Bug tree-optimization/65917] [6.0 regression] FAIL: gcc.dg/tree-ssa/20030922-2.c scan-tree-dump-times dom1 "if " 2
  2015-04-28 13:55 [Bug tree-optimization/65917] New: [6.0 regression] FAIL: gcc.dg/tree-ssa/20030922-2.c scan-tree-dump-times dom1 "if " 2 schwab@linux-m68k.org
                   ` (2 preceding siblings ...)
  2015-04-28 14:58 ` law at redhat dot com
@ 2015-04-28 16:24 ` law at redhat dot com
  2015-04-29  8:45 ` [Bug tree-optimization/65917] [6 Regression] " rguenth at gcc dot gnu.org
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: law at redhat dot com @ 2015-04-28 16:24 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65917

--- Comment #4 from Jeffrey A. Law <law at redhat dot com> ---
We'll probably need to XFAIL this for now.

This is definitely a case where we were just getting lucky before and the new
code to canonicalize the comparison arguments causes us not to get lucky.

The single use heuristic doesn't help here, because both operands have multiple
uses.

I'd pondered walking up the use-def chains to guess which operand is more
expensive to compute and use that as a heuristic as well, but in this case it'd
do the opposite of what we want.

I don't see other obvious heuristics that would resolve this issue.

The "right" way to fix this would be to unify cprop and simplification -- ie,
when we have a statement that references an SSA_NAME with one of these
equivalences, we need to try both SSA_NAMEs and see if it simplifies.  I've
avoided doing that simply because it hasn't seemed worth the effort and
compile-time cost.


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

* [Bug tree-optimization/65917] [6 Regression] FAIL: gcc.dg/tree-ssa/20030922-2.c scan-tree-dump-times dom1 "if " 2
  2015-04-28 13:55 [Bug tree-optimization/65917] New: [6.0 regression] FAIL: gcc.dg/tree-ssa/20030922-2.c scan-tree-dump-times dom1 "if " 2 schwab@linux-m68k.org
                   ` (3 preceding siblings ...)
  2015-04-28 16:24 ` law at redhat dot com
@ 2015-04-29  8:45 ` rguenth at gcc dot gnu.org
  2015-04-29  8:51 ` rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-04-29  8:45 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65917

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|law at redhat dot com              |rguenth at gcc dot gnu.org
            Summary|[6.0 regression] FAIL:      |[6 Regression] FAIL:
                   |gcc.dg/tree-ssa/20030922-2. |gcc.dg/tree-ssa/20030922-2.
                   |c scan-tree-dump-times dom1 |c scan-tree-dump-times dom1
                   |"if " 2                     |"if " 2

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
So on x86_64 ifcombine has "removed" the if but after dom1 we still have

  _14 = *_13;
  if (_8 != _14)
    goto <bb 3>;
  else
    goto <bb 5>;

  <bb 3>:
  target_bb.1_15 = target_bb;
  _16 = _8 != target_bb.1_15;
  _17 = _14 == target_bb.1_15;
  _18 = _16 & _17;
  if (_18 != 0)

which shows that running ifcombine before DOM might not be the best idea.

It also shows that the testcase should disable ifcombine to really test what it
was supposed to test.  And then it also fails on x86_64.

VRP does optimize this case because it has a more powerful way to track
equivalences (and does a quadratic job in trying to simplify compares using
all equivalences of the lhs vs all equivalences of the rhs).

Which is another hint at the fact that DOM maybe shouldn't treat equivalences
derived from conditionals in the SSA_VALUE table where you can't really record
both _14 = target_bb.1_15 and target_bb.1_15 = _14 (which would get you a
nice cycle there).

For the existing way of DOM handlign this I don't see anything in the testcase
that could be used to build a new heuristic (in fact another heuristic
would say that what we do now is good -- _14 dies at the point where we
build the equivalency, target_bb.1_15 does not, so we don't want to propagate
_14 because that will increase its lifetime!)

I suggest to "fix" the testcase and XFAIL it.  I'll take care of that.


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

* [Bug tree-optimization/65917] [6 Regression] FAIL: gcc.dg/tree-ssa/20030922-2.c scan-tree-dump-times dom1 "if " 2
  2015-04-28 13:55 [Bug tree-optimization/65917] New: [6.0 regression] FAIL: gcc.dg/tree-ssa/20030922-2.c scan-tree-dump-times dom1 "if " 2 schwab@linux-m68k.org
                   ` (4 preceding siblings ...)
  2015-04-29  8:45 ` [Bug tree-optimization/65917] [6 Regression] " rguenth at gcc dot gnu.org
@ 2015-04-29  8:51 ` rguenth at gcc dot gnu.org
  2015-04-29  8:52 ` [Bug tree-optimization/65917] [6 Regression] XFAIL: " rguenth at gcc dot gnu.org
  2023-03-24  7:35 ` rguenth at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-04-29  8:51 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65917

--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Wed Apr 29 08:51:08 2015
New Revision: 222562

URL: https://gcc.gnu.org/viewcvs?rev=222562&root=gcc&view=rev
Log:
2015-04-29  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/65917
        * gcc.dg/tree-ssa/20030922-2.c: Disable ifcombine and XFAIL.

Modified:
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.dg/tree-ssa/20030922-2.c


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

* [Bug tree-optimization/65917] [6 Regression] XFAIL: gcc.dg/tree-ssa/20030922-2.c scan-tree-dump-times dom1 "if " 2
  2015-04-28 13:55 [Bug tree-optimization/65917] New: [6.0 regression] FAIL: gcc.dg/tree-ssa/20030922-2.c scan-tree-dump-times dom1 "if " 2 schwab@linux-m68k.org
                   ` (5 preceding siblings ...)
  2015-04-29  8:51 ` rguenth at gcc dot gnu.org
@ 2015-04-29  8:52 ` rguenth at gcc dot gnu.org
  2023-03-24  7:35 ` rguenth at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-04-29  8:52 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65917

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |missed-optimization, xfail
             Status|ASSIGNED                    |NEW
           Assignee|rguenth at gcc dot gnu.org         |unassigned at gcc dot gnu.org
            Summary|[6 Regression] FAIL:        |[6 Regression] XFAIL:
                   |gcc.dg/tree-ssa/20030922-2. |gcc.dg/tree-ssa/20030922-2.
                   |c scan-tree-dump-times dom1 |c scan-tree-dump-times dom1
                   |"if " 2                     |"if " 2

--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
Ok, XFAILed.


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

* [Bug tree-optimization/65917] [6 Regression] XFAIL: gcc.dg/tree-ssa/20030922-2.c scan-tree-dump-times dom1 "if " 2
  2015-04-28 13:55 [Bug tree-optimization/65917] New: [6.0 regression] FAIL: gcc.dg/tree-ssa/20030922-2.c scan-tree-dump-times dom1 "if " 2 schwab@linux-m68k.org
                   ` (6 preceding siblings ...)
  2015-04-29  8:52 ` [Bug tree-optimization/65917] [6 Regression] XFAIL: " rguenth at gcc dot gnu.org
@ 2023-03-24  7:35 ` rguenth at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2023-03-24  7:35 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65917
Bug 65917 depends on bug 80198, which changed state.

Bug 80198 Summary: [10/11/12/13 Regression] does not vectorize generic inplace integer operation
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80198

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

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

end of thread, other threads:[~2023-03-24  7:35 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-28 13:55 [Bug tree-optimization/65917] New: [6.0 regression] FAIL: gcc.dg/tree-ssa/20030922-2.c scan-tree-dump-times dom1 "if " 2 schwab@linux-m68k.org
2015-04-28 14:06 ` [Bug tree-optimization/65917] " rguenth at gcc dot gnu.org
2015-04-28 14:51 ` schwab@linux-m68k.org
2015-04-28 14:58 ` law at redhat dot com
2015-04-28 16:24 ` law at redhat dot com
2015-04-29  8:45 ` [Bug tree-optimization/65917] [6 Regression] " rguenth at gcc dot gnu.org
2015-04-29  8:51 ` rguenth at gcc dot gnu.org
2015-04-29  8:52 ` [Bug tree-optimization/65917] [6 Regression] XFAIL: " rguenth at gcc dot gnu.org
2023-03-24  7:35 ` rguenth at gcc dot gnu.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).