The dx.Texture target extension type

Synopsis

Declared in <llvm/Analysis/DXILResource.h>

class TextureExtType
    : public TargetExtType

Description

target("dx.Texture", Type, IsWriteable, IsROV, IsSigned, Dimension)

Base Classes

Name

Description

TargetExtType

Class to represent target extensions types, which are generally unintrospectable from target‐independent optimizations.

Type Aliases

Name

Description

subtype_iterator

Iterator over this type's contained (subtype) types.

subtype_reverse_iterator

Reverse iterator over contained (subtype) types.

type_param_iterator

Iterator over this target extension type's type parameters.

Enums

Name

Description

Property

Target‐dependent properties describing how a target extension type may be used in IR.

TypeID

Identifiers for all base types in the LLVM type system.

Member Functions

Name

Description

TextureExtType [constructor]

Constructors

operator=

Assignment operators

canLosslesslyBitCastTo

Return true if this type could be converted with a lossless BitCast to Ty.

containsNonGlobalTargetExtType

Return true if this type is or contains a target extension type that disallows being used as a global.

containsNonLocalTargetExtType

Return true if this type is or contains a target extension type that disallows being used as a local.

dump

Dump this type to stderr for debugging.

getArrayElementType

Return the element type of this array type.

getArrayNumElements

Return the number of elements in this array type.

getByteBitWidth

Return the bit width of this byte type (or of its scalar element).

getContainedType

Return the type contained at index i in this derived type.

getContext

Return the LLVMContext in which this type was uniqued.

getDimension

Return the texture dimension as a DXIL resource kind.

getExtendedType

Given scalar/vector integer type, returns a type with elements twice as wide as in the original type. For vectors, preserves element count.

getFPMantissaWidth

Return the width of the mantissa of this floating‐point type.

getFltSemantics

Return the floating‐point semantics for this floating‐point type.

getFunctionNumParams

Return the number of fixed parameters of this function type.

getFunctionParamType

Return the type of formal parameter i of this function type.

getIntParameter

Return the integer parameter at index i.

getIntegerBitWidth

Return the bit width of this integer type.

getLayoutType

Return an underlying layout type for this target extension type.

getName

Return the name for this target extension type. Two distinct target extension types may have the same name if their type or integer parameters differ.

getNumContainedTypes

Return the number of types in the derived type.

getNumIntParameters

Return the number of integer parameters of this target extension type.

getNumTypeParameters

Return the number of type parameters of this target extension type.

getPointerAddressSpace

Get the address space of this pointer or pointer vector type.

getPrimitiveSizeInBits

Return the basic size of this type if it is a primitive type.

getResourceType

Return the element type of this texture.

getScalarSizeInBits

If this is a vector type, return the getPrimitiveSizeInBits value for the element type. Otherwise return the getPrimitiveSizeInBits value for this type.

getScalarType

If this is a vector type, return the element type, otherwise return 'this'.

getStructElementType

Return the type of element N in this struct type.

getStructName

Return the name of this identified struct type.

getStructNumElements

Return the number of elements in this struct type.

getTargetExtName

Return the name of this target extension type.

getTruncatedType

Given scalar/vector integer type, returns a type with elements half as wide as in the original type. For vectors, preserves element count.

getTypeID

Return the type id for the type. This will return one of the TypeID enum elements defined above.

getTypeParameter

Return the type parameter at index i.

getWithNewBitWidth

Given an integer or vector type, change the lane bitwidth to NewBitwidth, whilst keeping the old number of lanes.

getWithNewType

Given vector type, change the element type, whilst keeping the old number of elements. For non‐vectors simply returns EltTy.

hasProperty

Return true if the target extension type contains the given property.

int_params

Return the integer parameters for this particular target extension type. If there are no parameters, an empty array is returned.

is16bitFPTy

Return true if this is a 16‐bit float type.

isAggregateType

Return true if the type is an aggregate type.

isArrayTy

True if this is an instance of ArrayType.

isBFloatTy

Return true if this is 'bfloat', a 16‐bit bfloat type.

isByteOrByteVectorTy

isByteOrByteVectorTy overloads

isByteTy

isByteTy overloads

isDoubleTy

Return true if this is 'double', a 64‐bit IEEE fp type.

isEmptyTy

Return true if this type is empty, that is, it has no elements or all of its elements are empty.

isFP128Ty

Return true if this is 'fp128'.

isFPOrFPVectorTy

Return true if this is a FP type or a vector of FP.

isFirstClassType

Return true if the type is "first class", meaning it is a valid type for a Value.

isFloatTy

Return true if this is 'float', a 32‐bit IEEE fp type.

isFloatingPointTy

Return true if this is one of the floating‐point types.

isFunctionTy

True if this is an instance of FunctionType.

isFunctionVarArg

Return true if this function type is variadic.

isHalfTy

Return true if this is 'half', a 16‐bit IEEE fp type.

isIEEELikeFPTy

Return true if this is a well‐behaved IEEE‐like type, which has a IEEE compatible layout, and does not have non‐IEEE values, such as x86_fp80's unnormal values.

isIntOrIntVectorTy

isIntOrIntVectorTy overloads

isIntOrPtrTy

Return true if this is an integer type or a pointer type.

isIntegerTy

isIntegerTy overloads

isLabelTy

Return true if this is 'label'.

isMetadataTy

Return true if this is 'metadata'.

isMultiUnitFPType

Return true if this is a multi‐unit floating‐point type.

isPPC_FP128Ty

Return true if this is powerpc long double.

isPointerTy

True if this is an instance of PointerType.

isPtrOrPtrVectorTy

Return true if this is a pointer type or a vector of pointer types.

isRISCVVectorTupleTy

True if this is an instance of TargetExtType of RISC‐V vector tuple.

isROV

Return true if this is a rasterizer‐ordered view.

isScalableTargetExtTy

Return true if this is a target extension type with a scalable layout.

isScalableTy

isScalableTy overloads

isSigned

Return true if the element type is signed.

isSingleValueType

Return true if the type is a valid type for a register in codegen. This includes all first‐class types except struct and array types.

isSized

Return true if it makes sense to take the size of this type.

isStructTy

True if this is an instance of StructType.

isTargetExtTy

Return true if this is a target extension type.

isTokenLikeTy

Returns true if this is 'token' or a token‐like target type.s

isTokenTy

Return true if this is 'token'.

isVectorTy

True if this is an instance of VectorType.

isVoidTy

Return true if this is 'void'.

isWriteable

Return true if this texture is writeable (UAV).

isX86_AMXTy

Return true if this is X86 AMX.

isX86_FP80Ty

Return true if this is x86 long double.

print

Print the current type.

subtype_begin

Iterator to the first contained (subtype) type.

subtype_end

Iterator past the last contained (subtype) type.

subtype_rbegin

Reverse iterator to the last contained (subtype) type.

subtype_rend

Reverse iterator past the first contained (subtype) type.

subtypes

Return an array view of this type's contained subtypes.

type_param_begin

Return an iterator to the first type parameter.

type_param_end

Return an iterator past the last type parameter.

type_params

Return the type parameters for this particular target extension type. If there are no parameters, an empty array is returned.

Static Member Functions

Name

Description

checkParams

Validate the parameter counts of a newly created target extension type.

classof

Methods for support type inquiry through isa, cast, and dyn_cast.

get

Return a target extension type having the specified name and optional type and integer parameters.

getBFloatTy

Return the bfloat (16‐bit) floating‐point type.

getByte128Ty

Return the 128‐bit byte type.

getByte16Ty

Return the 16‐bit byte type for the given context.

getByte1Ty

Return the 1‐bit byte type.

getByte32Ty

Return the 32‐bit byte type for the given context.

getByte64Ty

Return the 64‐bit byte type.

getByte8Ty

Return the 8‐bit byte type.

getByteFromIntType

Returns a byte (vector of byte) type with the same size of an integer of the given integer (vector of integer) type.

getByteNTy

Return a byte type with bit width N.

getDoubleTy

Return the IEEE double‐precision (64‐bit) floating‐point type.

getFP128Ty

Return the 128‐bit IEEE floating‐point type (fp128).

getFloatTy

Return the IEEE single‐precision (32‐bit) floating‐point type.

getFloatingPointTy

Return the floating‐point type matching semantics S.

getHalfTy

Return the IEEE half‐precision (16‐bit) floating‐point type.

getInt128Ty

Return the 128‐bit integer type.

getInt16Ty

Return the 16‐bit integer type.

getInt1Ty

Return the 1‐bit integer type.

getInt32Ty

Return the 32‐bit integer type.

getInt64Ty

Return the 64‐bit integer type.

getInt8Ty

Return the 8‐bit integer type.

getIntFromByteType

Returns an integer (vector of integer) type with the same size of a byte of the given byte (vector of byte) type.

getIntNTy

Return an integer type with bit width N.

getLabelTy

Return the label type.

getMetadataTy

Return the metadata type used for metadata operands in the IR.

getOrError

Return a target extension type having the specified name and optional type and integer parameters, or an appropriate Error if it fails the parameters check.

getPPC_FP128Ty

Return the PowerPC double‐double (ppc_fp128) floating‐point type.

getPrimitiveType

Return a type based on an identifier.

getScalarTy

Return the LLVM scalar type corresponding to a C++ scalar type ScalarTy.

getTokenTy

Return the token type.

getVoidTy

Return the void type.

getWasm_ExternrefTy

Return the WebAssembly externref target‐extension type.

getWasm_FuncrefTy

Return the WebAssembly funcref target‐extension type.

getX86_AMXTy

Return the X86 AMX type for the given context.

getX86_FP80Ty

Return the x86 80‐bit extended‐precision floating‐point type.

Protected Member Functions

Name

Description

getSubclassData

Return the subclass‐specific data packed into this type.

setSubclassData

Store subclass‐specific data into this type's SubclassData field.

Protected Data Members

Name

Description

ContainedTys

Pointer to the array of Types contained by this Type.

NumContainedTys

Keeps track of how many Type*'s there are in the ContainedTys list.

Non-Member Functions

Name

Description

::llvm::ComputeLinearIndex

Compute the linearized index of a member in a nested aggregate.

::llvm::ComputeLinearIndex

Compute the linearized index of a member in a nested aggregate/struct/array.

::llvm::ConstantFoldGetElementPtr

Attempt to constant fold a getelementptr instruction with the specified operands.

::llvm::canVectorizeTy

Returns true if Ty can be used as a vector element or vectorized struct.

::llvm::checkGEPType

Return Ty after asserting it is a valid GEP index result type.

::llvm::gep_type_begin

Return a begin iterator over GEP indices from type Op0 and operands A.

::llvm::gep_type_end

Return an end iterator for GEP indices from operands A.

::llvm::getContainedTypes

Returns the types contained in Ty. For struct types, it returns the elements, all other types are returned directly.

::llvm::getLLTForType

Construct a low‐level type based on an LLVM type.

::llvm::getPointersDiff

Returns the distance between compatible pointers PtrA and PtrB.

::llvm::getVectorizedTypeVF

Returns the number of vector elements for a vectorized type.

::llvm::isVectorizedTy

Returns true if Ty is a vector type or a struct of vector types where all vector types share the same VF.

::llvm::simplifyGEPInst

Given operands for a GetElementPtrInst, fold the result or return null.

::llvm::toScalarizedTy

Convert a vectorized type to its scalarized (non‐vector) form.

::llvm::toVectorTy

Convert a scalar type to a vector type.

::llvm::toVectorTy

Convert a scalar type to a fixed‐length vector type.

::llvm::toVectorizedTy

Convert a scalar or struct type to its vectorized form.

::llvm::wrap

C API conversion helpers for Type / LLVMTypeRef, including typed unwrap.

::llvm::wrap

Wrap an array of Type pointers for the C API.

::llvm::AttributeFuncs::isNoFPClassCompatibleType

Returns true if this is a type legal for the 'nofpclass' attribute. This follows the same type rules as FPMathOperator.

::llvm::AttributeFuncs::typeIncompatible

Return the mask of attributes incompatible with type Ty.

::llvm::PatternMatch::m_SpecificType

Match a value of a specific type, capturing it if we match.

::llvm::PatternMatch::m_SpecificType

Match any value of a specific type.

::llvm::PatternMatch::m_SpecificType

Match a const value of a specific type, capturing it if we match.

::llvm::PatternMatch::m_SpecificType

Match a value of a specific type.

::llvm::VNCoercion::analyzeLoadFromClobberingLoad

This function determines whether a value for the pointer LoadPtr can be extracted from the load at DepLI.

::llvm::VNCoercion::analyzeLoadFromClobberingMemInst

This function determines whether a value for the pointer LoadPtr can be extracted from the memory intrinsic at DepMI.

::llvm::VNCoercion::analyzeLoadFromClobberingStore

This function determines whether a value for the pointer LoadPtr can be extracted from the store at DepSI.

::llvm::fuzzerop::makeConstantsWithType

Populate a small list of potentially interesting constants of a given type.

::llvm::fuzzerop::makeConstantsWithType

Return a small list of potentially interesting constants of a given type.

::llvm::hlsl::getDXILElementType

Converts a scalar or vector LLVM type to its DXIL element type.

Created with MrDocs