[llvm-dev] How to get information about data dependencies? (original) (raw)

David Greene via llvm-dev llvm-dev at lists.llvm.org
Mon Jul 6 07:50:56 PDT 2020


Michael Kruse via llvm-dev <llvm-dev at lists.llvm.org> writes:

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

* llvm::DependenceAnalysis * llvm::LoopAccessAnalysis

Can someone explain the differences between these? As far as I can tell they essentially do the same thing (though perhaps one is more precise?). LAA seems to be used by vectorization (what else?) while DA seems to be used by loop transformations (what else?).

I am not a loop opt guy so while I'm familiar with the basic ideas, the details are somewhat lost on me. Is there a reason to have two passes or should they be combined and maintained as one pass? If I have need of dependence analysis it's not clear which I should use and the comments are not much help.

               -David


More information about the llvm-dev mailing list