Madhur Amilkanthwar via llvm-dev
2017-Apr-07 11:43 UTC
[llvm-dev] [cfe-dev] Help needed in analyzing liveness of variables with LLVM IR
Adding llvm-dev. I don't know if this is readily available in LLVM but here is what you could do something like below. worklist = NULL for each loop L in function { for each block B in L { for each Inst I in B { if (I.use_empty()) continue; for each use of I { B1 = I.getParent(); if (L.contains(B)) continue; worklist.add(I) break; } } } } Similar thing seems to be in Transforms/Utils/LCSSA.cpp On Fri, Apr 7, 2017 at 11:01 AM, Shail Dave via cfe-dev < cfe-dev at lists.llvm.org> wrote:> Hi, > > Thank you for your time in reading this. I need help in analyzing the > live-in and live-out variables for few loops in the llvm IR. I want to > figure out which is a live-variable at the end of the loop and what is > live-in variable for the loop. I found that such provisions are available > for machine instructions. But, I have to use this at IR level. I found few > papers showing algorithms to construct such analysis but, it seems to me > that this must be a problem encountered before and there should be at least > similar functionalities in some of the analyses passes in the existing LLVM > framework. It would be great if I can find some references or someone can > give some suggestions. > > If I cannot find some existing passes, I am also not sure about – how can > I make use of Intrinsic::invariant_start or Intrinsic::lifetime_start for > aforementioned purpose. Any help is highly appreciated. Thanks! > > Best, > *Shail* > > _______________________________________________ > cfe-dev mailing list > cfe-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev > >-- *Disclaimer: Views, concerns, thoughts, questions, ideas expressed in this mail are of my own and my employer has no take in it. * Thank You. Madhur D. Amilkanthwar -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170407/274ff146/attachment.html>
Madhur Amilkanthwar via llvm-dev
2017-Apr-07 11:46 UTC
[llvm-dev] [cfe-dev] Help needed in analyzing liveness of variables with LLVM IR
+cfe dev On Fri, Apr 7, 2017 at 5:13 PM, Madhur Amilkanthwar <madhur13490 at gmail.com> wrote:> Adding llvm-dev. > > I don't know if this is readily available in LLVM but here is what you > could do something like below. > > worklist = NULL > for each loop L in function { > for each block B in L { > for each Inst I in B { > > if (I.use_empty()) > continue; > > for each use of I { > B1 = I.getParent(); > > if (L.contains(B)) > continue; > > worklist.add(I) > break; > } > } > } > } > > Similar thing seems to be in Transforms/Utils/LCSSA.cpp > > > On Fri, Apr 7, 2017 at 11:01 AM, Shail Dave via cfe-dev < > cfe-dev at lists.llvm.org> wrote: > >> Hi, >> >> Thank you for your time in reading this. I need help in analyzing the >> live-in and live-out variables for few loops in the llvm IR. I want to >> figure out which is a live-variable at the end of the loop and what is >> live-in variable for the loop. I found that such provisions are available >> for machine instructions. But, I have to use this at IR level. I found few >> papers showing algorithms to construct such analysis but, it seems to me >> that this must be a problem encountered before and there should be at least >> similar functionalities in some of the analyses passes in the existing LLVM >> framework. It would be great if I can find some references or someone can >> give some suggestions. >> >> If I cannot find some existing passes, I am also not sure about – how can >> I make use of Intrinsic::invariant_start or Intrinsic::lifetime_start for >> aforementioned purpose. Any help is highly appreciated. Thanks! >> >> Best, >> *Shail* >> >> _______________________________________________ >> cfe-dev mailing list >> cfe-dev at lists.llvm.org >> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev >> >> > > > -- > *Disclaimer: Views, concerns, thoughts, questions, ideas expressed in this > mail are of my own and my employer has no take in it. * > Thank You. > Madhur D. Amilkanthwar > >-- *Disclaimer: Views, concerns, thoughts, questions, ideas expressed in this mail are of my own and my employer has no take in it. * Thank You. Madhur D. Amilkanthwar -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170407/502cbb8c/attachment.html>