Numbers for SWIM with -ftree-loop-linear

Daniel Berlin dberlin@dberlin.org
Tue Sep 14 02:15:00 GMT 2004


<pinskia> DannyB: at -O1 -ftree-loop-linear: from ??? (I don't have 
numbers for -O1) to 1111 (I will test with higher optimizations soon)
<pinskia> for -O3 -funroll-loops -mcpu=G5 -ffast-math -ftree-loop-linear: 
288 to 1260

That's in terms of spec score on a g5 running darwin 10.3.4.
So uh, it helps a bit.
To be fair, swim's inner loop accesses arrays with a stride of 1336, and 
with -ftree-loop-linear, it's now stride 1. 
:)

I've also determined why running ivopts first on g95 doesn't help (g95 
doesn't use the original specified induction variables as the normal ivs, 
but ivopts should eliminate one in favor of the other).

ivopts canonicalizes the iv properly, but it also does tree strength 
reduction, and replaces an array reference with a pointer deref,
which we can't analyze data dependence for, and give up.

It would be nice if ivopts was split into strength reduction, and 
induction variable elimination, seperately.
So that way, we could run IVE before linear loop transforms, and strength 
reduction after.

--Dan



More information about the Gcc mailing list