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: