From: Simon Pilgrim Date: Tue, 30 Apr 2019 12:34:21 +0000 (+0000) Subject: Revert rL359519 : [MemorySSA] Invalidate MemorySSA if AA or DT are invalidated. X-Git-Tag: llvmorg-10-init~6679 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f5e8f222d6bd66eb37ab86a0977d76df6234e3a9;p=platform%2Fupstream%2Fllvm.git 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 --- diff --git a/llvm/include/llvm/Analysis/MemorySSA.h b/llvm/include/llvm/Analysis/MemorySSA.h index a0a1030..8812da6 100644 --- a/llvm/include/llvm/Analysis/MemorySSA.h +++ b/llvm/include/llvm/Analysis/MemorySSA.h @@ -936,9 +936,6 @@ public: MemorySSA &getMSSA() { return *MSSA.get(); } std::unique_ptr MSSA; - - bool invalidate(Function &F, const PreservedAnalyses &PA, - FunctionAnalysisManager::Invalidator &Inv); }; Result run(Function &F, FunctionAnalysisManager &AM); diff --git a/llvm/lib/Analysis/MemorySSA.cpp b/llvm/lib/Analysis/MemorySSA.cpp index bdaa264..271d56d 100644 --- a/llvm/lib/Analysis/MemorySSA.cpp +++ b/llvm/lib/Analysis/MemorySSA.cpp @@ -2213,15 +2213,6 @@ MemorySSAAnalysis::Result MemorySSAAnalysis::run(Function &F, return MemorySSAAnalysis::Result(llvm::make_unique(F, &AA, &DT)); } -bool MemorySSAAnalysis::Result::invalidate( - Function &F, const PreservedAnalyses &PA, - FunctionAnalysisManager::Invalidator &Inv) { - auto PAC = PA.getChecker(); - return !(PAC.preserved() || PAC.preservedSet>()) || - Inv.invalidate(F, PA) || - Inv.invalidate(F, PA); -} - PreservedAnalyses MemorySSAPrinterPass::run(Function &F, FunctionAnalysisManager &AM) { OS << "MemorySSA for function: " << F.getName() << "\n"; diff --git a/llvm/test/Analysis/MemorySSA/invalidate.ll b/llvm/test/Analysis/MemorySSA/invalidate.ll deleted file mode 100644 index 42359e1..0000000 --- a/llvm/test/Analysis/MemorySSA/invalidate.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: opt -aa-pipeline=basic-aa -passes='require,invalidate,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,invalidate,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 -; 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 -; 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) -