diff options
author | Devang Patel <dpatel@apple.com> | 2007-05-01 21:15:47 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2007-05-01 21:15:47 +0000 |
commit | 794fd75c67a2cdc128d67342c6d88a504d186896 (patch) | |
tree | 6b805aa4a576e9de6cbf096d2fb85063b3fb8fca /lib/Analysis/BasicAliasAnalysis.cpp | |
parent | e50fb9ac174b791047ffa8648443ab94b2097cd9 (diff) |
Do not use typeinfo to identify pass in pass manager.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36632 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/BasicAliasAnalysis.cpp')
-rw-r--r-- | lib/Analysis/BasicAliasAnalysis.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/Analysis/BasicAliasAnalysis.cpp b/lib/Analysis/BasicAliasAnalysis.cpp index 1ca1a35b9f..b1369a2920 100644 --- a/lib/Analysis/BasicAliasAnalysis.cpp +++ b/lib/Analysis/BasicAliasAnalysis.cpp @@ -36,6 +36,9 @@ namespace { /// such it doesn't follow many of the rules that other alias analyses must. /// struct VISIBILITY_HIDDEN NoAA : public ImmutablePass, public AliasAnalysis { + static const int ID; // Class identification, replacement for typeinfo + NoAA() : ImmutablePass((intptr_t)&ID) {} + virtual void getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired<TargetData>(); } @@ -74,6 +77,7 @@ namespace { }; // Register this pass... + const int NoAA::ID = 0; RegisterPass<NoAA> U("no-aa", "No Alias Analysis (always returns 'may' alias)"); @@ -88,6 +92,7 @@ namespace { /// Because it doesn't chain to a previous alias analysis (like -no-aa), it /// derives from the NoAA class. struct VISIBILITY_HIDDEN BasicAliasAnalysis : public NoAA { + static const int ID; // Class identification, replacement for typeinfo AliasResult alias(const Value *V1, unsigned V1Size, const Value *V2, unsigned V2Size); @@ -119,6 +124,7 @@ namespace { }; // Register this pass... + const int BasicAliasAnalysis::ID = 0; RegisterPass<BasicAliasAnalysis> X("basicaa", "Basic Alias Analysis (default AA impl)"); |