[PATCH] D136512: [AA] Add aliasAt, for flow-sensitive queries.

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 25 11:29:00 PDT 2022


nikic added a comment.

>> I don't really understand your invalidation troubles in the new AA pass. Your current implementation has a high compile-time impact (1% geomean on ctmark), but I think this mainly comes down to the fact that you are unnecessarily recalculating the dominator tree many times -- why doesn't this fetch the DT from the pass manager? BasicAA already does this, so it should be available and work fine. (Note that this is not just a performance concern, your current implementation is incorrect if the DT is updated within a pass -- this will update the DT from the PM, but not your internal instance.)
>
> I think practically the reason is that BasicAA is still fairly useful without the dominator tree, while SeparateStorageAA is much less so. But a hard DT dependency is somewhat burdensome because any AA result being invalidated acts to invalidate all of them (just because of the invalidate implementation in AAResults). But I think it's just a bullet this has to bite given the correctness/compile-time problems.

BasicAA currently has a hard dependency on DominatorTree, it's not an optional analysis. So it should really be in the same boat as SeparateStorageAA... (We could make DT optional in BasicAA, but that's not how it is right now.)


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D136512



More information about the llvm-commits mailing list