summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
diff options
context:
space:
mode:
authorDavide Italiano <davide@freebsd.org>2016-06-08 13:32:23 +0000
committerDavide Italiano <davide@freebsd.org>2016-06-08 13:32:23 +0000
commitd8d83f47730d2f8cecd25f74774a0ea650549adb (patch)
tree33b98b27ff71de1bb3ea6831b8a31ed73cd7df36 /llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
parenta9e5154dc59c8a06523eb8c6c00168e11e166aca (diff)
downloadbcm5719-llvm-d8d83f47730d2f8cecd25f74774a0ea650549adb.tar.gz
bcm5719-llvm-d8d83f47730d2f8cecd25f74774a0ea650549adb.zip
[PM/SimplifyCFG] Preserve GlobalsAA even if the IR is mutated.
llvm-svn: 272139
Diffstat (limited to 'llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp')
-rw-r--r--llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp b/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
index 344a89f3604..cf6a43e752c 100644
--- a/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
+++ b/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
@@ -191,10 +191,11 @@ PreservedAnalyses SimplifyCFGPass::run(Function &F,
auto &TTI = AM.getResult<TargetIRAnalysis>(F);
auto &AC = AM.getResult<AssumptionAnalysis>(F);
- if (simplifyFunctionCFG(F, TTI, &AC, BonusInstThreshold))
- return PreservedAnalyses::none();
-
- return PreservedAnalyses::all();
+ if (!simplifyFunctionCFG(F, TTI, &AC, BonusInstThreshold))
+ return PreservedAnalyses::all();
+ PreservedAnalyses PA;
+ PA.preserve<GlobalsAA>();
+ return PA;
}
namespace {
OpenPOWER on IntegriCloud