Displaying 6 results from an estimated 6 matches for "canonicalication".
Did you mean:
canonicalization
2013 Aug 06
2
[LLVMdev] [Polly] Question about Polly's speed up on huffbench.c without optimization and code generation
...evaluation show that when compiled with "clang -Xclang -load -Xclang LLVMPolly.so -mllvm -polly -mllvm -polly-optimizer=none -mllvm -polly-code-generator=none", the execution time of huffbench would reduced to 15 secs from the original 19 secs without Polly.
By investigating Polly's canonicalication passes, I find the speedup mainly comes from "createIndVarSimplifyPass()", which is controlled by the variable SCEVCodegen:
if (!SCEVCodegen)
PM.add(polly::createIndVarSimplifyPass());
If we remove this canonicalication pass, then there would be no performance improvement....
2013 Aug 06
0
[LLVMdev] [Polly] Question about Polly's speed up on huffbench.c without optimization and code generation
...ow that when compiled with "clang -Xclang -load -Xclang LLVMPolly.so -mllvm -polly -mllvm -polly-optimizer=none -mllvm -polly-code-generator=none", the execution time of huffbench would reduced to 15 secs from the original 19 secs without Polly.
>
>
> By investigating Polly's canonicalication passes, I find the speedup mainly comes from "createIndVarSimplifyPass()", which is controlled by the variable SCEVCodegen:
>
>
> if (!SCEVCodegen)
> PM.add(polly::createIndVarSimplifyPass());
>
>
> If we remove this canonicalication pass, then there woul...
2011 Oct 08
0
[LLVMdev] How to make Polly ignore some non-affine memory accesses
...tions on the Polly website use a very short sequence of
preoptimization passes that just matches the simple example presented.
To optimize real world programs that are not 100% standard you need a
larger sequence of prepasses. In your example the loop iv does not start
at '0' so further canonicalication is required.
The minimal sequence of optimization passes for your example is:
opt -mem2reg -instcombine -simplifycfg -loop-rotate -indvars
2. -enable-iv-rewrite
LLVM recently disabled by default the induction variable rewrite. This
feature is necessary for the Polly preoptimizations. Hence, you...
2011 Oct 07
1
[LLVMdev] How to make Polly ignore some non-affine memory accesses
I add also the output of these commands:
[hades at artemis examples]$ ./compile_ex.sh super_simple_loop
Printing analysis 'Polly - Detect Scops in functions' for function 'main':
[hades at artemis examples]$
modifying it in :
#include <stdio.h>
int main()
{
int A[1024];
int j, k=10;
for (j = 0; j < 1024; j++)
A[j] = k;
2011 Oct 03
4
[LLVMdev] How to make Polly ignore some non-affine memory accesses
Hi Tobias,
thanks for the answer. I'll try to give a look to the code you pointed
me to , and I'll try to make the modification myself. I'm new to LLVM
and Polly, but the code of both seem clean and understandable, so I
hope to be able to do it myself. In case I'll ask here for support :)
Marcello
2011/10/1 Tobias Grosser <tobias at grosser.es>:
> On 10/01/2011 03:26
2011 Oct 22
5
[LLVMdev] How to make Polly ignore some non-affine memory accesses
...ly website use a very short sequence of
> preoptimization passes that just matches the simple example presented. To
> optimize real world programs that are not 100% standard you need a larger
> sequence of prepasses. In your example the loop iv does not start at '0' so
> further canonicalication is required.
>
> The minimal sequence of optimization passes for your example is:
> opt -mem2reg -instcombine -simplifycfg -loop-rotate -indvars
>
> 2. -enable-iv-rewrite
>
> LLVM recently disabled by default the induction variable rewrite. This
> feature is necessary for th...