[PATCH] D73032: [DependenceAnalysis] Memory dependence analysis internal caching mechanism is broken in presence of TBAA (PR42733).

Evgeniy via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 22 21:08:20 PST 2020


ebrevnov added a comment.

In D73032#1833453 <https://reviews.llvm.org/D73032#1833453>, @dantrushin wrote:

> Please excuse me for hijacking the review, but what is _exact_ meaning of BBSkipFirstBlockPair?
>  (I asked on llvm-dev@, but got no answer). Does it marks BB where query starts? Or first block where we've found something relevant? Anything else?


BBSkipFirstBlockPair - keeps pair of BasicBlock and flag indicating whether dependencies in the BasicBlock itself were taken into account or not. Other way to think about this flag is whether calculated dependencies for the beginning or the end of the BasicBlock. If BasicBlock is not null then underlying cache represents all dependencies for particular memory address at this BasicBlock (this is what I mean by "complete" cache). If BasicBlock is null then underlying cache may have some dependence information but it doesn't represent all dependencies (this is what I mean by "incomplete" cache). Please note that information in the cache still valid it just not full. Probably it's better to use "Inexact" instead of "Incomplete" because opposite situation is possible as well (when cache has extra dependencies).


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D73032/new/

https://reviews.llvm.org/D73032





More information about the llvm-commits mailing list