via llvm-dev
2017-May-02 01:43 UTC
[llvm-dev] SCEV - Non liner induction variable Addrec expression
Hello, We are students at the Carnegie Mellon university. We are currently working on a project which needs non linear IV's and their corresponding increments. We tried decoding their ADDRecExpr and found ourselves in a puzzle. so basically we want to use the ADDRec expression(e.g. {k,+,l,+,n,+,m}, k,l,n,m being constants) to compute the increments of the non linear IV's(e.g. j += A*i*I + B*I + c ), without requiring further details about I (also an induction variable), A, B and C are constants. we were hoping if someone has some documentation or already know how to do this. Hoping for a reply soon. Thanks, Students.
Sanjoy Das via llvm-dev
2017-May-02 22:30 UTC
[llvm-dev] SCEV - Non liner induction variable Addrec expression
Hi, On Mon, May 1, 2017 at 6:43 PM, via llvm-dev <llvm-dev at lists.llvm.org> wrote:> We tried decoding their ADDRecExpr and found ourselves in a puzzle. > > so basically we want to use the ADDRec expression(e.g. {k,+,l,+,n,+,m}, > k,l,n,m being constants) to compute the increments of the > non linear IV's(e.g. j += A*i*I + B*I + c ), without requiring further > details about I (also an induction variable), A, B and C are constants.I'm not sure what you mean by "without requiring further details about I", but did you take a look at SCEVAddRecExpr::getStepRecurrence ? -- Sanjoy