[llvm-dev] loop canonical variables

Michael Kruse via llvm-dev llvm-dev at lists.llvm.org
Tue Jul 25 10:11:46 PDT 2017


There is Loop::getCanonicalInductionVariable()

You may need to run the "-indvars" (IndVarSimplify) pass before it
returns a value. I am not sure it normalizes the step size to 1 in all
cases.

Michael

2017-07-25 18:12 GMT+02:00 Anastasiya Ruzhanskaya via llvm-dev
<llvm-dev at lists.llvm.org>:
> Hello,
> I need to perform the analysis of loop induction variables. However, as I
> understood, directly it is possible to extract only a canonical induction
> variable which is only one. If I have multiple induction variables with the
> step not one, are there any methods to extract their phi node?
>
>         int a[10];
>         int b[10];
>         for (int i = 0, j = 1; i < 10, j < 10; i++, j+=2) {
>                 a[i] = i+1;
>                 b[j] = j+1;
>         }
>         printf("%d",(b[1] + a[1]));
>         return (b[1] + a[1]);
>
> this is a brief example, I want to track i and j (smth is not initialized in
> this code, but it doesn't matter)
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>


More information about the llvm-dev mailing list