Displaying 2 results from an estimated 2 matches for "outsideval".
2013 Oct 21
0
[LLVMdev] First attempt at recognizing pointer reduction
...our 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, preheader] [WPTR, loop]
store WRITEPTR
...
WPTR = getelementptr WRIPTR, 3
If you treat this as a reduction, you will end up with code like (say we used a VF=2):
WRITEPTR = phi <2 x i8*> [ <outsideval, 0>, preheader] [WPTR, loop]
ptr = WRITEPTR<0> + WRITEPTR<1>
store ptr...
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