diff options
author | Davide Italiano <davide@freebsd.org> | 2016-06-07 13:21:17 +0000 |
---|---|---|
committer | Davide Italiano <davide@freebsd.org> | 2016-06-07 13:21:17 +0000 |
commit | 16e96d4b168786676350904bd6c3449d42875550 (patch) | |
tree | e7079ad9485595158ae0444a6b63c921195a200e /llvm/lib/Transforms | |
parent | 2c8fc6f8c937d03ce4e5caec97b01aae7bfeff21 (diff) | |
download | bcm5719-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.cpp | 7 |
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) { |