Displaying 9 results from an estimated 9 matches for "scevfaddexpr".
Did you mean:
scevaddexpr
2016 May 16
6
Working on FP SCEV Analysis
...`sitofp` and
`uitofp` over?
Same questions for `fptosi` and `fptoui`.
- How will you partition the logic between floating and integer
expressions in SCEV-land? Will you have, say, `SCEVAddExpr` do
different things based on type, or will you split it into
`SCEVIAddExpr` and `SCEVFAddExpr`? [0]
* There are likely to be similarities too -- e.g. the "inductive"
or "control flow" aspect of `SCEVAddRecExpr` is likely to be
common between floating point add recurrences[1], and integer add
recurrences; and part of figuring out the partitioning is...
2016 May 18
4
Working on FP SCEV Analysis
...onsidered as IV in this loop.
>
> And this loop is not vectorized because “f” is floating point.
>
> I don’t think that the case **B** is uncommon.
If B is the case we actually care about, I'd say changing SCEV to work
with floating points is an overkill. How would you expect an
SCEVFAddExpr to help vectorize B, other than tell you what the initial
value and the increment is (and these can be found with a simple value
analysis)?
If we're interested in handling complex variants of A directly:
computing trip counts, proving away predicates etc. without translating
the loops to u...
2016 May 19
3
Working on FP SCEV Analysis
...riable “f” is also considered as IV in this loop.
And this loop is not vectorized because “f” is floating point.
I don’t think that the case **B** is uncommon.
If B is the case we actually care about, I'd say changing SCEV to work with floating points is an overkill. How would you expect an SCEVFAddExpr to help vectorize B, other than tell you what the initial value and the increment is (and these can be found with a simple value analysis)?
One option would be to extend InductionDescriptor::isInductionPHI in the vectorizer to directly analyze the PHIs without SCEV support as Sanjoy suggested. I...
2016 May 18
2
Working on FP SCEV Analysis
...na] the same answer as above, because I don’t want to combine these operations
- How will you partition the logic between floating and integer
expressions in SCEV-land? Will you have, say, `SCEVAddExpr` do
different things based on type, or will you split it into
`SCEVIAddExpr` and `SCEVFAddExpr`? [0]
[Demikhovsky, Elena] Yes, I’m introducing SCEVFAddExpr and SCEVFMulExpr - (start + delta * sitofp(i))
* There are likely to be similarities too -- e.g. the "inductive"
or "control flow" aspect of `SCEVAddRecExpr` is likely to be
common between floating po...
2016 May 20
5
Working on FP SCEV Analysis
...riable “f” is also considered as IV in this loop.
And this loop is not vectorized because “f” is floating point.
I don’t think that the case **B** is uncommon.
If B is the case we actually care about, I'd say changing SCEV to work with floating points is an overkill. How would you expect an SCEVFAddExpr to help vectorize B, other than tell you what the initial value and the increment is (and these can be found with a simple value analysis)?
One option would be to extend InductionDescriptor::isInductionPHI in the vectorizer to directly analyze the PHIs without SCEV support as Sanjoy suggested. I...
2016 May 20
0
Working on FP SCEV Analysis
...as IV in this loop.
>
> And this loop is not vectorized because “f” is floating point.
>
> I don’t think that the case **B** is uncommon.
>
> If B is the case we actually care about, I'd say changing SCEV to work with floating points is an overkill. How would you expect an SCEVFAddExpr to help vectorize B, other than tell you what the initial value and the increment is (and these can be found with a simple value analysis)?
>
> One option would be to extend InductionDescriptor::isInductionPHI in the vectorizer to directly analyze the PHIs without SCEV support as Sanjoy sug...
2016 May 24
1
Working on FP SCEV Analysis
...n this loop.
>
> And this loop is not vectorized because “f” is floating point.
>
> I don’t think that the case **B** is uncommon.
>
>
> If B is the case we actually care about, I'd say changing SCEV to work with
> floating points is an overkill. How would you expect an SCEVFAddExpr to
> help vectorize B, other than tell you what the initial value and the
> increment is (and these can be found with a simple value analysis)?
>
>
> One option would be to extend InductionDescriptor::isInductionPHI in the
> vectorizer to directly analyze the PHIs without SCEV sup...
2016 May 16
4
Working on FP SCEV Analysis
Hi,
I'm working now on extending SCEV Analysis and adding FP support.
At the beginning, I want to vectorize this loop:
float fp_inc;
float x = init;
for (int i=0;i<N;i++){
A[i] = x;
x += fp_inc; // Loop invariant variable or constant
}
In this loop "x" is a FP induction variable. But it is not the "primary" induction and loop trip count is still depends
2016 May 18
4
Working on FP SCEV Analysis
On Tue, May 17, 2016 at 8:49 PM Owen Anderson <resistor at mac.com> wrote:
>
> On May 16, 2016, at 2:42 PM, Sanjoy Das via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
> - Core motivation: why do we even care about optimizing floating
> point induction variables? What situations are they common in? Do
> programmers _expect_ compilers to optimize them