Displaying 3 results from an estimated 3 matches for "scev_1".
Did you mean:
scev1
2012 Nov 30
2
[LLVMdev] [polly] scev codegen (first step to remove the dependence on ivcanon pass)
...enerated by cloog that are function of the new iteration
domain with 2 dimensions (c1 and c2 are the new induction variables of the code
generated by cloog). So the content of that map is:
loop_1 -> c1
loop_2 -> c1+7
loop_3 -> c1+c2
Given an access function from the original program:
Scev_1 = {{{0, +, 4}_1, +, 5}_2, +, 6}_3
we will apply the map on it, and we will get a symbolic expression function of
the new induction variables c1, and c2:
Scev_2 = apply (loop_1 -> c1) on Scev_1 = {{4*c1, +, 5}_2, +, 6}_3
Scev_3 = apply (loop_2 -> c1+7) on Scev_2 = {4*c1 + 5*(c1+7), +, 6}...
2012 Dec 03
1
[LLVMdev] [polly] scev codegen (first step to remove the dependence on ivcanon pass)
Tobias Grosser wrote:
> You create a map from the old_loop to a symbolic expression. What type would
> this symbolic expression have? Would it be a SCEVExpr?
evaluateAtIteration takes a scev, so apply will take a scev, or a map
(loop->scev). You can always build a ScevUnknown from an SSA name and use that
in the apply.
> At the moment, we calculate at the beginning of each
>
2012 Dec 01
0
[LLVMdev] [polly] scev codegen (first step to remove the dependence on ivcanon pass)
...ration
> domain with 2 dimensions (c1 and c2 are the new induction variables of
> the code
> generated by cloog). So the content of that map is:
>
> loop_1 -> c1
> loop_2 -> c1+7
> loop_3 -> c1+c2
>
> Given an access function from the original program:
> Scev_1 = {{{0, +, 4}_1, +, 5}_2, +, 6}_3
>
> we will apply the map on it, and we will get a symbolic expression
> function of
> the new induction variables c1, and c2:
>
> Scev_2 = apply (loop_1 -> c1) on Scev_1 = {{4*c1, +, 5}_2, +, 6}_3
> Scev_3 = apply (loop_2 -> c1+7)...