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 = ValueMapIterator< MapT, KeyT > |
using | const_iterator = ValueMapConstIterator< MapT, KeyT > |
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. | |
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>
Definition at line 135 of file ValueMap.h.
Referenced by AddAliasScopeMetadata(), addPHINodeEntriesForMappedBlock(), llvm::JumpThreadingPass::cloneInstructions(), llvm::FunctionLoweringInfo::ComputePHILiveOutRegInfo(), llvm::JumpThreadingPass::duplicateCondBranchOnPHIIntoPred(), llvm::DuplicateInstructionsInSplitBetween(), generateReproducer(), llvm::ValueEnumerator::getValueID(), llvm::insertDebugValuesForPHIs(), llvm::FunctionLoweringInfo::InvalidatePHILiveOutRegInfo(), llvm::AMDGPUPerfHintAnalysis::isMemoryBound(), llvm::AMDGPUPerfHintAnalysis::needsWaveLimiter(), llvm::remapDebugVariable(), llvm::UnrollAndJamLoop(), and llvm::UnrollLoop().
◆ 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>
Definition at line 155 of file ValueMap.h.
Referenced by addPHINodeEntriesForMappedBlock(), llvm::JumpThreadingPass::cloneInstructions(), llvm::FunctionLoweringInfo::ComputePHILiveOutRegInfo(), llvm::JumpThreadingPass::duplicateCondBranchOnPHIIntoPred(), llvm::DuplicateInstructionsInSplitBetween(), generateReproducer(), llvm::ValueEnumerator::getValueID(), llvm::insertDebugValuesForPHIs(), llvm::FunctionLoweringInfo::InvalidatePHILiveOutRegInfo(), llvm::AMDGPUPerfHintAnalysis::isMemoryBound(), llvm::AMDGPUPerfHintAnalysis::needsWaveLimiter(), llvm::remapDebugVariable(), and llvm::UnrollLoop().
◆ 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>
◆ 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 220 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() [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 213 of file ValueMap.h.
References Ptr.
◆ 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 164 of file ValueMap.h.
References I.
Referenced by AddParamAndFnBasicAttributes(), AddReturnAttributes(), llvm::OpenMPIRBuilder::applySimd(), 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 143 of file ValueMap.h.
References Size.
◆ size()
template<typename KeyT , typename ValueT , typename Config = ValueMapConfig>
◆ ValueMapCallbackVH< KeyT, ValueT, Config >
template<typename KeyT , typename ValueT , typename Config = ValueMapConfig>
The documentation for this class was generated from the following file:
- include/llvm/IR/ValueMap.h