LLVM API Documentation
#include <LibCallAliasAnalysis.h>
Public Member Functions | |
| LibCallAliasAnalysis (LibCallInfo *LC=0) | |
| LibCallAliasAnalysis (const void *ID, LibCallInfo *LC) | |
| ~LibCallAliasAnalysis () | |
| ModRefResult | getModRefInfo (CallSite CS, Value *P, unsigned Size) |
| ModRefResult | getModRefInfo (CallSite CS1, CallSite CS2) |
| virtual void | getAnalysisUsage (AnalysisUsage &AU) const |
| virtual bool | runOnFunction (Function &F) |
| virtual bool | hasNoModRefInfoForCalls () const |
Public Attributes | |
| LibCallInfo * | LCI |
Static Public Attributes | |
| static char | ID = 0 |
Definition at line 25 of file LibCallAliasAnalysis.h.
| llvm::LibCallAliasAnalysis::LibCallAliasAnalysis | ( | LibCallInfo * | LC = 0 |
) | [inline, explicit] |
Definition at line 30 of file LibCallAliasAnalysis.h.
| llvm::LibCallAliasAnalysis::LibCallAliasAnalysis | ( | const void * | ID, | |
| LibCallInfo * | LC | |||
| ) | [inline, explicit] |
Definition at line 33 of file LibCallAliasAnalysis.h.
| LibCallAliasAnalysis::~LibCallAliasAnalysis | ( | ) |
| AliasAnalysis::ModRefResult LibCallAliasAnalysis::getModRefInfo | ( | CallSite | CS, | |
| Value * | P, | |||
| unsigned | Size | |||
| ) | [virtual] |
getModRefInfo - Return information about whether or not an instruction may read or write memory specified by the pointer operand. An instruction that doesn't read or write memory may be trivially LICM'd for example. getModRefInfo (for call sites) - Return whether information about whether a particular call site modifies or reads the memory specified by the pointer.
Reimplemented from llvm::AliasAnalysis.
Definition at line 125 of file LibCallAliasAnalysis.cpp.
References F, llvm::CallSite::getCalledFunction(), llvm::LibCallInfo::getFunctionInfo(), llvm::AliasAnalysis::getModRefInfo(), LCI, llvm::AliasAnalysis::ModRef, and llvm::AliasAnalysis::NoModRef.
| ModRefResult llvm::LibCallAliasAnalysis::getModRefInfo | ( | CallSite | CS1, | |
| CallSite | CS2 | |||
| ) | [inline, virtual] |
getModRefInfo - Return information about whether two call sites may refer to the same set of memory locations. This function returns NoModRef if the two calls refer to disjoint memory locations, Ref if CS1 reads memory written by CS2, Mod if CS1 writes to memory read or written by CS2, or ModRef if CS1 might read or write memory accessed by CS2.
Reimplemented from llvm::AliasAnalysis.
Definition at line 40 of file LibCallAliasAnalysis.h.
References llvm::AliasAnalysis::getModRefInfo().
| void LibCallAliasAnalysis::getAnalysisUsage | ( | AnalysisUsage & | AU | ) | const [virtual] |
getAnalysisUsage - All alias analysis implementations should invoke this directly (using AliasAnalysis::getAnalysisUsage(AU)) to make sure that TargetData is required by the pass.
Reimplemented from llvm::AliasAnalysis.
Definition at line 38 of file LibCallAliasAnalysis.cpp.
References llvm::AnalysisUsage::addRequired(), llvm::AliasAnalysis::getAnalysisUsage(), and llvm::AnalysisUsage::setPreservesAll().
| virtual bool llvm::LibCallAliasAnalysis::runOnFunction | ( | Function & | F | ) | [inline, virtual] |
runOnFunction - Virtual method overriden by subclasses to do the per-function processing of the pass.
Implements llvm::FunctionPass.
Definition at line 47 of file LibCallAliasAnalysis.h.
References llvm::AliasAnalysis::InitializeAliasAnalysis().
| virtual bool llvm::LibCallAliasAnalysis::hasNoModRefInfoForCalls | ( | ) | const [inline, virtual] |
hasNoModRefInfoForCalls - We can provide mod/ref information against non-escaping allocations.
Reimplemented from llvm::AliasAnalysis.
Definition at line 54 of file LibCallAliasAnalysis.h.
char LibCallAliasAnalysis::ID = 0 [static] |
Definition at line 28 of file LibCallAliasAnalysis.h.
Referenced by getModRefInfo(), and ~LibCallAliasAnalysis().