[polly] speedup compile time for functions with no loops
Tobias Grosser
tobias at grosser.es
Thu May 30 10:21:29 PDT 2013
On 05/30/2013 10:16 AM, Sebastian Pop wrote:
> Hi,
>
> I don't have a testcase under hand, and sending huge files over email
> is not optimal,
> so here is how to get plenty of interesting huge testcases: compile
> the nightly test-suite
> with clang -ftime-report and polly enabled.
>
> Then grep for Polly in the compile log, I see things like this:
>
> 21.3500 ( 48.2%) 0.0000 ( 0.0%) 21.3500 ( 48.1%) 22.2737 (
> 42.3%) Polly - Detect static control parts (SCoPs)
>
> Note that I am still seeing huge compile time degradations with the patch
> when compiling a lot of functions with loops,
> although that's less often than without the patch ;-)
>
> There is still room for improvement to cut down from that time,
> maybe focusing scop detection on loop nests: i.e., run scop detection
> on the loop info iterating over loops and not over basic blocks to discover
> the interesting hot spots for polly.
I believe there is plenty of room for improvements. The biggest one is
probably to not try all regions, but to start from the innermost regions
and to bail out as soon as we see something invalid.
I agree that there may be various cases where Polly is slow. To discuss
patches however we need to focus on a case at a time to understand the
reason. If you see one test case and you can extract a function that is
exceptionally slow, maybe you can create a bug report and copy me and
Star Tan.
Tobias
More information about the llvm-commits
mailing list