[llvm-dev] Array access dependencies

Stefanos Baziotis via llvm-dev llvm-dev at lists.llvm.org
Tue Nov 17 17:09:46 PST 2020


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>


More information about the llvm-dev mailing list