[all-commits] [llvm/llvm-project] d09c59: [BasicAA] Fix caching in the presence of phi cycles

Nikita Popov via All-commits all-commits at lists.llvm.org
Sat Oct 24 01:10:54 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: d09c5921421c362ecc24c9a804e87c2bc1d48997
      https://github.com/llvm/llvm-project/commit/d09c5921421c362ecc24c9a804e87c2bc1d48997
  Author: Nikita Popov <nikita.ppv at gmail.com>
  Date:   2020-10-24 (Sat, 24 Oct 2020)

  Changed paths:
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/unittests/Analysis/AliasAnalysisTest.cpp

  Log Message:
  -----------
  [BasicAA] Fix caching in the presence of phi cycles

Any time we insert a block into VisitedPhiBBs, previously cached
values may no longer be valid for the recursive alias queries. As
such, perform them using an empty AAQueryInfo.

Note that if we recurse to the same phi, the block will already
be inserted, so we reuse the old AAQueryInfo, and thus still
protect against infinite recursion.

This problem can appear with with an without BatchAA, but is more
likely to occur with BatchAA, as more values are cached.

Differential Revision: https://reviews.llvm.org/D90066




More information about the All-commits mailing list