public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/24408]  New: [4.1 Regression] Invariant code no longer removed from loop when doing FDO.
@ 2005-10-17 15:12 steinmtz at us dot ibm dot com
  2005-10-17 15:14 ` [Bug middle-end/24408] " pinskia at gcc dot gnu dot org
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: steinmtz at us dot ibm dot com @ 2005-10-17 15:12 UTC (permalink / raw)
  To: gcc-bugs

There was some discussion on the GCC mailing list in late August, early
September about a performance regression caused by the disabling of the old
loop optimizer when doing FDO.

http://gcc.gnu.org/ml/gcc/2005-08/msg00899.html

Loop invariant motions done by the old loop optimizer no longer occur.  This is
causing a performance regression on some benchmarks.

The following patch enables loop invariant motions during FDO and fixes the
observed performance regression:

http://gcc.gnu.org/ml/gcc-patches/2005-10/msg00224.html


-- 
           Summary: [4.1 Regression] Invariant code no longer removed from
                    loop when doing FDO.
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: steinmtz at us dot ibm dot com
  GCC host triplet: powerpc64-linux


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


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

* [Bug middle-end/24408] [4.1 Regression] Invariant code no longer removed from loop when doing FDO.
  2005-10-17 15:12 [Bug middle-end/24408] New: [4.1 Regression] Invariant code no longer removed from loop when doing FDO steinmtz at us dot ibm dot com
@ 2005-10-17 15:14 ` pinskia at gcc dot gnu dot org
  2005-10-17 15:27 ` pinskia at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-10-17 15:14 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from pinskia at gcc dot gnu dot org  2005-10-17 15:14 -------
Confirmed.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                URL|                            |http://gcc.gnu.org/ml/gcc-
                   |                            |patches/2005-
                   |                            |10/msg00224.html
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   GCC host triplet|powerpc64-linux             |
 GCC target triplet|                            |powerpc*-*-* and others
           Keywords|                            |missed-optimization, patch
   Last reconfirmed|0000-00-00 00:00:00         |2005-10-17 15:14:13
               date|                            |
   Target Milestone|---                         |4.1.0


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


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

* [Bug middle-end/24408] [4.1 Regression] Invariant code no longer removed from loop when doing FDO.
  2005-10-17 15:12 [Bug middle-end/24408] New: [4.1 Regression] Invariant code no longer removed from loop when doing FDO steinmtz at us dot ibm dot com
  2005-10-17 15:14 ` [Bug middle-end/24408] " pinskia at gcc dot gnu dot org
@ 2005-10-17 15:27 ` pinskia at gcc dot gnu dot org
  2005-10-31  6:30 ` mmitchel at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-10-17 15:27 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from pinskia at gcc dot gnu dot org  2005-10-17 15:26 -------
Linking to the testcase for future reference:
http://gcc.gnu.org/ml/gcc/2005-08/msg00910.html


-- 


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


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

* [Bug middle-end/24408] [4.1 Regression] Invariant code no longer removed from loop when doing FDO.
  2005-10-17 15:12 [Bug middle-end/24408] New: [4.1 Regression] Invariant code no longer removed from loop when doing FDO steinmtz at us dot ibm dot com
  2005-10-17 15:14 ` [Bug middle-end/24408] " pinskia at gcc dot gnu dot org
  2005-10-17 15:27 ` pinskia at gcc dot gnu dot org
@ 2005-10-31  6:30 ` mmitchel at gcc dot gnu dot org
  2005-11-03  8:50 ` steven at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-10-31  6:30 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from mmitchel at gcc dot gnu dot org  2005-10-31 06:30 -------
Leaving as P2.


-- 


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


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

* [Bug middle-end/24408] [4.1 Regression] Invariant code no longer removed from loop when doing FDO.
  2005-10-17 15:12 [Bug middle-end/24408] New: [4.1 Regression] Invariant code no longer removed from loop when doing FDO steinmtz at us dot ibm dot com
                   ` (2 preceding siblings ...)
  2005-10-31  6:30 ` mmitchel at gcc dot gnu dot org
@ 2005-11-03  8:50 ` steven at gcc dot gnu dot org
  2005-11-08  7:44 ` [Bug rtl-optimization/24408] " steven at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: steven at gcc dot gnu dot org @ 2005-11-03  8:50 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from steven at gcc dot gnu dot org  2005-11-03 08:50 -------
We have the following two options:
- Make loop.c preserve the profile. We all know that's not doable.
- Backport the loop-invariant.c changes from the killloop-branch
  and enable -fmove-loop-invariants when doing FDO.  We should not
  do this because loop-invariant.c has not seen enough testing yet.

So IMHO this is not fixable for GCC 4.1.


-- 

steven at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |steven at gcc dot gnu dot
                   |                            |org


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


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

* [Bug rtl-optimization/24408] [4.1 Regression] Invariant code no longer removed from loop when doing FDO.
  2005-10-17 15:12 [Bug middle-end/24408] New: [4.1 Regression] Invariant code no longer removed from loop when doing FDO steinmtz at us dot ibm dot com
                   ` (3 preceding siblings ...)
  2005-11-03  8:50 ` steven at gcc dot gnu dot org
@ 2005-11-08  7:44 ` steven at gcc dot gnu dot org
  2005-11-08 20:36 ` steven at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: steven at gcc dot gnu dot org @ 2005-11-08  7:44 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from steven at gcc dot gnu dot org  2005-11-08 07:44 -------
Created an attachment (id=10170)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10170&action=view)
merge patch from the killloop-branch

With this patch applied and -fmove-loop-invariants enabled by default at -O2, I
am getting regressions in libjava on ia64. But it does bootstrap there and also
passes bootstrap&testing on i686, x86_64, ppc, and ppc64 without problems.


-- 


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


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

* [Bug rtl-optimization/24408] [4.1 Regression] Invariant code no longer removed from loop when doing FDO.
  2005-10-17 15:12 [Bug middle-end/24408] New: [4.1 Regression] Invariant code no longer removed from loop when doing FDO steinmtz at us dot ibm dot com
                   ` (4 preceding siblings ...)
  2005-11-08  7:44 ` [Bug rtl-optimization/24408] " steven at gcc dot gnu dot org
@ 2005-11-08 20:36 ` steven at gcc dot gnu dot org
  2005-12-18 17:17 ` [Bug rtl-optimization/24408] [4.1/4.2 " steven at gcc dot gnu dot org
  2006-02-11 11:40 ` [Bug rtl-optimization/24408] [4.1 " steven at gcc dot gnu dot org
  7 siblings, 0 replies; 9+ messages in thread
From: steven at gcc dot gnu dot org @ 2005-11-08 20:36 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from steven at gcc dot gnu dot org  2005-11-08 20:36 -------
I found an extra problem with loop-invariant.c, which is that it would move
expressions out of loops with calls, even if the expressions used call
clobbered hard registers.  I'm testing a fix for this bug now, too...


-- 

steven at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |steven at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2005-10-17 15:14:13         |2005-11-08 20:36:56
               date|                            |


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


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

* [Bug rtl-optimization/24408] [4.1/4.2 Regression] Invariant code no longer removed from loop when doing FDO.
  2005-10-17 15:12 [Bug middle-end/24408] New: [4.1 Regression] Invariant code no longer removed from loop when doing FDO steinmtz at us dot ibm dot com
                   ` (5 preceding siblings ...)
  2005-11-08 20:36 ` steven at gcc dot gnu dot org
@ 2005-12-18 17:17 ` steven at gcc dot gnu dot org
  2006-02-11 11:40 ` [Bug rtl-optimization/24408] [4.1 " steven at gcc dot gnu dot org
  7 siblings, 0 replies; 9+ messages in thread
From: steven at gcc dot gnu dot org @ 2005-12-18 17:17 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from steven at gcc dot gnu dot org  2005-12-18 17:17 -------
This will *NOT* be fixed for GCC 4.1.


-- 


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


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

* [Bug rtl-optimization/24408] [4.1 Regression] Invariant code no longer removed from loop when doing FDO.
  2005-10-17 15:12 [Bug middle-end/24408] New: [4.1 Regression] Invariant code no longer removed from loop when doing FDO steinmtz at us dot ibm dot com
                   ` (6 preceding siblings ...)
  2005-12-18 17:17 ` [Bug rtl-optimization/24408] [4.1/4.2 " steven at gcc dot gnu dot org
@ 2006-02-11 11:40 ` steven at gcc dot gnu dot org
  7 siblings, 0 replies; 9+ messages in thread
From: steven at gcc dot gnu dot org @ 2006-02-11 11:40 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from steven at gcc dot gnu dot org  2006-02-11 11:40 -------
Fixed in GCC 4.2 now that -fmove-loop-invariants is enabled by default.

Closing as WONTFIX because this is really not fixable for GCC 4.1. without
major surgery or ugly and unsafe hacks.


-- 

steven at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
      Known to fail|                            |4.1.0
      Known to work|                            |4.2.0
         Resolution|                            |WONTFIX
            Summary|[4.1/4.2 Regression]        |[4.1 Regression] Invariant
                   |Invariant code no longer    |code no longer removed from
                   |removed from loop when doing|loop when doing FDO.
                   |FDO.                        |


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


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

end of thread, other threads:[~2006-02-11 11:40 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-10-17 15:12 [Bug middle-end/24408] New: [4.1 Regression] Invariant code no longer removed from loop when doing FDO steinmtz at us dot ibm dot com
2005-10-17 15:14 ` [Bug middle-end/24408] " pinskia at gcc dot gnu dot org
2005-10-17 15:27 ` pinskia at gcc dot gnu dot org
2005-10-31  6:30 ` mmitchel at gcc dot gnu dot org
2005-11-03  8:50 ` steven at gcc dot gnu dot org
2005-11-08  7:44 ` [Bug rtl-optimization/24408] " steven at gcc dot gnu dot org
2005-11-08 20:36 ` steven at gcc dot gnu dot org
2005-12-18 17:17 ` [Bug rtl-optimization/24408] [4.1/4.2 " steven at gcc dot gnu dot org
2006-02-11 11:40 ` [Bug rtl-optimization/24408] [4.1 " steven 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).