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

Sebastian Pop spop at codeaurora.org
Thu Sep 26 13:16:59 PDT 2013


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.

Sebastian
-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation



More information about the llvm-dev mailing list