summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-02-26 19:57:10 +0000
committerChris Lattner <sabre@nondot.org>2003-02-26 19:57:10 +0000
commitdca12c77dfec3ab2fb8f2056b3f610f916e48919 (patch)
tree87bd1bd576552a38a489d0c60479886e8ac5b607 /llvm
parentd6a2a99a1bb331d3cf6ad09827590887055c4e97 (diff)
downloadbcm5719-llvm-dca12c77dfec3ab2fb8f2056b3f610f916e48919.tar.gz
bcm5719-llvm-dca12c77dfec3ab2fb8f2056b3f610f916e48919.zip
Add new -no-aa implementation
llvm-svn: 5641
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/Analysis/AliasAnalysis.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/llvm/lib/Analysis/AliasAnalysis.cpp b/llvm/lib/Analysis/AliasAnalysis.cpp
index 4816a67d102..a85d28daf2b 100644
--- a/llvm/lib/Analysis/AliasAnalysis.cpp
+++ b/llvm/lib/Analysis/AliasAnalysis.cpp
@@ -97,3 +97,22 @@ bool AliasAnalysis::canInstructionRangeModify(const Instruction &I1,
extern void BasicAAStub();
static IncludeFile INCLUDE_BASICAA_CPP((void*)&BasicAAStub);
+
+namespace {
+ struct NoAA : public ImmutablePass, public AliasAnalysis {
+ virtual void getAnalysisUsage(AnalysisUsage &AU) const {
+ AliasAnalysis::getAnalysisUsage(AU);
+ }
+
+ virtual void initializePass() {
+ InitializeAliasAnalysis(this);
+ }
+ };
+
+ // Register this pass...
+ RegisterOpt<NoAA>
+ X("no-aa", "No Alias Analysis (always returns 'may' alias)");
+
+ // Declare that we implement the AliasAnalysis interface
+ RegisterAnalysisGroup<AliasAnalysis, NoAA> Y;
+} // End of anonymous namespace
OpenPOWER on IntegriCloud