aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
diff options
context:
space:
mode:
authorJames Molloy <james.molloy@arm.com>2015-09-10 10:22:12 +0000
committerJames Molloy <james.molloy@arm.com>2015-09-10 10:22:12 +0000
commitefbba72cb282c80bb4bebae0f52e3a43b95fbd55 (patch)
treefc823a4809359710866175d4337d7ef3317e3af2 /llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
parent7dc7771cd58ee9079a035be5e445c69ec1bba808 (diff)
downloadllvm-efbba72cb282c80bb4bebae0f52e3a43b95fbd55.zip
llvm-efbba72cb282c80bb4bebae0f52e3a43b95fbd55.tar.gz
llvm-efbba72cb282c80bb4bebae0f52e3a43b95fbd55.tar.bz2
Add GlobalsAA as preserved to a bunch of transforms
GlobalsAA must by definition be preserved in function passes, but the passmanager doesn't know that. Make each pass explicitly preserve GlobalsAA. llvm-svn: 247263
Diffstat (limited to 'llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp')
-rw-r--r--llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp b/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
index c7de2e2..367fe8b 100644
--- a/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
+++ b/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
@@ -54,6 +54,7 @@
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/Statistic.h"
+#include "llvm/Analysis/GlobalsModRef.h"
#include "llvm/Analysis/CFG.h"
#include "llvm/Analysis/CaptureTracking.h"
#include "llvm/Analysis/InlineCost.h"
@@ -136,6 +137,7 @@ FunctionPass *llvm::createTailCallEliminationPass() {
void TailCallElim::getAnalysisUsage(AnalysisUsage &AU) const {
AU.addRequired<TargetTransformInfoWrapperPass>();
+ AU.addPreserved<GlobalsAAWrapperPass>();
}
/// \brief Scan the specified function for alloca instructions.