LLVM API Documentation
Public Types | |
typedef hash_map< Instruction *, ModRefInfo > | ModRefMap |
typedef ModRefMap::const_iterator | const_map_iterator |
typedef ModRefMap::iterator | map_iterator |
typedef std::vector< Instruction * >::const_iterator | const_ref_iterator |
typedef std::vector< Instruction * >::iterator | ref_iterator |
Public Member Functions | |
const_ref_iterator | defsBegin () const |
ref_iterator | defsBegin () |
const_ref_iterator | defsEnd () const |
ref_iterator | defsEnd () |
const_ref_iterator | usersBegin () const |
ref_iterator | usersBegin () |
const_ref_iterator | usersEnd () const |
ref_iterator | usersEnd () |
ref_iterator | usersBeforeDef_End (const_ref_iterator defPtr) |
const_ref_iterator | usersBeforeDef_End (const_ref_iterator defPtr) const |
void | AddDef (Instruction *D) |
void | AddUse (Instruction *U) |
void | Insert (const ModRefTable &fromTable) |
Public Attributes | |
ModRefMap | modRefMap |
std::vector< Instruction * > | definers |
std::vector< Instruction * > | users |
std::vector< unsigned > | numUsersBeforeDef |
A data structure that tracks ModRefInfo for instructions: -- modRefMap is a map of Instruction* -> ModRefInfo for the instr. -- definers is a vector of instructions that define any node -- users is a vector of instructions that reference any node -- numUsersBeforeDef is a vector indicating that the number of users seen before definers[i] is numUsersBeforeDef[i].
numUsersBeforeDef[] effectively tells us the exact interleaving of definers and users within the ModRefTable. This is only maintained when constructing the table for one SCC, and not copied over from one table to another since it is no longer useful. --------------------------------------------------------------------------
Definition at line 52 of file MemoryDepAnalysis.cpp.
|
Definition at line 54 of file MemoryDepAnalysis.cpp. |
|
Definition at line 56 of file MemoryDepAnalysis.cpp. |
|
Definition at line 55 of file MemoryDepAnalysis.cpp. |
|
Definition at line 53 of file MemoryDepAnalysis.cpp. |
|
Definition at line 57 of file MemoryDepAnalysis.cpp. |
|
Definition at line 96 of file MemoryDepAnalysis.cpp. References definers, numUsersBeforeDef, and users. Referenced by llvm::ModRefInfoBuilder::visitCallInst(), and llvm::ModRefInfoBuilder::visitStoreInst(). |
|
Definition at line 100 of file MemoryDepAnalysis.cpp. References users. Referenced by llvm::ModRefInfoBuilder::visitCallInst(), and llvm::ModRefInfoBuilder::visitLoadInst(). |
|
Definition at line 66 of file MemoryDepAnalysis.cpp. References definers. |
|
Definition at line 65 of file MemoryDepAnalysis.cpp. References definers. Referenced by usersBeforeDef_End(). |
|
Definition at line 68 of file MemoryDepAnalysis.cpp. References definers. |
|
Definition at line 67 of file MemoryDepAnalysis.cpp. References definers. |
|
Definition at line 103 of file MemoryDepAnalysis.cpp. References definers, modRefMap, numUsersBeforeDef, and users. |
|
Definition at line 89 of file MemoryDepAnalysis.cpp. |
|
Definition at line 83 of file MemoryDepAnalysis.cpp. References defsBegin(), numUsersBeforeDef, usersBegin(), and usersEnd(). |
|
Definition at line 72 of file MemoryDepAnalysis.cpp. References users. |
|
Definition at line 71 of file MemoryDepAnalysis.cpp. References users. Referenced by usersBeforeDef_End(). |
|
Definition at line 74 of file MemoryDepAnalysis.cpp. References users. |
|
Definition at line 73 of file MemoryDepAnalysis.cpp. References users. Referenced by usersBeforeDef_End(). |
|
Definition at line 60 of file MemoryDepAnalysis.cpp. Referenced by AddDef(), defsBegin(), defsEnd(), and Insert(). |
|
Definition at line 59 of file MemoryDepAnalysis.cpp. Referenced by Insert(), llvm::ModRefInfoBuilder::visitCallInst(), llvm::ModRefInfoBuilder::visitLoadInst(), and llvm::ModRefInfoBuilder::visitStoreInst(). |
|
Definition at line 62 of file MemoryDepAnalysis.cpp. Referenced by AddDef(), Insert(), and usersBeforeDef_End(). |
|
Definition at line 61 of file MemoryDepAnalysis.cpp. Referenced by AddDef(), AddUse(), Insert(), usersBegin(), and usersEnd(). |