|
LLVM
3.7.0
|
This class provides computation of slot numbers for LLVM Assembly writing. More...
Public Types | |
| typedef DenseMap< const Value *, unsigned > | ValueMap |
| ValueMap - A mapping of Values to slot numbers. More... | |
| typedef DenseMap< const MDNode *, unsigned >::iterator | mdn_iterator |
| MDNode map iterators. More... | |
| typedef DenseMap< AttributeSet, unsigned >::iterator | as_iterator |
| AttributeSet map iterators. More... | |
Public Member Functions | |
| SlotTracker (const Module *M, bool ShouldInitializeAllMetadata=false) | |
| Construct from a module. More... | |
| SlotTracker (const Function *F, bool ShouldInitializeAllMetadata=false) | |
| Construct from a function, starting out in incorp state. More... | |
| int | getLocalSlot (const Value *V) |
| Return the slot number of the specified value in it's type plane. More... | |
| int | getGlobalSlot (const GlobalValue *V) |
| getGlobalSlot - Get the slot number of a global value. More... | |
| int | getMetadataSlot (const MDNode *N) |
| getMetadataSlot - Get the slot number of a MDNode. More... | |
| int | getAttributeGroupSlot (AttributeSet AS) |
| void | incorporateFunction (const Function *F) |
| If you'd like to deal with a function instead of just a module, use this method to get its data into the SlotTracker. More... | |
| const Function * | getFunction () const |
| void | purgeFunction () |
| After calling incorporateFunction, use this method to remove the most recently incorporated function from the SlotTracker. More... | |
| mdn_iterator | mdn_begin () |
| mdn_iterator | mdn_end () |
| unsigned | mdn_size () const |
| bool | mdn_empty () const |
| as_iterator | as_begin () |
| as_iterator | as_end () |
| unsigned | as_size () const |
| bool | as_empty () const |
| void | initialize () |
| This function does the actual initialization. More... | |
This class provides computation of slot numbers for LLVM Assembly writing.
Definition at line 554 of file AsmWriter.cpp.
| typedef DenseMap<AttributeSet, unsigned>::iterator llvm::SlotTracker::as_iterator |
AttributeSet map iterators.
Definition at line 628 of file AsmWriter.cpp.
| typedef DenseMap<const MDNode*, unsigned>::iterator llvm::SlotTracker::mdn_iterator |
MDNode map iterators.
Definition at line 621 of file AsmWriter.cpp.
| typedef DenseMap<const Value*, unsigned> llvm::SlotTracker::ValueMap |
ValueMap - A mapping of Values to slot numbers.
Definition at line 557 of file AsmWriter.cpp.
Construct from a module.
If ShouldInitializeAllMetadata, initializes all metadata in all functions, giving correct numbering for metadata referenced only from within a function (even if no functions have been initialized).
Definition at line 729 of file AsmWriter.cpp.
Construct from a function, starting out in incorp state.
If ShouldInitializeAllMetadata, initializes all metadata in all functions, giving correct numbering for metadata referenced only from within a function (even if no functions have been initialized).
Definition at line 736 of file AsmWriter.cpp.
|
inline |
Definition at line 629 of file AsmWriter.cpp.
|
inline |
Definition at line 632 of file AsmWriter.cpp.
|
inline |
Definition at line 630 of file AsmWriter.cpp.
|
inline |
Definition at line 631 of file AsmWriter.cpp.
| int SlotTracker::getAttributeGroupSlot | ( | AttributeSet | AS | ) |
Definition at line 909 of file AsmWriter.cpp.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), and initialize().
Definition at line 613 of file AsmWriter.cpp.
| int SlotTracker::getGlobalSlot | ( | const GlobalValue * | V | ) |
getGlobalSlot - Get the slot number of a global value.
Definition at line 878 of file AsmWriter.cpp.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), initialize(), and llvm::AArch64CC::MI.
Return the slot number of the specified value in it's type plane.
getLocalSlot - Get the slot number for a value that is local to a function.
If something is not in the SlotTracker, return -1.
Definition at line 899 of file AsmWriter.cpp.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), and initialize().
getMetadataSlot - Get the slot number of a MDNode.
Definition at line 888 of file AsmWriter.cpp.
References initialize(), and llvm::AArch64CC::MI.
Referenced by WriteAsOperandInternal().
If you'd like to deal with a function instead of just a module, use this method to get its data into the SlotTracker.
Definition at line 608 of file AsmWriter.cpp.
|
inline |
This function does the actual initialization.
< Prevent re-processing next time we're called.
Definition at line 742 of file AsmWriter.cpp.
Referenced by getAttributeGroupSlot(), getGlobalSlot(), getLocalSlot(), and getMetadataSlot().
|
inline |
Definition at line 622 of file AsmWriter.cpp.
|
inline |
Definition at line 625 of file AsmWriter.cpp.
|
inline |
Definition at line 623 of file AsmWriter.cpp.
|
inline |
Definition at line 624 of file AsmWriter.cpp.
| void SlotTracker::purgeFunction | ( | ) |
After calling incorporateFunction, use this method to remove the most recently incorporated function from the SlotTracker.
Clean up after incorporating a function.
This will reset the state of the machine back to just the module contents.
This is the only way to get out of the function incorporation state that affects get*Slot/Create*Slot. Function incorporation state is indicated by TheFunction != 0.
Definition at line 869 of file AsmWriter.cpp.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::clear(), and ST_DEBUG.
1.8.6