mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 18:54:02 +01:00
Revert rL359519 : [MemorySSA] Invalidate MemorySSA if AA or DT are invalidated.
Summary: MemorySSA keeps internal pointers of AA and DT. If these get invalidated, so should MemorySSA. Reviewers: george.burgess.iv, chandlerc Subscribers: jlebar, Prazek, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D61043 ........ This was causing windows build bot failures llvm-svn: 359555
This commit is contained in:
parent
ca0f8db8b4
commit
07c58d0062
@ -936,9 +936,6 @@ public:
|
||||
MemorySSA &getMSSA() { return *MSSA.get(); }
|
||||
|
||||
std::unique_ptr<MemorySSA> MSSA;
|
||||
|
||||
bool invalidate(Function &F, const PreservedAnalyses &PA,
|
||||
FunctionAnalysisManager::Invalidator &Inv);
|
||||
};
|
||||
|
||||
Result run(Function &F, FunctionAnalysisManager &AM);
|
||||
|
@ -2213,15 +2213,6 @@ MemorySSAAnalysis::Result MemorySSAAnalysis::run(Function &F,
|
||||
return MemorySSAAnalysis::Result(llvm::make_unique<MemorySSA>(F, &AA, &DT));
|
||||
}
|
||||
|
||||
bool MemorySSAAnalysis::Result::invalidate(
|
||||
Function &F, const PreservedAnalyses &PA,
|
||||
FunctionAnalysisManager::Invalidator &Inv) {
|
||||
auto PAC = PA.getChecker<MemorySSAAnalysis>();
|
||||
return !(PAC.preserved() || PAC.preservedSet<AllAnalysesOn<Function>>()) ||
|
||||
Inv.invalidate<AAManager>(F, PA) ||
|
||||
Inv.invalidate<DominatorTreeAnalysis>(F, PA);
|
||||
}
|
||||
|
||||
PreservedAnalyses MemorySSAPrinterPass::run(Function &F,
|
||||
FunctionAnalysisManager &AM) {
|
||||
OS << "MemorySSA for function: " << F.getName() << "\n";
|
||||
|
@ -1,53 +0,0 @@
|
||||
; RUN: opt -aa-pipeline=basic-aa -passes='require<memoryssa>,invalidate<aa>,early-cse-memssa' \
|
||||
; RUN: -debug-pass-manager -disable-output %s 2>&1 \
|
||||
; RUN: | FileCheck %s --check-prefix=CHECK-AA-INVALIDATE
|
||||
; RUN: opt -aa-pipeline=basic-aa -passes='require<memoryssa>,invalidate<domtree>,early-cse-memssa' \
|
||||
; RUN: -debug-pass-manager -disable-output %s 2>&1 \
|
||||
; RUN: | FileCheck %s --check-prefix=CHECK-DT-INVALIDATE
|
||||
|
||||
; CHECK-AA-INVALIDATE: Running analysis: MemorySSAAnalysis
|
||||
; CHECK-AA-INVALIDATE: Running analysis: DominatorTreeAnalysis
|
||||
; CHECK-AA-INVALIDATE: Running analysis: AAManager
|
||||
; CHECK-AA-INVALIDATE: Running analysis: BasicAA
|
||||
; CHECK-AA-INVALIDATE: Running pass: InvalidateAnalysisPass<llvm::AAManager>
|
||||
; CHECK-AA-INVALIDATE: Invalidating analysis: AAManager
|
||||
; CHECK-AA-INVALIDATE: Invalidating analysis: MemorySSAAnalysis
|
||||
; CHECK-AA-INVALIDATE: Running pass: EarlyCSEPass
|
||||
; CHECK-AA-INVALIDATE: Running analysis: MemorySSAAnalysis
|
||||
; CHECK-AA-INVALIDATE: Running analysis: AAManager
|
||||
|
||||
; CHECK-DT-INVALIDATE: Running analysis: MemorySSAAnalysis
|
||||
; CHECK-DT-INVALIDATE: Running analysis: DominatorTreeAnalysis
|
||||
; CHECK-DT-INVALIDATE: Running analysis: AAManager
|
||||
; CHECK-DT-INVALIDATE: Running analysis: BasicAA
|
||||
; CHECK-DT-INVALIDATE: InvalidateAnalysisPass<llvm::DominatorTreeAnalysis>
|
||||
; CHECK-DT-INVALIDATE: Invalidating analysis: DominatorTreeAnalysis
|
||||
; CHECK-DT-INVALIDATE: Invalidating analysis: BasicAA
|
||||
; CHECK-DT-INVALIDATE: Invalidating analysis: AAManager
|
||||
; CHECK-DT-INVALIDATE: Invalidating analysis: MemorySSAAnalysis
|
||||
; CHECK-DT-INVALIDATE: Running pass: EarlyCSEPass
|
||||
; CHECK-DT-INVALIDATE: Running analysis: DominatorTreeAnalysis
|
||||
; CHECK-DT-INVALIDATE: Running analysis: MemorySSAAnalysis
|
||||
; CHECK-DT-INVALIDATE: Running analysis: AAManager
|
||||
; CHECK-DT-INVALIDATE: Running analysis: BasicAA
|
||||
|
||||
|
||||
; Function Attrs: ssp uwtable
|
||||
define i32 @main() {
|
||||
entry:
|
||||
%call = call noalias i8* @_Znwm(i64 4)
|
||||
%0 = bitcast i8* %call to i32*
|
||||
%call1 = call noalias i8* @_Znwm(i64 4)
|
||||
%1 = bitcast i8* %call1 to i32*
|
||||
store i32 5, i32* %0, align 4
|
||||
store i32 7, i32* %1, align 4
|
||||
%2 = load i32, i32* %0, align 4
|
||||
%3 = load i32, i32* %1, align 4
|
||||
%4 = load i32, i32* %0, align 4
|
||||
%5 = load i32, i32* %1, align 4
|
||||
%add = add nsw i32 %3, %5
|
||||
ret i32 %add
|
||||
}
|
||||
|
||||
declare noalias i8* @_Znwm(i64)
|
||||
|
Loading…
Reference in New Issue
Block a user