From 7f21f4b264cd03bd2f7650854ec1e5429c147b20 Mon Sep 17 00:00:00 2001 From: Sean Silva Date: Mon, 8 Aug 2016 05:38:06 +0000 Subject: [PATCH] [PM] More workaround for PR28400 llvm-svn: 277982 --- llvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp | 1 + llvm/lib/Transforms/Scalar/NaryReassociate.cpp | 1 + llvm/lib/Transforms/Utils/LoopSimplify.cpp | 2 ++ 3 files changed, 4 insertions(+) diff --git a/llvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp b/llvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp index 7f8b8ce..a9acbd0 100644 --- a/llvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp +++ b/llvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp @@ -434,6 +434,7 @@ AlignmentFromAssumptionsPass::run(Function &F, FunctionAnalysisManager &AM) { ScalarEvolution &SE = AM.getResult(F); DominatorTree &DT = AM.getResult(F); bool Changed = runImpl(F, AC, &SE, &DT); + AM.invalidate(F); if (!Changed) return PreservedAnalyses::all(); PreservedAnalyses PA; diff --git a/llvm/lib/Transforms/Scalar/NaryReassociate.cpp b/llvm/lib/Transforms/Scalar/NaryReassociate.cpp index 4a88e1d..0ac1edf 100644 --- a/llvm/lib/Transforms/Scalar/NaryReassociate.cpp +++ b/llvm/lib/Transforms/Scalar/NaryReassociate.cpp @@ -157,6 +157,7 @@ PreservedAnalyses NaryReassociatePass::run(Function &F, auto *TTI = &AM.getResult(F); bool Changed = runImpl(F, AC, DT, SE, TLI, TTI); + AM.invalidate(F); if (!Changed) return PreservedAnalyses::all(); diff --git a/llvm/lib/Transforms/Utils/LoopSimplify.cpp b/llvm/lib/Transforms/Utils/LoopSimplify.cpp index fc5781f..d24a7aa 100644 --- a/llvm/lib/Transforms/Utils/LoopSimplify.cpp +++ b/llvm/lib/Transforms/Utils/LoopSimplify.cpp @@ -869,6 +869,8 @@ PreservedAnalyses LoopSimplifyPass::run(Function &F, for (LoopInfo::iterator I = LI->begin(), E = LI->end(); I != E; ++I) Changed |= simplifyLoop(*I, DT, LI, SE, AC, true /* PreserveLCSSA */); + AM.invalidate(F); + if (!Changed) return PreservedAnalyses::all(); PreservedAnalyses PA; -- 2.7.4