[all-commits] [llvm/llvm-project] 25af35: [NewPM][LVI] Abandon LVI after CVP
Nikita Popov via All-commits
all-commits at lists.llvm.org
Sat Aug 1 14:52:27 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 25af353b0e74907d5d50c8616b885bd1f73a68b3
https://github.com/llvm/llvm-project/commit/25af353b0e74907d5d50c8616b885bd1f73a68b3
Author: Nikita Popov <nikita.ppv at gmail.com>
Date: 2020-08-01 (Sat, 01 Aug 2020)
Changed paths:
M clang/test/CodeGen/thinlto-distributed-newpm.ll
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/test/Other/new-pm-defaults.ll
M llvm/test/Other/new-pm-thinlto-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
Log Message:
-----------
[NewPM][LVI] Abandon LVI after CVP
As mentioned on D70376, LVI can currently cause performance issues
when running under NewPM. The problem is that, unlike the legacy
pass manager, NewPM will not immediately discard the LVI analysis
if the following pass does not need it. This is a problem, because
LVI has a high memory requirement, and mass invalidation of LVI
values is very inefficient. LVI should only be alive during passes
that actively interact with it.
This patch addresses the issue by explicitly abandoning LVI after CVP,
which gets us back to the LegacyPM behavior.
Differential Revision: https://reviews.llvm.org/D84959
More information about the All-commits
mailing list