This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug optimization/14046] [tree-ssa regression] address calculation not moved out of innermost loop


------- Additional Comments From dberlin at dberlin dot org  2004-02-06 15:40 -------
Subject: Re:  New: [tree-ssa regression] address calculation not moved out of innermost loop


On Feb 6, 2004, at 7:40 AM, rguenth at tat dot physik dot uni-tuebingen 
dot de wrote:

> For the simple testcase
>
> void foo(double *a, int o, int f0, int e0, int f1, int e1, int s0, int 
> s1)
> {
>   for (int i1=f1; i1<=e1; ++i1)
>     for (int i0=f0; i0<=e0; ++i0)
>       a[o + i0*s0 + i1*s1] = 0.0;
> }
>
> tree-ssa is not able to move the address calculation partly out of the 
> innermost
> loop, while 3.4 is able to do this:
On the normal tree-ssa branch, Load PRE would have been able to move 
this, but it doesn't because it's too expensive to run load PRE on 
calculations that only occur once right now.
Zdenek posted a LICM patch (which should also move it out of the loop), 
and committed it to the lno-branch.
--Dan



-- 


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]