class DistinctMDOperandPlaceholder
Declaration
class DistinctMDOperandPlaceholder : public Metadata { /* full declaration omitted */ };
Description
Placeholder metadata for operands of distinct MDNodes. This is a lightweight placeholder for an operand of a distinct node. It's purpose is to help track forward references when creating a distinct node. This allows distinct nodes involved in a cycle to be constructed before their operands without requiring a heavyweight temporary node with full-blown RAUW support. Each placeholder supports only a single MDNode user. Clients should pass an ID, retrieved via \a getID(), to indicate the "real" operand that this should be replaced with. While it would be possible to implement move operators, they would be fairly expensive. Leave them unimplemented to discourage their use (clients can use std::deque, std::list, BumpPtrAllocator, etc.).
Declared at: llvm/include/llvm/IR/Metadata.h:1289
Inherits from: Metadata
Member Variables
Inherited from Metadata:
Method Overview
- public DistinctMDOperandPlaceholder(unsigned int ID)
- public DistinctMDOperandPlaceholder()
- public DistinctMDOperandPlaceholder(llvm::DistinctMDOperandPlaceholder &&)
- public DistinctMDOperandPlaceholder(const llvm::DistinctMDOperandPlaceholder &)
- public unsigned int getID() const
- public void replaceUseWith(llvm::Metadata * MD)
- public ~DistinctMDOperandPlaceholder()
Inherited from Metadata:
- public dump
- public dump
- public getMetadataID
- protected handleChangedOperand
- public print
- public print
- public printAsOperand
- public printAsOperand
Methods
¶DistinctMDOperandPlaceholder(unsigned int ID)
DistinctMDOperandPlaceholder(unsigned int ID)
Declared at: llvm/include/llvm/IR/Metadata.h:1295
Parameters
- unsigned int ID
¶DistinctMDOperandPlaceholder()
DistinctMDOperandPlaceholder()
Declared at: llvm/include/llvm/IR/Metadata.h:1300
¶DistinctMDOperandPlaceholder(
llvm::DistinctMDOperandPlaceholder&&)
DistinctMDOperandPlaceholder(
llvm::DistinctMDOperandPlaceholder&&)
Declared at: llvm/include/llvm/IR/Metadata.h:1301
Parameters
¶DistinctMDOperandPlaceholder(
const llvm::DistinctMDOperandPlaceholder&)
DistinctMDOperandPlaceholder(
const llvm::DistinctMDOperandPlaceholder&)
Declared at: llvm/include/llvm/IR/Metadata.h:1302
Parameters
¶unsigned int getID() const
unsigned int getID() const
Declared at: llvm/include/llvm/IR/Metadata.h:1309
¶void replaceUseWith(llvm::Metadata* MD)
void replaceUseWith(llvm::Metadata* MD)
Description
Replace the use of this with MD.
Declared at: llvm/include/llvm/IR/Metadata.h:1312
Parameters
- llvm::Metadata* MD
¶~DistinctMDOperandPlaceholder()
~DistinctMDOperandPlaceholder()
Declared at: llvm/include/llvm/IR/Metadata.h:1304