[all-commits] [llvm/llvm-project] 7bdc83: [LICM] Don't cache AliasSetTrackers when run under...

Daniil Suchkov via All-commits all-commits at lists.llvm.org
Tue Jan 21 22:18:42 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 7bdc83f34016bb0288f7af6fffa244bfeb285d04
      https://github.com/llvm/llvm-project/commit/7bdc83f34016bb0288f7af6fffa244bfeb285d04
  Author: Daniil Suchkov <suc-daniil at yandex.ru>
  Date:   2020-01-22 (Wed, 22 Jan 2020)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LICM.cpp

  Log Message:
  -----------
  [LICM] Don't cache AliasSetTrackers when run under legacy PM

Summary:
This is the first step towards complete removal of AST caching from
LICM. Attempts to keep LICM's AST cache up to date across passes can lead
to miscompiles like this one: https://bugs.llvm.org/show_bug.cgi?id=44320.

LICM has already switched to using MemorySSA to do sinking and hoisting
and only builds an AliasSetTracker on demand for the promoteToScalars
step, without caching it from one LICM instance to the next. Given this,
we don't have compile-time reasons to keep AST caching any more.
The only scenario where the caching would be used currently is when
using the LegacyPassManager and setting -enable-mssa-loop-dependency=false.

This switch should help us to surface any possible issues that may arise
along this way, also it turns subsequent removal of AST caching into NFC.

Reviewers: asbirlea, fhahn, efriedma, reames

Reviewed By: asbirlea

Subscribers: hiraditya, george.burgess.iv, llvm-commits

Tags: #llvm

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




More information about the All-commits mailing list