[llvm-dev] How to get information about data dependencies?

Michael Kruse via llvm-dev llvm-dev at lists.llvm.org
Wed Jul 1 22:07:52 PDT 2020

LLVM has multiple dependence analyses, each with its up- and downsides:

 * llvm::DependenceAnalysis
 * llvm::LoopAccessAnalysis
 * llvm::MemorySSA
 * polly::DependenceInfo

Just running the analysis passes does not change anything, the
analysis has to be used by a transformation pass. Since there is no
common interface for dependence analysis, each transformation pass
expects a specific analysis and runs it itself if necessary. For
instance LoopVectorize uses LoopAccessAnalysis.

None of these are well documented(*), I suggest to look at the
transformation pass sources that use them.


(*) For MemorySSA, there is https://www.llvm.org/docs/MemorySSA.html

Am Mi., 1. Juli 2020 um 19:52 Uhr schrieb Jiho Ro via llvm-dev
<llvm-dev at lists.llvm.org>:
> Hello,
> I had a question similar to this one in the link below.
> http://lists.llvm.org/pipermail/llvm-dev/2015-January/080589.html
> In addition, if we can't get RAW dependencies information using the provided llvm tools, how would I write a pass for it? Are there any helpful resources?
> Thanks,
> Jiho
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

More information about the llvm-dev mailing list