Namespace Ubiquity.NET.Llvm.Metadata
This namespace hosts all of the wrappers for the LLVM Metadata. The namespace contains the root of the metadata type system IrMetadata.
[NOTE] The name IrMetadata is used to help deal with a number of naming issues and conflicts with existing types or namespaces. (CA1724 is not your friend on this one. The name
Metadata
conflicts with namespace System.Runtime.Remoting.Metadata, which apparently is ONLY a legacy desktop framework namespace, but the tooling still complains about a conflict between the namespace name and a type name). To resolve this the type is named as closely as possible without causing the conflict.
Classes
- ConstantAsMetadata
Constant Value as metadata
- IrMetadata
Root of the LLVM IR Metadata hierarchy
- LocalAsMetadata
Contains a local Value as IrMetadata
- MDNode
IrMetadata node for LLVM IR Bitcode modules
- MDString
Stores a string in IrMetadata
- MDTuple
Tuple of IrMetadata nodes
- MetadataAsValue
Wraps metadata as a Value
- MetadataOperandCollection
Support class to provide read/update semantics to the operands of a container element
- ModuleFlag
ModuleHandle Flags Tuple for a module
- NamedMDNode
Wraps an LLVM NamedMDNode
- OperandBundleNames
Static class to hold constant strings for well known operand bundle tag names
- ValueAsMetadata
Used to wrap an Value in the IrMetadata hierarchy
Enums
- MetadataKind
Enumeration to define metadata type kind