public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/19046] New: [4.0 Regression] MOVE_RATIO should be tweaked
@ 2004-12-16 22:21 pinskia at gcc dot gnu dot org
  2004-12-16 22:23 ` [Bug target/19046] " pinskia at gcc dot gnu dot org
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-12-16 22:21 UTC (permalink / raw)
  To: gcc-bugs

Take the following C++ code:
class StringMap {
  const char empty_str[8];
public:
  StringMap() : empty_str() {}
};

StringMap f()
{
 StringMap a;
 return a;
}

For 3.3.2, we produced (at -O3):
__Z1fv:
LFB6:
        li r4,0
        stw r4,0(r3)
        stw r4,4(r3)
        blr

on the mainline we get:
__Z1fv:
LFB5:
        mflr r0
LCFI0:
        bcl 20,31,"L00000000001$pb"
"L00000000001$pb":
        stw r31,-4(r1)
LCFI1:
        mflr r31
        stw r0,8(r1)
LCFI2:
        addis r2,r31,ha16(__ZZN9StringMapC1EvE3C.0-"L00000000001$pb")
        la r9,lo16(__ZZN9StringMapC1EvE3C.0-"L00000000001$pb")(r2)
        lwz r10,4(r9)
        lwz r9,0(r9)
        stw r10,4(r3)
        lwz r0,8(r1)
        lwz r31,-4(r1)
        mtlr r0
        stw r9,0(r3)
        blr

-- 
           Summary: [4.0 Regression] MOVE_RATIO should be tweaked
           Product: gcc
           Version: 4.0.0
            Status: UNCONFIRMED
          Keywords: missed-optimization
          Severity: normal
          Priority: P2
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: pinskia at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org
GCC target triplet: powerpc-darwin


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


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

* [Bug target/19046] [4.0 Regression] MOVE_RATIO should be tweaked
  2004-12-16 22:21 [Bug target/19046] New: [4.0 Regression] MOVE_RATIO should be tweaked pinskia at gcc dot gnu dot org
@ 2004-12-16 22:23 ` pinskia at gcc dot gnu dot org
  2004-12-16 22:58 ` dje at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-12-16 22:23 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |4.0.0


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


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

* [Bug target/19046] [4.0 Regression] MOVE_RATIO should be tweaked
  2004-12-16 22:21 [Bug target/19046] New: [4.0 Regression] MOVE_RATIO should be tweaked pinskia at gcc dot gnu dot org
  2004-12-16 22:23 ` [Bug target/19046] " pinskia at gcc dot gnu dot org
  2004-12-16 22:58 ` dje at gcc dot gnu dot org
@ 2004-12-16 22:58 ` dje at gcc dot gnu dot org
  2004-12-18  7:39 ` [Bug target/19046] [4.0 Regression] MOVE_RATIO should be tweaked on ppc pinskia at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: dje at gcc dot gnu dot org @ 2004-12-16 22:58 UTC (permalink / raw)
  To: gcc-bugs



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


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


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

* [Bug target/19046] [4.0 Regression] MOVE_RATIO should be tweaked
  2004-12-16 22:21 [Bug target/19046] New: [4.0 Regression] MOVE_RATIO should be tweaked pinskia at gcc dot gnu dot org
  2004-12-16 22:23 ` [Bug target/19046] " pinskia at gcc dot gnu dot org
@ 2004-12-16 22:58 ` dje at gcc dot gnu dot org
  2004-12-16 22:58 ` dje at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: dje at gcc dot gnu dot org @ 2004-12-16 22:58 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From dje at gcc dot gnu dot org  2004-12-16 22:58 -------
I think it needs some experimentation to determine the best performance trade 
off.  I do not expect a value of 15 to be correct.  I would guess at something 
like

#define MOVE_RATIO (TARGET_STRING ? 2 : optimize_size ? 3 : 7)

as a good start.


-- 


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


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

* [Bug target/19046] [4.0 Regression] MOVE_RATIO should be tweaked on ppc
  2004-12-16 22:21 [Bug target/19046] New: [4.0 Regression] MOVE_RATIO should be tweaked pinskia at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2004-12-16 22:58 ` dje at gcc dot gnu dot org
@ 2004-12-18  7:39 ` pinskia at gcc dot gnu dot org
  2004-12-22  7:25 ` pinskia at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-12-18  7:39 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[4.0 Regression] MOVE_RATIO |[4.0 Regression] MOVE_RATIO
                   |should be tweaked           |should be tweaked on ppc


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


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

* [Bug target/19046] [4.0 Regression] MOVE_RATIO should be tweaked on ppc
  2004-12-16 22:21 [Bug target/19046] New: [4.0 Regression] MOVE_RATIO should be tweaked pinskia at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2004-12-18  7:39 ` [Bug target/19046] [4.0 Regression] MOVE_RATIO should be tweaked on ppc pinskia at gcc dot gnu dot org
@ 2004-12-22  7:25 ` pinskia at gcc dot gnu dot org
  2004-12-29 18:01 ` dje at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-12-22  7:25 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-12-22 07:25 -------
One more thing I noticed is that this happens often in Ada, than anywhere else, even with the simpliest 
source to print out something.

-- 


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


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

* [Bug target/19046] [4.0 Regression] MOVE_RATIO should be tweaked on ppc
  2004-12-16 22:21 [Bug target/19046] New: [4.0 Regression] MOVE_RATIO should be tweaked pinskia at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2004-12-22  7:25 ` pinskia at gcc dot gnu dot org
@ 2004-12-29 18:01 ` dje at gcc dot gnu dot org
  2005-01-06 23:03 ` pinskia at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: dje at gcc dot gnu dot org @ 2004-12-29 18:01 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From dje at gcc dot gnu dot org  2004-12-29 18:00 -------
Increasing the value of MOVE_RATIO and CLEAR_RATIO decreases SPEC 
performance.  The uses of the macro may be overloaded and confusing the cost 
model.  Or it could be harmed by register allocator and spilling.  But 
overall, the default values of MOVE_RATIO and CLEAR_RATIO based on movmemsi 
appear to be good.

-- 


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


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

* [Bug target/19046] [4.0 Regression] MOVE_RATIO should be tweaked on ppc
  2004-12-16 22:21 [Bug target/19046] New: [4.0 Regression] MOVE_RATIO should be tweaked pinskia at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2004-12-29 18:01 ` dje at gcc dot gnu dot org
@ 2005-01-06 23:03 ` pinskia at gcc dot gnu dot org
  2005-01-07 12:23 ` steven at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-01-06 23:03 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |minor
           Priority|P2                          |P3


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


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

* [Bug target/19046] [4.0 Regression] MOVE_RATIO should be tweaked on ppc
  2004-12-16 22:21 [Bug target/19046] New: [4.0 Regression] MOVE_RATIO should be tweaked pinskia at gcc dot gnu dot org
                   ` (6 preceding siblings ...)
  2005-01-06 23:03 ` pinskia at gcc dot gnu dot org
@ 2005-01-07 12:23 ` steven at gcc dot gnu dot org
  2005-02-27  6:17 ` [Bug middle-end/19046] [4.0/4.1 Regression] usage of MOVE_RATIO should be tweaked pinskia at gcc dot gnu dot org
  2005-07-12  6:25 ` pinskia at gcc dot gnu dot org
  9 siblings, 0 replies; 11+ messages in thread
From: steven at gcc dot gnu dot org @ 2005-01-07 12:23 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
   Last reconfirmed|0000-00-00 00:00:00         |2005-01-07 12:23:21
               date|                            |


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


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

* [Bug middle-end/19046] [4.0/4.1 Regression] usage of MOVE_RATIO should be tweaked
  2004-12-16 22:21 [Bug target/19046] New: [4.0 Regression] MOVE_RATIO should be tweaked pinskia at gcc dot gnu dot org
                   ` (7 preceding siblings ...)
  2005-01-07 12:23 ` steven at gcc dot gnu dot org
@ 2005-02-27  6:17 ` pinskia at gcc dot gnu dot org
  2005-07-12  6:25 ` pinskia at gcc dot gnu dot org
  9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-02-27  6:17 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-02-26 17:19 -------
Moving to 4.1 since this will take more work as just tweaking MOVE_RATIO for powerpc causes SPEC to 
get worse.  What should be tweaked is the usage of MOVE_RATIO instead.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|target                      |middle-end
            Summary|[4.0/4.1 Regression]        |[4.0/4.1 Regression] usage
                   |MOVE_RATIO should be tweaked|of MOVE_RATIO should be
                   |on ppc                      |tweaked
   Target Milestone|4.0.0                       |4.1.0


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


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

* [Bug middle-end/19046] [4.0/4.1 Regression] usage of MOVE_RATIO should be tweaked
  2004-12-16 22:21 [Bug target/19046] New: [4.0 Regression] MOVE_RATIO should be tweaked pinskia at gcc dot gnu dot org
                   ` (8 preceding siblings ...)
  2005-02-27  6:17 ` [Bug middle-end/19046] [4.0/4.1 Regression] usage of MOVE_RATIO should be tweaked pinskia at gcc dot gnu dot org
@ 2005-07-12  6:25 ` pinskia at gcc dot gnu dot org
  9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-07-12  6:25 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-12 06:19 -------
This was basically fixed on the mainline:
__Z1fv:
LFB5:
        li r9,0
        li r10,0
        stw r9,0(r3)
        stw r10,4(r3)
        blr

By:
2005-06-01  Josh Conner <jconner@apple.com>

        PR 21478
        * gimplify.c (gimplify_init_constructor): Don't spill initializer
        to read-only memory if it's sparse.

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


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


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

end of thread, other threads:[~2005-07-12  6:19 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-12-16 22:21 [Bug target/19046] New: [4.0 Regression] MOVE_RATIO should be tweaked pinskia at gcc dot gnu dot org
2004-12-16 22:23 ` [Bug target/19046] " pinskia at gcc dot gnu dot org
2004-12-16 22:58 ` dje at gcc dot gnu dot org
2004-12-16 22:58 ` dje at gcc dot gnu dot org
2004-12-18  7:39 ` [Bug target/19046] [4.0 Regression] MOVE_RATIO should be tweaked on ppc pinskia at gcc dot gnu dot org
2004-12-22  7:25 ` pinskia at gcc dot gnu dot org
2004-12-29 18:01 ` dje at gcc dot gnu dot org
2005-01-06 23:03 ` pinskia at gcc dot gnu dot org
2005-01-07 12:23 ` steven at gcc dot gnu dot org
2005-02-27  6:17 ` [Bug middle-end/19046] [4.0/4.1 Regression] usage of MOVE_RATIO should be tweaked pinskia at gcc dot gnu dot org
2005-07-12  6:25 ` pinskia 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).