Displaying 3 results from an estimated 3 matches for "scev_2".
Did you mean:
scev2
2012 Nov 30
2
[LLVMdev] [polly] scev codegen (first step to remove the dependence on ivcanon pass)
...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}_3
Scev_4 = apply (loop_3 -> c1+c2) on Scev_3 = 4*c1 + 5*(c1+7) + 6*(c1+c2)
We will then code generate Scev_4 and we will use this new expression for the
arra...
2012 Dec 01
0
[LLVMdev] [polly] scev codegen (first step to remove the dependence on ivcanon pass)
...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}_3
> Scev_4 = apply (loop_3 -> c1+c2) on Scev_3 = 4*c1 + 5*(c1+7) + 6*(c1+c2)
>
> We will then code generate Scev_4 and we will use this new exp...
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
>