diff options
author | Chris Lattner <sabre@nondot.org> | 2003-02-26 19:57:10 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-02-26 19:57:10 +0000 |
commit | 8dcd17c938a11fe7b16592a70170cc850c45dcc1 (patch) | |
tree | 71176610572f8dfb2c1761c165e4784e6bb0e234 /lib/Analysis/AliasAnalysis.cpp | |
parent | d501c13b7d6ce418b0144886dde16525d13f835a (diff) |
Add new -no-aa implementation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5641 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/AliasAnalysis.cpp')
-rw-r--r-- | lib/Analysis/AliasAnalysis.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/Analysis/AliasAnalysis.cpp b/lib/Analysis/AliasAnalysis.cpp index 4816a67d10..a85d28daf2 100644 --- a/lib/Analysis/AliasAnalysis.cpp +++ b/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 |