Displaying 5 results from an estimated 5 matches for "ptrinduction".
2013 Oct 21
2
[LLVMdev] First attempt at recognizing pointer reduction
...re yet, just trying to understand the induction/reduction code
first and what comes out of it.
I think the right approach to get examples like this is that we need to
> recognize strided pointer inductions (we only support strides by one
> currently).
>
I see. I'll have a look at IK_PtrInduction and see what patterns I can spot.
Do you envisage a new IK type for strided induction, or just work with the
PtrInduction to extend the concept of a non-unit stride (ie. separate Step
from ElementSize)?
cheers,
--renato
-------------- next part --------------
An HTML attachment was scrubbed...
UR...
2013 Oct 21
0
[LLVMdev] First attempt at recognizing pointer reduction
...st trying to understand the induction/reduction code first and what comes out of it.
>
>
> I think the right approach to get examples like this is that we need to recognize strided pointer inductions (we only support strides by one currently).
>
> I see. I'll have a look at IK_PtrInduction and see what patterns I can spot.
>
> Do you envisage a new IK type for strided induction, or just work with the PtrInduction to extend the concept of a non-unit stride (ie. separate Step from ElementSize)?
Either representation should be fine. I think the bigger task is not recognizing the...
2013 Oct 21
0
[LLVMdev] First attempt at recognizing pointer reduction
Renato,
can you post a hand-created vectorized IR of how a reduction would work on your example?
I don’t think that recognizing this as a reduction is going to get you far. A reduction is beneficial if the value reduced is only truly needed outside of a loop.
This is not the case here (we are storing/loading from the pointer).
Your example is something like
WRITEPTR = phi i8* [ outsideval,
2013 Oct 21
5
[LLVMdev] First attempt at recognizing pointer reduction
Hi Nadav, Arnold,
I managed to find some time to work on the pointer reduction, and I got a
patch that can make "canVectorize()" pass.
Basically what I do is to teach AddReductionVar() about pointers, saying
they don't really have an exit instructions, and that (maybe) the final
store is a good candidate (is it?).
This makes it recognize the writes and reads, but then
2013 Oct 21
0
[LLVMdev] LLVMdev Digest, Vol 112, Issue 56
...st trying to understand the induction/reduction code first and what comes out of it.
>
>
> I think the right approach to get examples like this is that we need to recognize strided pointer inductions (we only support strides by one currently).
>
> I see. I'll have a look at IK_PtrInduction and see what patterns I can spot.
>
> Do you envisage a new IK type for strided induction, or just work with the PtrInduction to extend the concept of a non-unit stride (ie. separate Step from ElementSize)?
Either representation should be fine. I think the bigger task is not recognizing the...