[LLVMdev] [Polly] Compile-time and Execution-time analysis for the SCEV canonicalization

Tobias Grosser tobias at grosser.es
Thu Sep 26 22:57:44 PDT 2013


On 09/26/2013 10:16 PM, Sebastian Pop wrote:
> Tobias Grosser wrote:
>> On 09/17/2013 04:12 AM, Star Tan wrote:
>>> Now, we come to more evaluations on http://188.40.87.11:8000/db_default/v4/nts/recent_activity
>>
>> Hi Star Tan,
>>
>> thanks for this very extensive analysis. The results look very
>> interesting. As you found out, just removing some canonicalization
>> passes will reduce compile time, but this reduction may in large
>> part being due to Polly not being able to optimise certain pieces of
>> code.
>>
>> Instead of removing canonicalization passes, I believe we may want
>> to move Polly to a later place in the pass manager. Possibly at the
>> beginning of the loop optimizer right before
>> PM.add(createLoopRotatePass());
>>
>> We would then only need a very low number of canonicalization passes
>> (possibly zero) and instead would put a couple of cleanup passes
>> right
>> after Polly. What do you think?
>
> We experimented with moving Polly down the pass pipeline: when moving Polly past
> CSE, PRE and other scalar opts, Polly stops recognizing a number of loops.

Interesting. You don't happen to have test cases that could show this 
behaviour?

Tobi




More information about the llvm-dev mailing list