Author: Paolo Bonzini Date: To: Bingfeng Mei CC: Steven Bosscher, gcc Subject: Re: Inefficient loop unrolling.
Bingfeng Mei wrote: > Steven,
> I just created a bug report. You should receive a CCed mail now.
>
> I can see these issues are solvable at RTL-level, but require lots of
> efforts. The main optimization in loop unrolling pass, split iv, can
> reduce dependence chain but not extra ADDs and alias issue. What is the
> main reason that loop unrolling should belong to RTL level? Is it
> fundamental?
No, it is just effectiveness of the code size expansion heuristics.
Ivopts is already complex enough on the tree level, that doing it on RTL
would be insane. But other low-level loop optimizations had already
been written on the RTL level and since there were no compelling
reasons, they were left there.
That said, this is a bug -- fwprop should have folded the ADDs, at the
very least. I'll look at the PR.