Archa . via llvm-dev
2017-Jul-01 08:56 UTC
[llvm-dev] loop induction variables at IR level
Hi, I was looking at trying to get loop induction variable at IR level. LLVM documentation mentioned indvars pass and getCanonicalInductionVariable() to get them, I tried running the indvars pass and then a custom pass which iterates through loops and uses the function to obtain variable for a simple loop program. But the API returns null. I also read in similar posts that the indvars pass is not available in the current version but documentation still mentions them. Is there something I am missing in my method , or is there an alternative method to get the induction variable in the latest version. Thanks in advance Regards Archa -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170701/3ae5036d/attachment.html>
Hal Finkel via llvm-dev
2017-Jul-01 13:54 UTC
[llvm-dev] loop induction variables at IR level
Hi, Archa, What do you want to do with the induction variable? For most uses cases, you can use the ScalarEvolution analysis (and, if necessary, the ScalarEvolutionExpander). -Hal On 07/01/2017 03:56 AM, Archa . via llvm-dev wrote:> Hi, > > I was looking at trying to get loop induction variable at IR level. > LLVM documentation mentioned indvars pass and > getCanonicalInductionVariable() to get them, I tried running the > indvars pass and then a custom pass which iterates through loops and > uses the function to obtain variable for a simple loop program. But > the API returns null. I also read in similar posts that the indvars > pass is not available in the current version but documentation still > mentions them. > > Is there something I am missing in my method , or is there an > alternative method to get the induction variable in the latest version. > > Thanks in advance > > Regards > Archa > > > > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev-- Hal Finkel Lead, Compiler Technology and Programming Languages Leadership Computing Facility Argonne National Laboratory -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170701/2f1daeea/attachment-0001.html>
Archa . via llvm-dev
2017-Jul-01 16:27 UTC
[llvm-dev] loop induction variables at IR level
Hi, My understanding of induction variable is that it drives the loop with fixed increment and by comparing it based on a condition (Hope I understood it right). I want to extract and print this variable and what it is compared to. I have been trying to understand the ScalarEvolution and SCEVexpander through llvm documentation are there any examples on how it is used, because I have not been able to understand its usage properly. Thanks and Regards Archa On 01-Jul-2017 3:54 pm, "Hal Finkel" <hfinkel at anl.gov> wrote:> Hi, Archa, > > What do you want to do with the induction variable? For most uses cases, > you can use the ScalarEvolution analysis (and, if necessary, the > ScalarEvolutionExpander). > > -Hal > On 07/01/2017 03:56 AM, Archa . via llvm-dev wrote: > > Hi, > > I was looking at trying to get loop induction variable at IR level. LLVM > documentation mentioned indvars pass and getCanonicalInductionVariable() > to get them, I tried running the indvars pass and then a custom pass which > iterates through loops and uses the function to obtain variable for a > simple loop program. But the API returns null. I also read in similar posts > that the indvars pass is not available in the current version but > documentation still mentions them. > > Is there something I am missing in my method , or is there an alternative > method to get the induction variable in the latest version. > > Thanks in advance > > Regards > Archa > > > > > _______________________________________________ > LLVM Developers mailing listllvm-dev at lists.llvm.orghttp://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > > > -- > Hal Finkel > Lead, Compiler Technology and Programming Languages > Leadership Computing Facility > Argonne National Laboratory > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170701/b8e41855/attachment.html>