[PATCH] D63304: Ignore Singletons in statement domains
Sameer AbuAsal via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jun 14 10:19:47 PDT 2019
sabuasal added a comment.
In D63304#1542864 <https://reviews.llvm.org/D63304#1542864>, @Meinersbur wrote:
> Thanks for the patch. Do you happen to have performance, code size numbers?
>
> [suggestion] The algorithm for detecting non-looping basic sets is quite ISL-heavy. If the goal is to better handle loops such as
>
> i = 0;
> do {
> Stmt(i)
> } while (++i <n)
>
>
> did you think about recognizing them directly?
> Another possibility would be to merge the singleton with the main loop. E.g. the loop above could be converted into
>
> for (int i = 0; i < max(1,n); i+=1)
> Stmt(i);
>
You can detect this simple loop domain directly by using quering "is_singleton" but with nested loops you'll need to project out to find singletons in one dimension out of all the loop nest dimensions.
Repository:
rPLO Polly
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D63304/new/
https://reviews.llvm.org/D63304
More information about the llvm-commits
mailing list