summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
diff options
context:
space:
mode:
authorDavide Italiano <davide@freebsd.org>2016-06-07 13:21:17 +0000
committerDavide Italiano <davide@freebsd.org>2016-06-07 13:21:17 +0000
commit16e96d4b168786676350904bd6c3449d42875550 (patch)
treee7079ad9485595158ae0444a6b63c921195a200e /llvm/lib/Transforms
parent2c8fc6f8c937d03ce4e5caec97b01aae7bfeff21 (diff)
downloadbcm5719-llvm-16e96d4b168786676350904bd6c3449d42875550.tar.gz
bcm5719-llvm-16e96d4b168786676350904bd6c3449d42875550.zip
[PM] Preserve GlobalsAA for SROA.
Differential Revision: http://reviews.llvm.org/D21040 llvm-svn: 272009
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r--llvm/lib/Transforms/Scalar/SROA.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Scalar/SROA.cpp b/llvm/lib/Transforms/Scalar/SROA.cpp
index dbc49930f83..cbe36861a67 100644
--- a/llvm/lib/Transforms/Scalar/SROA.cpp
+++ b/llvm/lib/Transforms/Scalar/SROA.cpp
@@ -4232,9 +4232,14 @@ PreservedAnalyses SROA::runImpl(Function &F, DominatorTree &RunDT,
PostPromotionWorklist.clear();
} while (!Worklist.empty());
+ if (!Changed)
+ return PreservedAnalyses::all();
+
// FIXME: Even when promoting allocas we should preserve some abstract set of
// CFG-specific analyses.
- return Changed ? PreservedAnalyses::none() : PreservedAnalyses::all();
+ PreservedAnalyses PA;
+ PA.preserve<GlobalsAA>();
+ return PA;
}
PreservedAnalyses SROA::run(Function &F, AnalysisManager<Function> &AM) {
OpenPOWER on IntegriCloud