[LLVMdev] [Polly] Move Polly's execution later

Star Tan tanmx_star at yeah.net
Thu Sep 26 21:00:43 PDT 2013


At 2013-09-27 04:22:13,"Sebastian Pop" <spop at codeaurora.org> wrote:>Star Tan wrote:
>> I have not yet found out why Polly produces such wrong code.
>
>IMO this is because Polly does not recognize a given number of patterns that
>occur after the scalar opts have transformed the code.  There are a given number
>of assumptions that we took for granted and these do not hold down the pipeline.
>
>> However, maybe I should also investigate other points where we can move
>> Polly. Do you have any suggestion?
>
>Yep, try to move Polly just after function inlining, that's better than the
>current place, and will extend the loop coverage in many cases.
>
Do you mean we should move it  after "MPM.add(Inliner);"? 
Inliner pass is an early pass, so moving Polly after Inliner may not reduce the Polly's canonicalization passes. On the contrary, it may make the Polly more complex. However,  as what you said, moving Polly after the inlinerg pass will extend the loop coverage and thus improve the performance of Polly!  I'll try it.

Thanks for your suggestion,
Star Tan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130927/d4e63640/attachment.html>


More information about the llvm-dev mailing list