llvm::MDBuilder

Builder for creating LLVM metadata with a consistent interface.

Synopsis

Declared in <llvm/IR/MDBuilder.h>

class MDBuilder;

Types

NameDescription
TBAAStructField Description of a field in a TBAA struct type.

Type Aliases

NameDescription
PCSection A pair of PC section name with auxilliary constant data.

Member Functions

NameDescription
MDBuilder [constructor]Construct a metadata builder for the given context.
createAliasScope Return metadata appropriate for an alias scope node with the given name. This may be identified (uniqued) with other scopes with the same name and domain.
createAliasScopeDomain Return metadata appropriate for an alias scope domain node with the given name. This may be identified (uniqued) with other roots with the same name.
createAnonymousAliasScope Return metadata for an anonymous alias scope node.
createAnonymousAliasScopeDomain Return metadata for an anonymous alias scope domain node.
createAnonymousTBAARoot Return metadata for an anonymous TBAA root node.
createBranchWeights createBranchWeights overloads
createCallbackEncoding Return metadata describing a callback (see llvm::AbstractCallSite).
createCallees Return metadata indicating the possible callees of indirect calls.
createConstant Return the given constant as metadata.
createFPMath Return metadata with the given settings.
createFunctionEntryCount Return metadata for a function entry count and related PGO data.
createGlobalObjectSectionPrefix Return metadata containing the section prefix for a global object.
createIrrLoopHeaderWeight Return metadata containing an irreducible loop header weight.
createLLVMStats Return metadata containing llvm statistics.
createLikelyBranchWeights Return metadata containing two branch weights, with significant bias towards true destination.
createMutableTBAAAccessTag Return mutable version of the given mutable or immutable TBAA access tag.
createPCSections Return metadata for PC sections.
createPseudoProbeDesc Return metadata containing the pseudo probe descriptor for a function.
createRTTIPointerPrologue Return metadata feeding to the CodeGen about how to generate a function prologue for the "function" santizier.
createRange Return metadata describing the range [Lo, Hi).]
createString Return the given string as metadata.
createTBAAAccessTag Return metadata for a TBAA access tag.
createTBAANode Return metadata for a non-root TBAA node with the given name, parent in the TBAA tree, and value for 'pointsToConstantMemory'.
createTBAARoot Return metadata appropriate for a TBAA root node with the given name. This may be identified (uniqued) with other roots with the same name.
createTBAAScalarTypeNode Return metadata for a TBAA scalar type node with the given name, an offset and a parent in the TBAA type DAG.
createTBAAStructNode Return metadata for a tbaa.struct node with the given struct field descriptions.
createTBAAStructTagNode Return metadata for a TBAA tag node with the given base type, access type and offset relative to the base type.
createTBAAStructTypeNode Return metadata for a TBAA struct node in the type DAG with the given name, a list of pairs (offset, field type in the type DAG).
createTBAATypeNode Return metadata for a TBAA type node in the TBAA type DAG with the given parent type, size in bytes, type identifier and a list of fields.
createUnlikelyBranchWeights Return metadata containing two branch weights, with significant bias towards false destination.
createUnpredictable Return metadata specifying that a branch or switch is unpredictable.
mergeCallbackEncodings Merge the new callback encoding NewCB into ExistingCallbacks.

Static Data Members

NameDescription
kLikelyBranchWeight The weight for a branch taken with high probability.
kUnlikelyBranchWeight The weight for a branch taken with low probability.

Protected Member Functions

NameDescription
createAnonymousAARoot Return metadata for an anonymous AA root node (scope or TBAA).