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