LLVM: llvm::ValueMap< KeyT, ValueT, Config (original) (raw)
See the file comment. More...
#include "[llvm/IR/ValueMap.h](ValueMap%5F8h%5Fsource.html)"
| Public Types | |
|---|---|
| using | key_type = KeyT |
| using | mapped_type = ValueT |
| using | value_type = std::pair<KeyT, ValueT> |
| using | size_type = unsigned |
| using | iterator = ValueMapIteratorImpl<MapT, KeyT, false> |
| using | const_iterator = ValueMapIteratorImpl<MapT, KeyT, true> |
| Public Member Functions | |
|---|---|
| ValueMap (unsigned NumInitBuckets=64) | |
| ValueMap (const ExtraData &Data, unsigned NumInitBuckets=64) | |
| ValueMap (const ValueMap &)=delete | |
| ValueMap (ValueMap &&)=delete | |
| ValueMap & | operator= (const ValueMap &)=delete |
| ValueMap & | operator= (ValueMap &&)=delete |
| bool | hasMD () const |
| MDMapT & | MD () |
| std::optional< MDMapT > & | getMDMap () |
| std::optional< Metadata * > | getMappedMD (const Metadata *MD) const |
| Get the mapped metadata, if it's in the map. | |
| iterator | begin () |
| iterator | end () |
| const_iterator | begin () const |
| const_iterator | end () const |
| bool | empty () const |
| size_type | size () const |
| void | reserve (size_t Size) |
| Grow the map so that it has at least Size buckets. Does not shrink. | |
| void | clear () |
| size_type | count (const KeyT &Val) const |
| Return 1 if the specified key is in the map, 0 otherwise. | |
| iterator | find (const KeyT &Val) |
| const_iterator | find (const KeyT &Val) const |
| ValueT | lookup (const KeyT &Val) const |
| lookup - Return the entry for the specified key, or a default constructed value if no such entry exists. | |
| std::pair< iterator, bool > | insert (const std::pair< KeyT, ValueT > &KV) |
| std::pair< iterator, bool > | insert (std::pair< KeyT, ValueT > &&KV) |
| template | |
| void | insert (InputIt I, InputIt E) |
| insert - Range insertion of pairs. | |
| bool | erase (const KeyT &Val) |
| void | erase (iterator I) |
| value_type & | FindAndConstruct (const KeyT &Key) |
| ValueT & | operator[] (const KeyT &Key) |
| bool | isPointerIntoBucketsArray (const void *Ptr) const |
| isPointerIntoBucketsArray - Return true if the specified pointer points somewhere into the ValueMap's array of buckets (i.e. | |
| const void * | getPointerIntoBucketsArray () const |
| getPointerIntoBucketsArray() - Return an opaque pointer into the buckets array. |
| Public Attributes | |
|---|---|
| DMAtomT | AtomMap |
| Map {(InlinedAt, old atom number) -> new atom number}. |
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
class llvm::ValueMap< KeyT, ValueT, Config >
See the file comment.
Definition at line 84 of file ValueMap.h.
◆ const_iterator
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
◆ iterator
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
◆ key_type
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
◆ mapped_type
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
◆ size_type
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
◆ value_type
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
◆ ValueMap() [1/4]
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
◆ ValueMap() [2/4]
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
◆ ValueMap() [3/4]
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
◆ ValueMap() [4/4]
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
◆ begin() [1/2]
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
◆ begin() [2/2]
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
◆ clear()
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
◆ count()
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
◆ empty()
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
◆ end() [1/2]
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
◆ end() [2/2]
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
◆ erase() [1/2]
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
◆ erase() [2/2]
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
◆ find() [1/2]
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
◆ find() [2/2]
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
◆ FindAndConstruct()
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
◆ getMappedMD()
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
Get the mapped metadata, if it's in the map.
Definition at line 126 of file ValueMap.h.
◆ getMDMap()
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
◆ getPointerIntoBucketsArray()
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
getPointerIntoBucketsArray() - Return an opaque pointer into the buckets array.
In conjunction with the previous method, this can be used to determine whether an insertion caused the ValueMap to reallocate.
Definition at line 218 of file ValueMap.h.
◆ hasMD()
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
◆ insert() [1/3]
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
◆ insert() [2/3]
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
template
insert - Range insertion of pairs.
Definition at line 187 of file ValueMap.h.
◆ insert() [3/3]
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
◆ isPointerIntoBucketsArray()
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
isPointerIntoBucketsArray - Return true if the specified pointer points somewhere into the ValueMap's array of buckets (i.e.
either to a key or value in the ValueMap).
Definition at line 211 of file ValueMap.h.
◆ lookup()
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
lookup - Return the entry for the specified key, or a default constructed value if no such entry exists.
Definition at line 167 of file ValueMap.h.
Referenced by AddParamAndFnBasicAttributes(), AddReturnAttributes(), buildClonedLoopBlocks(), buildClonedLoops(), llvm::CloneAndPruneIntoFromInst(), cloneConstantExprWithNewAddressSpace(), CloneLoopBlocks(), cloneLoopNest(), ConnectEpilog(), ConnectProlog(), getNewDefiningAccessForClone(), operandWithNewAddressSpaceOrCreatePoison(), RewriteUsesOfClonedInstructions(), llvm::UnrollRuntimeLoopRemainder(), updateCallerBFI(), and llvm::MemorySSAUpdater::updateForClonedLoop().
◆ MD()
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
◆ operator=() [1/2]
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
◆ operator=() [2/2]
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
◆ operator[]()
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
◆ reserve()
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
Grow the map so that it has at least Size buckets. Does not shrink.
Definition at line 147 of file ValueMap.h.
◆ size()
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
◆ ValueMapCallbackVH< KeyT, ValueT, Config >
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
◆ AtomMap
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig>
The documentation for this class was generated from the following file:
- include/llvm/IR/ValueMap.h