Tuple of metadata.
This is the simple MDNode arbitrary tuple. Nodes are uniqued by default based on their operands.
| Name | Description |
|---|---|
MDNode | Metadata node. |
| Name |
|---|
op_iterator |
op_range |
| Name |
|---|
MetadataKind |
| Name | Description |
|---|---|
operator= [deleted] | |
clone | Return a (temporary) clone of this. |
dump | User-friendly dump. |
dumpTree | User-friendly dump in tree shape. |
filter | Filter out tuple elements that do not satisfy predicate. Return this if no elements should be filtered out (without re-uniquing). |
getContext | |
getHash | Get the hash, if any. |
getMetadataID | |
getNumOperands | Return number of MDNode operands. |
getNumTemporaryUses | |
getOperand | |
isAlwaysReplaceable | |
isDistinct | |
isReplaceable | |
isResolved | Check if node is fully resolved. |
isTBAAVtableAccess | Check whether MDNode is a vtable access. |
isTemporary | |
isUniqued | |
op_begin | |
op_end | |
operands | |
operator new [deleted] | |
pop_back | Shrink the operands by 1. |
print | Print. |
printAsOperand | Print as operand. |
printTree | Print in tree shape. |
push_back | Append an element to the tuple. This will resize the node. |
replaceAllUsesWith | RAUW a temporary. |
replaceOperandWith | Replace a specific operand. |
resolve | Resolve a unique, unresolved node. |
resolveCycles | Resolve cycles. |
| Name | Description |
|---|---|
classof | |
concatenate | Methods for metadata merging. |
deleteTemporary | Deallocate a node created by getTemporary. |
fromCaptureComponents | Convert CaptureComponents to !captures metadata. The return value may be nullptr. |
get | |
getDistinct | Return a distinct node. |
getIfExists | |
getMergedAllocTokenMetadata | |
getMergedCalleeTypeMetadata | |
getMergedCallsiteMetadata | |
getMergedMemProfMetadata | |
getMergedProfMetadata | Merge !prof metadata from two instructions. Currently only implemented with direct callsites with branch weights. |
getMostGenericAliasScope | |
getMostGenericAlignmentOrDereferenceable | |
getMostGenericFPMath | |
getMostGenericNoFPClass | |
getMostGenericNoaliasAddrspace | |
getMostGenericRange | |
getMostGenericTBAA | |
getTemporary | Return a temporary node. |
intersect | |
replaceWithDistinct | Replace a temporary node with a distinct one. |
replaceWithPermanent | Replace a temporary node with a permanent one. |
replaceWithUniqued | Replace a temporary node with a uniqued one. |
toCaptureComponents | Convert !captures metadata to CaptureComponents. MD may be nullptr. |
| Name | Description |
|---|---|
PoisonGeneratingIDs | Metadata IDs that may generate poison. |
| Name |
|---|
mutable_op_range |
| Name | Description |
|---|---|
StorageType | Active type of storage. |
| Name | Description |
|---|---|
dropAllReferences | |
getNumUnresolved | |
handleChangedOperand | Default handling of a changed operand, which asserts. |
mutable_begin | |
mutable_end | |
mutable_operands | |
operator delete | Required by std, but never called. |
operator new | |
resize | Resize the node to hold NumOps operands. |
setNumUnresolved | |
setOperand | Set an operand. |
storeDistinctInContext |
| Name |
|---|
storeImpl |
| Name | Description |
|---|---|
Storage | Storage flag for non-uniqued, otherwise unowned, metadata. |
SubclassData1 | |
SubclassData16 | |
SubclassData32 |
| Name | Description |
|---|---|
llvm::MDNode | Metadata node. |
llvm::LLVMContextImpl |
| Name | Description |
|---|---|
MapMetadata | Lookup or compute a mapping for a piece of metadata. |
MapMetadata | Version of MapMetadata with type safety for MDNode. |
UpgradeTBAANode | If the given TBAA tag uses the scalar TBAA format, create a new node corresponding to the upgrade to the struct-path aware TBAA format. Otherwise return the TBAANode itself. |
computeKnownBitsFromRangeMetadata | Compute known bits from the range metadata. KnownZero the set of bits that are known to be zero KnownOne the set of bits that are known to be one |
extractBranchWeights | Extract branch weights from MD_prof metadata |
extractFromBranchWeightMD32 | Faster version of extractBranchWeights() that skips checks and must only be called with "branch_weights" metadata nodes. Supports uint32_t. |
extractFromBranchWeightMD64 | Faster version of extractBranchWeights() that skips checks and must only be called with "branch_weights" metadata nodes. Supports uint64_t. |
extractProfTotalWeight | Retrieve the total of all weights from MD_prof data. |
findOptionMDForLoopID | Find and return the loop attribute node for the attribute Name in LoopID. Return nullptr if there is no such attribute. |
getBranchWeightOffset | Return the offset to the first branch weight data |
getConstantRangeFromMetadata | Parse out a conservative ConstantRange from !range metadata. |
getDISubprogram | Find subprogram that is enclosing this scope. |
hasBranchWeightOrigin | Check if Branch Weight Metadata has an "expected" field from an llvm.expect* intrinsic |
isBranchWeightMD | Checks if an MDNode contains Branch Weight Metadata |
isValidAsAccessGroup | Return whether an MDNode might represent an access group. |
isValueProfileMD | Checks if an MDNode contains value profiling Metadata |
makeFollowupLoopID | Create a new loop identifier for a loop created from a loop transformation. |
uniteAccessGroups | Compute the union of two access-group lists. |
upgradeInstructionLoopAttachment | Upgrade the loop attachment metadata node. |
memprof::getMIBAllocType | Returns the allocation type from an MIB metadata node. |
memprof::getMIBStackNode | Returns the stack node from an MIB metadata node. |