forked from OSchip/llvm-project
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
This commit is contained in:
parent
70964d42ea
commit
d2904ccf88
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue