[PATCH] D13779: [Polly] Full/partial tile separation for vectorization

Tobias Grosser via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 15 15:04:50 PDT 2015


grosser added a comment.

Hi Roman,

I also have a couple of comment regarding the compile time increase. There are two reasons for the compile-time increase:

1. isl is generating two branches instead of one

This means we are generating more IR and as a result the LLVM backends have more code-generation work to do. I will submit a test case for Sven to have a look.

2. We are spending a lot of time in IslAst, more than isl_codegen takes to generate the AST

Surprisingly when calling isl from Polly we spend significantly more time on AST generation then when generating the very same AST on the command line. Some of this time is due to us doing parallelism checks, but even if these checks are commented out we somehow still loose a notable amount of time for unknown reasons.

There are two steps to address this:

a) We can use 'mark' nodes to already annotate the SIMD loop during ScheduleTransformation, skip the parallelism checks and generate SIMD code/Parallelism annotations in the IslNodeBuilder when the SIMD marker is found

b) Find out where else compile time is lost.

My feeling is that at least 50% of the compile time increase is unnecessary and could be avoided.


http://reviews.llvm.org/D13779





More information about the llvm-commits mailing list