class MDTuple

Declaration

class MDTuple : public MDNode { /* full declaration omitted */ };

Description

Tuple of metadata. This is the simple \a MDNode arbitrary tuple. Nodes are uniqued by default based on their operands.

Declared at: llvm/include/llvm/IR/Metadata.h:1329

Inherits from: MDNode

Member Variables

Inherited from Metadata:

protected Storage
protected SubclassData1
protected SubclassData16 = 0
protected SubclassData32 = 0

Method Overview

  • private MDTuple(llvm::LLVMContext & C, llvm::Metadata::StorageType Storage, unsigned int Hash, ArrayRef<llvm::Metadata *> Vals)
  • public static bool classof(const llvm::Metadata * MD)
  • public llvm::TempMDTuple clone() const
  • private llvm::TempMDTuple cloneImpl() const
  • public static llvm::MDTuple * get(llvm::LLVMContext & Context, ArrayRef<llvm::Metadata *> MDs)
  • public static llvm::MDTuple * getDistinct(llvm::LLVMContext & Context, ArrayRef<llvm::Metadata *> MDs)
  • public unsigned int getHash() const
  • public static llvm::MDTuple * getIfExists(llvm::LLVMContext & Context, ArrayRef<llvm::Metadata *> MDs)
  • private static llvm::MDTuple * getImpl(llvm::LLVMContext & Context, ArrayRef<llvm::Metadata *> MDs, llvm::Metadata::StorageType Storage, bool ShouldCreate = true)
  • public static llvm::TempMDTuple getTemporary(llvm::LLVMContext & Context, ArrayRef<llvm::Metadata *> MDs)
  • public void pop_back()
  • public void push_back(llvm::Metadata * MD)
  • private void recalculateHash()
  • private void setHash(unsigned int Hash)
  • private ~MDTuple()

Inherited from MDNode:

Inherited from Metadata:

Methods

MDTuple(llvm::LLVMContext& C,
        llvm::Metadata::StorageType Storage,
        unsigned int Hash,
        ArrayRef<llvm::Metadata*> Vals)

Declared at: llvm/include/llvm/IR/Metadata.h:1333

Parameters

llvm::LLVMContext& C
llvm::Metadata::StorageType Storage
unsigned int Hash
ArrayRef<llvm::Metadata*> Vals

static bool classof(const llvm::Metadata* MD)

Declared at: llvm/include/llvm/IR/Metadata.h:1395

Parameters

const llvm::Metadata* MD

llvm::TempMDTuple clone() const

Description

Return a (temporary) clone of this.

Declared at: llvm/include/llvm/IR/Metadata.h:1383

llvm::TempMDTuple cloneImpl() const

Declared at: llvm/include/llvm/IR/Metadata.h:1347

static llvm::MDTuple* get(
    llvm::LLVMContext& Context,
    ArrayRef<llvm::Metadata*> MDs)

Declared at: llvm/include/llvm/IR/Metadata.h:1357

Parameters

llvm::LLVMContext& Context
ArrayRef<llvm::Metadata*> MDs

static llvm::MDTuple* getDistinct(
    llvm::LLVMContext& Context,
    ArrayRef<llvm::Metadata*> MDs)

Description

Return a distinct node. Return a distinct node -- i.e., a node that is not uniqued.

Declared at: llvm/include/llvm/IR/Metadata.h:1368

Parameters

llvm::LLVMContext& Context
ArrayRef<llvm::Metadata*> MDs

unsigned int getHash() const

Description

Get the hash, if any.

Declared at: llvm/include/llvm/IR/Metadata.h:1355

static llvm::MDTuple* getIfExists(
    llvm::LLVMContext& Context,
    ArrayRef<llvm::Metadata*> MDs)

Declared at: llvm/include/llvm/IR/Metadata.h:1361

Parameters

llvm::LLVMContext& Context
ArrayRef<llvm::Metadata*> MDs

static llvm::MDTuple* getImpl(
    llvm::LLVMContext& Context,
    ArrayRef<llvm::Metadata*> MDs,
    llvm::Metadata::StorageType Storage,
    bool ShouldCreate = true)

Declared at: llvm/include/llvm/IR/Metadata.h:1344

Parameters

llvm::LLVMContext& Context
ArrayRef<llvm::Metadata*> MDs
llvm::Metadata::StorageType Storage
bool ShouldCreate = true

static llvm::TempMDTuple getTemporary(
    llvm::LLVMContext& Context,
    ArrayRef<llvm::Metadata*> MDs)

Description

Return a temporary node. For use in constructing cyclic MDNode structures. A temporary MDNode is not uniqued, may be RAUW'd, and must be manually deleted with deleteTemporary.

Declared at: llvm/include/llvm/IR/Metadata.h:1377

Parameters

llvm::LLVMContext& Context
ArrayRef<llvm::Metadata*> MDs

void pop_back()

Description

Shrink the operands by 1.

Declared at: llvm/include/llvm/IR/Metadata.h:1393

void push_back(llvm::Metadata* MD)

Description

Append an element to the tuple. This will resize the node.

Declared at: llvm/include/llvm/IR/Metadata.h:1386

Parameters

llvm::Metadata* MD

void recalculateHash()

Declared at: llvm/include/llvm/IR/Metadata.h:1342

void setHash(unsigned int Hash)

Declared at: llvm/include/llvm/IR/Metadata.h:1341

Parameters

unsigned int Hash

~MDTuple()

Declared at: llvm/include/llvm/IR/Metadata.h:1339