Hi all I am relatively new to LLVM and I am still trying to work my way through. What I am trying to implement is a list of array access and indices of the same within loops. I can then probably try to work on dependencies they can have. I have already got all the Basic blocks in a loop and I am looking at load & store instructions to reconstruct array access (casting GEP instructions). I tried the default dependence analysis to get probable dependencies but it was of no use. Is there a more graceful way of looking for array accesses or reconstructing them for that matter. Any help would be appreciated Regards Anilava -- Disclaimer:- The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this email. Please notify the sender immediately and destroy all copies of this message and any attachments. The views expressed in this E-mail message (including the enclosure/(s) or attachment/(s) if any) are those of the individual sender, except where the sender expressly, and with authority, states them to be the views of IIT Hyderabad. Before opening any mail and attachments please check them for viruses, malware, and the sender email address is indeed from IITH domain. IITH does not accept any liability for malware infected mails. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20201103/b3354768/attachment.html>
At the last LLVM Developer's Meeting, there was a talk about LLVM dependency analyses: https://www.youtube.com/watch?v=1e5y6WDbXCQ Michael Am Mo., 2. Nov. 2020 um 13:47 Uhr schrieb Anilava Kundu via llvm-dev <llvm-dev at lists.llvm.org>:> > Hi all > > I am relatively new to LLVM and I am still trying to work my way through. What I am trying to implement is a list of array access and indices of the same within loops. I can then probably try to work on dependencies they can have. > > I have already got all the Basic blocks in a loop and I am looking at load & store instructions to reconstruct array access (casting GEP instructions). > > I tried the default dependence analysis to get probable dependencies but it was of no use. > > Is there a more graceful way of looking for array accesses or reconstructing them for that matter. > > Any help would be appreciated > > Regards > Anilava > > Disclaimer:- The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this email. Please notify the sender immediately and destroy all copies of this message and any attachments. The views expressed in this E-mail message (including the enclosure/(s) or attachment/(s) if any) are those of the individual sender, except where the sender expressly, and with authority, states them to be the views of IIT Hyderabad. Before opening any mail and attachments please check them for viruses, malware, and the sender email address is indeed from IITH domain. IITH does not accept any liability for malware infected mails. > > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
Hi, Hopefully the video Michael posted will help you, thanks for posting. It's more useful to the user of these passes than the developer I guess (it describes the theoretical background, hurdles of the implementation etc.). But the two passes we describe, DependenceAnalysis and MemorySSA, have very clean interfaces so you shouldn't have a problem in that matter. You probably want to look at DependenceAnalysis for array accesses. Reconstructing array accesses from LLVM IR and / or performing dependence analysis on them is quite difficult because a lot of info from the front-end has been lost. I mention it in the talk in the talk and you can also see a recent post in the mailing list: http://lists.llvm.org/pipermail/llvm-dev/2020-October/145575.html That said DependenceAnalysis will help you if what you do is not super fancy and you are not interested in run-time checks. Best, Stefanos Στις Τετ, 18 Νοε 2020 στις 3:27 π.μ., ο/η Michael Kruse via llvm-dev < llvm-dev at lists.llvm.org> έγραψε:> At the last LLVM Developer's Meeting, there was a talk about LLVM > dependency analyses: https://www.youtube.com/watch?v=1e5y6WDbXCQ > > Michael > > Am Mo., 2. Nov. 2020 um 13:47 Uhr schrieb Anilava Kundu via llvm-dev > <llvm-dev at lists.llvm.org>: > > > > Hi all > > > > I am relatively new to LLVM and I am still trying to work my way > through. What I am trying to implement is a list of array access and > indices of the same within loops. I can then probably try to work on > dependencies they can have. > > > > I have already got all the Basic blocks in a loop and I am looking at > load & store instructions to reconstruct array access (casting GEP > instructions). > > > > I tried the default dependence analysis to get probable dependencies but > it was of no use. > > > > Is there a more graceful way of looking for array accesses or > reconstructing them for that matter. > > > > Any help would be appreciated > > > > Regards > > Anilava > > > > Disclaimer:- The information contained in this electronic message and > any attachments to this message are intended for the exclusive use of the > addressee(s) and may contain proprietary, confidential or privileged > information. If you are not the intended recipient, you should not > disseminate, distribute or copy this email. Please notify the sender > immediately and destroy all copies of this message and any attachments. The > views expressed in this E-mail message (including the enclosure/(s) or > attachment/(s) if any) are those of the individual sender, except where the > sender expressly, and with authority, states them to be the views of IIT > Hyderabad. Before opening any mail and attachments please check them for > viruses, malware, and the sender email address is indeed from IITH domain. > IITH does not accept any liability for malware infected mails. > > > > > > _______________________________________________ > > LLVM Developers mailing list > > llvm-dev at lists.llvm.org > > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20201118/d72d7658/attachment.html>