search for: inductioninfo

Displaying 4 results from an estimated 4 matches for "inductioninfo".

2013 Oct 23
2
[LLVMdev] First attempt at recognizing pointer reduction
...r). > Hi Arnold, Nadav, Let me resurrect this discussion a bit. There are few things that I need to check while validating a stride access loop: 1. If there is an induction variable, and it has stride > 1. This is easy, and can be easily extended on isInductionVariable() by adding Step to InductionInfo; 2. If the reduction variables' access are sequential and compatible with the stride. This is the core of the change, and will require SCEV computation, as extensively described by Arnold. 3. If the reduction variable has any use outside of the loop. This will need to account for global varia...
2013 Oct 23
0
[LLVMdev] First attempt at recognizing pointer reduction
...v, > > Let me resurrect this discussion a bit. > > There are few things that I need to check while validating a stride access loop: > 1. If there is an induction variable, and it has stride > 1. This is easy, and can be easily extended on isInductionVariable() by adding Step to InductionInfo; Yes. > 2. If the reduction variables' access are sequential and compatible with the stride. This is the core of the change, and will require SCEV computation, as extensively described by Arnold. > 3. If the reduction variable has any use outside of the loop. This will need to account...
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