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
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);
};
+/// 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
#endif