public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/56415] New: Performance regression after fix for 56273
@ 2013-02-21  8:55 ysrumyan at gmail dot com
  2013-02-21  8:59 ` [Bug tree-optimization/56415] " ysrumyan at gmail dot com
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: ysrumyan at gmail dot com @ 2013-02-21  8:55 UTC (permalink / raw)
  To: gcc-bugs


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

             Bug #: 56415
           Summary: Performance regression after fix for 56273
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: ysrumyan@gmail.com


In process of testing x86 platforms we found out that the fix for 56273 caused
-30% regression for one important benchmark. This regression can be
illustraated by attache test (it must be compiled with "-O3 -funroll-loops"
options:

before fix 
time ./t_before.exe 
19

real    0m4.324s
user    0m4.262s
sys     0m0.000s

after fix
time ./t_after.exe 
19

real    0m10.530s
user    0m10.400s
sys     0m0.000s

Note that for 32-bit mode timing is worse.

Test is attached.


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

* [Bug tree-optimization/56415] Performance regression after fix for 56273
  2013-02-21  8:55 [Bug tree-optimization/56415] New: Performance regression after fix for 56273 ysrumyan at gmail dot com
@ 2013-02-21  8:59 ` ysrumyan at gmail dot com
  2013-02-21  9:11 ` ysrumyan at gmail dot com
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: ysrumyan at gmail dot com @ 2013-02-21  8:59 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #1 from Yuri Rumyantsev <ysrumyan at gmail dot com> 2013-02-21 08:59:33 UTC ---
Created attachment 29515
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29515
testcase

Test must be compiled with "-O3 -funroll-loops" options.


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

* [Bug tree-optimization/56415] Performance regression after fix for 56273
  2013-02-21  8:55 [Bug tree-optimization/56415] New: Performance regression after fix for 56273 ysrumyan at gmail dot com
  2013-02-21  8:59 ` [Bug tree-optimization/56415] " ysrumyan at gmail dot com
@ 2013-02-21  9:11 ` ysrumyan at gmail dot com
  2013-02-21  9:46 ` rguenth at gcc dot gnu.org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: ysrumyan at gmail dot com @ 2013-02-21  9:11 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #2 from Yuri Rumyantsev <ysrumyan at gmail dot com> 2013-02-21 09:11:21 UTC ---
This bug was introduced by the following fix:

r195940 is guilty:

Author: rguenth
Date: Mon Feb 11 13:33:19 2013
New Revision: 195940

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=195940
Log:
2013-02-11 Richard Biener <rguenther@suse.de>
PR tree-optimization/56273
   * tree-vrp.c (simplify_cond_using_ranges): Disable for the    first VRP run.
   (check_array_ref): Fix missing newline in dumps.    (search_for_addr_array):
Likewise.


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

* [Bug tree-optimization/56415] Performance regression after fix for 56273
  2013-02-21  8:55 [Bug tree-optimization/56415] New: Performance regression after fix for 56273 ysrumyan at gmail dot com
  2013-02-21  8:59 ` [Bug tree-optimization/56415] " ysrumyan at gmail dot com
  2013-02-21  9:11 ` ysrumyan at gmail dot com
@ 2013-02-21  9:46 ` rguenth at gcc dot gnu.org
  2013-02-21 10:45 ` [Bug tree-optimization/56415] [4.8 Regression] " rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-02-21  9:46 UTC (permalink / raw)
  To: gcc-bugs


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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2013-02-21
         AssignedTo|unassigned at gcc dot       |rguenth at gcc dot gnu.org
                   |gnu.org                     |
     Ever Confirmed|0                           |1

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> 2013-02-21 09:45:46 UTC ---
I will have a look.


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

* [Bug tree-optimization/56415] [4.8 Regression] Performance regression after fix for 56273
  2013-02-21  8:55 [Bug tree-optimization/56415] New: Performance regression after fix for 56273 ysrumyan at gmail dot com
                   ` (2 preceding siblings ...)
  2013-02-21  9:46 ` rguenth at gcc dot gnu.org
@ 2013-02-21 10:45 ` rguenth at gcc dot gnu.org
  2013-02-21 10:53 ` rguenth at gcc dot gnu.org
  2013-02-21 10:53 ` rguenth at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-02-21 10:45 UTC (permalink / raw)
  To: gcc-bugs


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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |4.8.0
            Summary|Performance regression      |[4.8 Regression]
                   |after fix for 56273         |Performance regression
                   |                            |after fix for 56273

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> 2013-02-21 10:44:38 UTC ---
Ok, the fact is that with changes like

@@ -917,7 +839,7 @@
   _201 = *_111[_200];
   t[6] = _201;
   _206 = _108;
-  if (_108 == 8)
+  if (_108 > 7)
     goto <bb 18>;

@@ -906,7 +828,7 @@
   _187 = *_111[_186];
   t[5] = _187;
   _192 = _108;
-  if (_108 != 6)
+  if (_108 > 6)
     goto <bb 17>;
   else
     goto <bb 7>;

we weaken range information on one code-path but improve it on another.
We should be still able to figure out the original ranges though, so
this change probably only papered over the other PR.

I'll revert that change.


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

* [Bug tree-optimization/56415] [4.8 Regression] Performance regression after fix for 56273
  2013-02-21  8:55 [Bug tree-optimization/56415] New: Performance regression after fix for 56273 ysrumyan at gmail dot com
                   ` (3 preceding siblings ...)
  2013-02-21 10:45 ` [Bug tree-optimization/56415] [4.8 Regression] " rguenth at gcc dot gnu.org
@ 2013-02-21 10:53 ` rguenth at gcc dot gnu.org
  2013-02-21 10:53 ` rguenth at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-02-21 10:53 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> 2013-02-21 10:52:44 UTC ---
Author: rguenth
Date: Thu Feb 21 10:52:39 2013
New Revision: 196200

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=196200
Log:
2013-02-21  Richard Biener  <rguenther@suse.de>

    PR tree-optimization/56415
    Revert
    2013-02-11  Richard Biener  <rguenther@suse.de>

    PR tree-optimization/56273
    * tree-vrp.c (simplify_cond_using_ranges): Disable for the
    first VRP run.

    * g++.dg/warn/Warray-bounds-6.C: New testcase.
    * gcc.dg/tree-ssa/pr21559.c: Adjust.
    * gcc.dg/tree-ssa/vrp17.c: Likewise.
    * gcc.dg/tree-ssa/vrp18.c: Likewise.
    * gcc.dg/tree-ssa/vrp23.c: Likewise.
    * gcc.dg/tree-ssa/vrp24.c: Likewise.

Removed:
    trunk/gcc/testsuite/g++.dg/warn/Warray-bounds-6.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.dg/tree-ssa/pr21559.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/vrp17.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/vrp18.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/vrp23.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/vrp24.c
    trunk/gcc/tree-vrp.c


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

* [Bug tree-optimization/56415] [4.8 Regression] Performance regression after fix for 56273
  2013-02-21  8:55 [Bug tree-optimization/56415] New: Performance regression after fix for 56273 ysrumyan at gmail dot com
                   ` (4 preceding siblings ...)
  2013-02-21 10:53 ` rguenth at gcc dot gnu.org
@ 2013-02-21 10:53 ` rguenth at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-02-21 10:53 UTC (permalink / raw)
  To: gcc-bugs


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

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

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

--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> 2013-02-21 10:53:00 UTC ---
Fixed.


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

end of thread, other threads:[~2013-02-21 10:53 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-02-21  8:55 [Bug tree-optimization/56415] New: Performance regression after fix for 56273 ysrumyan at gmail dot com
2013-02-21  8:59 ` [Bug tree-optimization/56415] " ysrumyan at gmail dot com
2013-02-21  9:11 ` ysrumyan at gmail dot com
2013-02-21  9:46 ` rguenth at gcc dot gnu.org
2013-02-21 10:45 ` [Bug tree-optimization/56415] [4.8 Regression] " rguenth at gcc dot gnu.org
2013-02-21 10:53 ` rguenth at gcc dot gnu.org
2013-02-21 10:53 ` 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).