diff options
author | Chris Lattner <sabre@nondot.org> | 2003-02-26 19:25:04 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-02-26 19:25:04 +0000 |
commit | 13b6f22f0473917e11ed650282b9b118edb12b90 (patch) | |
tree | 9ba922afb2adb1b4aeef530a57f404676f871377 | |
parent | 1c56b730a6313886076d7b293a126ae5576f5288 (diff) | |
download | external_llvm-13b6f22f0473917e11ed650282b9b118edb12b90.tar.gz external_llvm-13b6f22f0473917e11ed650282b9b118edb12b90.tar.bz2 external_llvm-13b6f22f0473917e11ed650282b9b118edb12b90.zip |
Tweak to work with new AA implementation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5632 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/Analysis/BasicAliasAnalysis.h | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/include/llvm/Analysis/BasicAliasAnalysis.h b/include/llvm/Analysis/BasicAliasAnalysis.h index fc323dd972..5b6637aa2b 100644 --- a/include/llvm/Analysis/BasicAliasAnalysis.h +++ b/include/llvm/Analysis/BasicAliasAnalysis.h @@ -12,23 +12,26 @@ #include "llvm/Analysis/AliasAnalysis.h" #include "llvm/Pass.h" +class GetElementPtrInst; + struct BasicAliasAnalysis : public ImmutablePass, public AliasAnalysis { + virtual void getAnalysisUsage(AnalysisUsage &AU) const { + AliasAnalysis::getAnalysisUsage(AU); + } + + virtual void initializePass(); + // alias - This is the only method here that does anything interesting... // - Result alias(const Value *V1, const Value *V2); - - /// canCallModify - We are not interprocedural, so we do nothing exciting. - /// - Result canCallModify(const CallInst &CI, const Value *Ptr) { - return MayAlias; - } - - /// canInvokeModify - We are not interprocedural, so we do nothing exciting. - /// - Result canInvokeModify(const InvokeInst &I, const Value *Ptr) { - return MayAlias; // We are not interprocedural - } + AliasResult alias(const Value *V1, unsigned V1Size, + const Value *V2, unsigned V2Size); +private: + // CheckGEPInstructions - Check two GEP instructions of compatible types and + // equal number of arguments. This checks to see if the index expressions + // preclude the pointers from aliasing... + AliasResult CheckGEPInstructions(GetElementPtrInst *GEP1, unsigned G1Size, + GetElementPtrInst *GEP2, unsigned G2Size); }; #endif |