forked from OSchip/llvm-project
parent
e79b8319a6
commit
ddfe676e71
|
@ -1,37 +0,0 @@
|
||||||
//===- llvm/Analysis/BasicAliasAnalysis.h - Alias Analysis Impl -*- C++ -*-===//
|
|
||||||
//
|
|
||||||
// This file defines the default implementation of the Alias Analysis interface
|
|
||||||
// that simply implements a few identities (two different globals cannot alias,
|
|
||||||
// etc), but otherwise does no analysis.
|
|
||||||
//
|
|
||||||
//===----------------------------------------------------------------------===//
|
|
||||||
|
|
||||||
#ifndef LLVM_ANALYSIS_BASIC_ALIAS_ANALYSIS_H
|
|
||||||
#define LLVM_ANALYSIS_BASIC_ALIAS_ANALYSIS_H
|
|
||||||
|
|
||||||
#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...
|
|
||||||
//
|
|
||||||
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
|
|
Loading…
Reference in New Issue