aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-02-26 19:25:04 +0000
committerChris Lattner <sabre@nondot.org>2003-02-26 19:25:04 +0000
commit13b6f22f0473917e11ed650282b9b118edb12b90 (patch)
tree9ba922afb2adb1b4aeef530a57f404676f871377
parent1c56b730a6313886076d7b293a126ae5576f5288 (diff)
downloadexternal_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.h29
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