Tweak to work with new AA implementation

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5632 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2003-02-26 19:25:04 +00:00
parent 1c56b730a6
commit 13b6f22f04

View File

@ -12,23 +12,26 @@
#include "llvm/Analysis/AliasAnalysis.h" #include "llvm/Analysis/AliasAnalysis.h"
#include "llvm/Pass.h" #include "llvm/Pass.h"
class GetElementPtrInst;
struct BasicAliasAnalysis : public ImmutablePass, public AliasAnalysis { 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... // alias - This is the only method here that does anything interesting...
// //
Result alias(const Value *V1, const Value *V2); AliasResult alias(const Value *V1, unsigned V1Size,
const Value *V2, unsigned V2Size);
/// canCallModify - We are not interprocedural, so we do nothing exciting. private:
/// // CheckGEPInstructions - Check two GEP instructions of compatible types and
Result canCallModify(const CallInst &CI, const Value *Ptr) { // equal number of arguments. This checks to see if the index expressions
return MayAlias; // preclude the pointers from aliasing...
} AliasResult CheckGEPInstructions(GetElementPtrInst *GEP1, unsigned G1Size,
GetElementPtrInst *GEP2, unsigned G2Size);
/// canInvokeModify - We are not interprocedural, so we do nothing exciting.
///
Result canInvokeModify(const InvokeInst &I, const Value *Ptr) {
return MayAlias; // We are not interprocedural
}
}; };
#endif #endif