AFAIK they are independent developments. LoopAccessAnalysis was extracted out of the LoopVectorizer in 2015, and first developed in 2013 (https://github.com/llvm/llvm-project/commit/d517976758c8674bdcd4c74457f7a83f20e432c5) DependenceAnalysis was a from-scratch implementation from 2012 (https://github.com/llvm/llvm-project/commit/59b61b9e2c549956b1094417a72c3943c20c9234) I do not know why LoopVectorize would not make use of DependenceAnalysis in 2013. Michael Am Mo., 6. Juli 2020 um 09:51 Uhr schrieb David Greene <david.greene at hpe.com>: > > 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
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4