class LibCallInfo;
struct LibCallFunctionInfo;
-/// LibCallAliasAnalysis - Alias analysis driven from LibCallInfo.
+/// Alias analysis driven from LibCallInfo.
struct LibCallAliasAnalysis : public FunctionPass, public AliasAnalysis {
static char ID; // Class identification
ModRefInfo getModRefInfo(ImmutableCallSite CS,
const MemoryLocation &Loc) override;
- ModRefInfo getModRefInfo(ImmutableCallSite CS1,
- ImmutableCallSite CS2) override {
- // TODO: Could compare two direct calls against each other if we cared to.
- return AliasAnalysis::getModRefInfo(CS1, CS2);
- }
-
void getAnalysisUsage(AnalysisUsage &AU) const override;
bool runOnFunction(Function &F) override;
- /// getAdjustedAnalysisPointer - This method is used when a pass implements
- /// an analysis interface through multiple inheritance. If needed, it
- /// should override this to adjust the this pointer as needed for the
- /// specified pass info.
+ /// This method is used when a pass implements an analysis interface through
+ /// multiple inheritance.
+ ///
+ /// If needed, it should override this to adjust the this pointer as needed
+ /// for the specified pass info.
void *getAdjustedAnalysisPointer(const void *PI) override {
if (PI == &AliasAnalysis::ID)
return (AliasAnalysis *)this;
const MemoryLocation &Loc);
};
-/// createLibCallAliasAnalysisPass - Create an alias analysis pass that knows
-/// about the semantics of a set of libcalls specified by LCI. The newly
-/// constructed pass takes ownership of the pointer that is provided.
+/// Create an alias analysis pass that knows about the semantics of a set of
+/// libcalls specified by LCI.
///
+/// The newly constructed pass takes ownership of the pointer that is provided.
FunctionPass *createLibCallAliasAnalysisPass(LibCallInfo *LCI);
} // End of llvm namespace