public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/35308]  New: Straight line strength reduction
@ 2008-02-23  5:23 xinliangli at gmail dot com
  2008-02-23  5:27 ` [Bug middle-end/35308] " pinskia at gcc dot gnu dot org
  2008-02-23  6:56 ` xinliangli at gmail dot com
  0 siblings, 2 replies; 3+ messages in thread
From: xinliangli at gmail dot com @ 2008-02-23  5:23 UTC (permalink / raw)
  To: gcc-bugs

Seems to be a missing functionality

int a[100];
int g;
void foo(int i)
{

     a[i] = i*g;
     i++;
     a[i] = i*g;
     i++;
     a[i] = i*g;
}

Both array address computation and RHS mpy operations can be strength reduced.


-- 
           Summary: Straight line strength reduction
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: xinliangli at gmail dot com


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


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

* [Bug middle-end/35308] Straight line strength reduction
  2008-02-23  5:23 [Bug middle-end/35308] New: Straight line strength reduction xinliangli at gmail dot com
@ 2008-02-23  5:27 ` pinskia at gcc dot gnu dot org
  2008-02-23  6:56 ` xinliangli at gmail dot com
  1 sibling, 0 replies; 3+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-02-23  5:27 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from pinskia at gcc dot gnu dot org  2008-02-23 05:27 -------
Sometimes doing the strength reduction actually increases the code size.  Think
on targets which have auto increments.

*** This bug has been marked as a duplicate of 22586 ***


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |DUPLICATE


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


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

* [Bug middle-end/35308] Straight line strength reduction
  2008-02-23  5:23 [Bug middle-end/35308] New: Straight line strength reduction xinliangli at gmail dot com
  2008-02-23  5:27 ` [Bug middle-end/35308] " pinskia at gcc dot gnu dot org
@ 2008-02-23  6:56 ` xinliangli at gmail dot com
  1 sibling, 0 replies; 3+ messages in thread
From: xinliangli at gmail dot com @ 2008-02-23  6:56 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from xinliangli at gmail dot com  2008-02-23 06:55 -------
(In reply to comment #1)
> Sometimes doing the strength reduction actually increases the code size.  Think
> on targets which have auto increments.
> 
> *** This bug has been marked as a duplicate of 22586 ***
> 

Itanium supports address post increment.  The postInc synthesis phase should
not be affected by the strengh reduced address computation code.

When this is fixed by the PRE framework, make sure the conditional increment
case is also covered:

a[i] = i*g;
if (...)
{
   i++;
}
a[i] += ...
... = i*g;


-- 


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


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

end of thread, other threads:[~2008-02-23  6:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-02-23  5:23 [Bug middle-end/35308] New: Straight line strength reduction xinliangli at gmail dot com
2008-02-23  5:27 ` [Bug middle-end/35308] " pinskia at gcc dot gnu dot org
2008-02-23  6:56 ` xinliangli at gmail dot com

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).