Table of Contents

Class DataLayout

Namespace
Ubiquity.NET.Llvm
Assembly
Ubiquity.NET.Llvm.dll

Owning implementation of IDataLayout

public sealed class DataLayout : IDataLayout, IDisposable, IEquatable<DataLayout>, IEquatable<IDataLayout>
Inheritance
DataLayout
Implements
Inherited Members

Remarks

important

There is currently no way to compute a proper hash code for this type. Any attempt to call GetHashCode() will result in a NotSupportedException.

The internal data values used for equality checks are not accessible, even to native C++ code, so no projection is possible. .NET has strict requirements on the consistency of a hash code with the behavior of equality comparisons, which the current LLVM declaration/implementation do not allow.

Properties

Endianness

Gets the byte ordering for this target

IsDisposed

Gets a value indicating whether this instance is already disposed

Methods

AbiAlignmentOf(ITypeRef)

Retrieves the ABI specified alignment, in bytes, for a specified type

AbiBitAlignmentOf(ITypeRef)

Gets the ABI alignment of the type in bits

AbiSizeOf(ITypeRef)

Retrieves the ABI specified size of the given type

BitOffsetOfElement(IStructType, uint)

Gets the offset of a structure element in bits

BitSizeOf(ITypeRef)

Returns the number of bits necessary to hold the specified type.

ByteSizeOf(ITypeRef)

Gets the byte size of a type

CallFrameAlignmentOf(ITypeRef)

Retrieves the call frame alignment for a given type

Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

ElementAtOffset(IStructType, ulong)

Gets the element index for a specific offset in a given structure

Equals(object?)

Determines whether the specified object is equal to the current object.

Equals(DataLayout?)

Indicates whether the current object is equal to another object of the same type.

Equals(IDataLayout?)

Indicates whether the current object is equal to another object of the same type.

GetHashCode()

Serves as the default hash function.

IntPtrType(IContext)

Retrieves an LLVM integer type with the same bit width as a pointer for the default address space of the target

IntPtrType(IContext, uint)

Retrieves an LLVM integer type with the same bit width as a pointer for the given address space of the target

OffsetOfElement(IStructType, uint)

Gets the offset of an element in a structure

Parse(LazyEncodedString)

Parses a data layout from a textual representation

PointerSize()

Gets the size of a pointer for the default address space of the target

PointerSize(uint)

Retrieves the size of a pointer for a given address space of the target

PreferredAlignmentOf(ITypeRef)

Gets the preferred alignment for an LLVM type

PreferredAlignmentOf(Value)

Gets the preferred alignment for a Value

PreferredBitAlignmentOf(ITypeRef)

Gets the preferred alignment of the type in bits

StoreSizeOf(ITypeRef)

Retrieves the number of bits required to store a value of the given type

ToLazyEncodedString()

Gets the string representation of this data layout as a LazyEncodedString

TryParse(LazyEncodedString, out DataLayout)

Tries to parse a DataLayout from a string representation