summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/ScalarEvolutionAliasAnalysis.cpp
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2015-08-14 03:11:16 +0000
committerChandler Carruth <chandlerc@gmail.com>2015-08-14 03:11:16 +0000
commited23528fb2ee42bfc6b6bf1badbe743d749a5388 (patch)
tree6115446d600ff264c82e38b9562576000349948b /llvm/lib/Analysis/ScalarEvolutionAliasAnalysis.cpp
parent42ff448fe4ab9bb760794c1e3c6d00c3ea6e8f7e (diff)
downloadbcm5719-llvm-ed23528fb2ee42bfc6b6bf1badbe743d749a5388.tar.gz
bcm5719-llvm-ed23528fb2ee42bfc6b6bf1badbe743d749a5388.zip
[PM/AA] Hoist the SCEV-AA interface to its own header and pull the
creation function into that header. llvm-svn: 245013
Diffstat (limited to 'llvm/lib/Analysis/ScalarEvolutionAliasAnalysis.cpp')
-rw-r--r--llvm/lib/Analysis/ScalarEvolutionAliasAnalysis.cpp40
1 files changed, 1 insertions, 39 deletions
diff --git a/llvm/lib/Analysis/ScalarEvolutionAliasAnalysis.cpp b/llvm/lib/Analysis/ScalarEvolutionAliasAnalysis.cpp
index 6bc0d85a61f..bfdf280c878 100644
--- a/llvm/lib/Analysis/ScalarEvolutionAliasAnalysis.cpp
+++ b/llvm/lib/Analysis/ScalarEvolutionAliasAnalysis.cpp
@@ -19,47 +19,9 @@
//
//===----------------------------------------------------------------------===//
-#include "llvm/Analysis/Passes.h"
-#include "llvm/Analysis/AliasAnalysis.h"
-#include "llvm/Analysis/ScalarEvolutionExpressions.h"
-#include "llvm/IR/Module.h"
-#include "llvm/Pass.h"
+#include "llvm/Analysis/ScalarEvolutionAliasAnalysis.h"
using namespace llvm;
-namespace {
- /// ScalarEvolutionAliasAnalysis - This is a simple alias analysis
- /// implementation that uses ScalarEvolution to answer queries.
- class ScalarEvolutionAliasAnalysis : public FunctionPass,
- public AliasAnalysis {
- ScalarEvolution *SE;
-
- public:
- static char ID; // Class identification, replacement for typeinfo
- ScalarEvolutionAliasAnalysis() : FunctionPass(ID), SE(nullptr) {
- initializeScalarEvolutionAliasAnalysisPass(
- *PassRegistry::getPassRegistry());
- }
-
- /// getAdjustedAnalysisPointer - This method is used when a pass implements
- /// an analysis interface through multiple inheritance. If needed, it
- /// should override this to adjust the this pointer as needed for the
- /// specified pass info.
- void *getAdjustedAnalysisPointer(AnalysisID PI) override {
- if (PI == &AliasAnalysis::ID)
- return (AliasAnalysis*)this;
- return this;
- }
-
- private:
- void getAnalysisUsage(AnalysisUsage &AU) const override;
- bool runOnFunction(Function &F) override;
- AliasResult alias(const MemoryLocation &LocA,
- const MemoryLocation &LocB) override;
-
- Value *GetBaseValue(const SCEV *S);
- };
-} // End of anonymous namespace
-
// Register this pass...
char ScalarEvolutionAliasAnalysis::ID = 0;
INITIALIZE_AG_PASS_BEGIN(ScalarEvolutionAliasAnalysis, AliasAnalysis, "scev-aa",
OpenPOWER on IntegriCloud