------- Additional Comments From rguenth at tat dot physik dot uni-tuebingen
dot de 2005-01-20 14:57 -------
Subject: Re: unrolling happens too late/SRA
does not happen late enough
> Note PR 18755 blocks this if we go the SRA after loop optimization which
> seems like a better idea.
I do not completely understand this sentence ;) I argue that SRA after
loop is a bad idea, because SRA, in my testcases, will expose new
oportunities for selecting ivs, so we'll need to run another loop after
SRA. So I chose for
loop0
sra
loop
instead of
sra
loop
sra
loop
which is one pass less. Also with -ftree-early-loop-optimize we get
in .vars for PR18755:
;; Function float foobar() (_Z6foobarv)
float foobar() ()
{
<bb 0>:
return a.array[3] * b.array[3] + b.array[2] * a.array[2] + b.array[1] *
a.array[1] + a.array[0] * b.array[0] + 0.0;
}
which is what we want? Or do we now just paper over another problem here?
I'm confused...
Richard.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18754