<div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><div>Hi all,</div><div><span style="font-size: 14px; line-height: 1.7;"><br></span></div><div><span style="font-size: 14px; line-height: 1.7;"> </span><span style="font-size: 14px; line-height: 1.7;">It seems that Polly could still speed up </span> test-suite/SingleSource/Benchmarks/CoyoteBench/huffbench.c<span style="font-size: 14px; line-height: 1.7;"> even without any optimization and code generation. </span><span style="font-size: 14px; line-height: 1.7;">Our evaluation show that when compiled with "clang -Xclang -load -Xclang LLVMPolly.so -mllvm -polly -mllvm -polly-optimizer=none -mllvm -polly-code-generator=none", </span><span style="font-size: 14px; line-height: 1.7;">the execution time of huffbench would reduced to 15 secs from the original 19 secs without Polly.</span></div><div><br></div><div>By investigating Polly's canonicalication passes, I find the speedup main!
 ly comes from "createIndVarSimplifyPass()", which is controlled by the variable SCEVCodegen:</div><div><div><br></div><div>    if (!SCEVCodegen)</div><div>       PM.add(polly::createIndVarSimplifyPass());</div></div><div><br></div><div>If we remove this canonicalication pass, then there would be no performance improvement.</div><div><br></div><div>Could anyone give me some hints why Polly needs this <span style="font-size: 14px; line-height: 1.7;">canonicalication pass in normal cases but refuse it in SCEVCodegen case? Is it possible to remove this </span><span style="font-size: 14px; line-height: 1.7;">canonicalication</span><span style="font-size: 14px; line-height: 1.7;"> pass at all?</span></div><div><span style="font-size: 14px; line-height: 1.7;"><br></span></div><div><span style="font-size: 14px; line-height: 1.7;">Thanks,</span></div><div><span style="font-size: 14px; line-height: 1.7;">Star Tan</span></div!
 ></div>