diff options
author | David Bolvansky <david.bolvansky@gmail.com> | 2019-07-24 20:27:32 +0000 |
---|---|---|
committer | David Bolvansky <david.bolvansky@gmail.com> | 2019-07-24 20:27:32 +0000 |
commit | d2904ccf88e8ed487647feb90cfbf331bd888509 (patch) | |
tree | 7ff2b34cb7f84e13de1688000a2f60c6b64e676b /llvm/lib/Transforms | |
parent | 70964d42ea413256b7aa763088a02ba08c6a9087 (diff) | |
download | bcm5719-llvm-d2904ccf88e8ed487647feb90cfbf331bd888509.tar.gz bcm5719-llvm-d2904ccf88e8ed487647feb90cfbf331bd888509.zip |
Let CorrelatedValuePropagation preserve LazyValueInfo
Summary:
This patch makes CorrelatedValuePropagation preserve LazyValueInfo by adding LazyValueInfo::eraseValue & calling it whenever an instruction is erased.
Passes `make check` , test-suite, and SPECrate 2017.
Patch by aqjune (Juneyoung Lee)
Reviewers: reames, mzolotukhin
Reviewed By: reames
Subscribers: xbolva00, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D59349
llvm-svn: 366942
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r-- | llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp b/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp index 89497177524..5629debe802 100644 --- a/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp +++ b/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp @@ -85,6 +85,7 @@ namespace { AU.addRequired<LazyValueInfoWrapperPass>(); AU.addPreserved<GlobalsAAWrapperPass>(); AU.addPreserved<DominatorTreeWrapperPass>(); + AU.addPreserved<LazyValueInfoWrapperPass>(); } }; @@ -796,5 +797,6 @@ CorrelatedValuePropagationPass::run(Function &F, FunctionAnalysisManager &AM) { PreservedAnalyses PA; PA.preserve<GlobalsAA>(); PA.preserve<DominatorTreeAnalysis>(); + PA.preserve<LazyValueAnalysis>(); return PA; } |