ILGPU  0.9.0
ILGPU.IR.Construction.IRBuilder Class Referenceabstract

An IR builder that can construct IR nodes. More...

Inheritance diagram for ILGPU.IR.Construction.IRBuilder:
ILGPU.IR.Types.IIRTypeContext ILGPU.IR.ILocation ILGPU.IR.BasicBlock.Builder

Public Member Functions

ValueReference CreateArithmetic (Location location, Value node, UnaryArithmeticKind kind)
 Creates a unary arithmetic operation. More...
 
ValueReference CreateArithmetic (Location location, Value node, UnaryArithmeticKind kind, ArithmeticFlags flags)
 Creates a unary arithmetic operation. More...
 
ValueReference CreateArithmetic (Location location, Value left, Value right, BinaryArithmeticKind kind)
 Creates a binary arithmetic operation. More...
 
ValueReference CreateArithmetic (Location location, Value left, Value right, BinaryArithmeticKind kind, ArithmeticFlags flags)
 Creates a binary arithmetic operation. More...
 
ValueReference CreateArithmetic (Location location, Value first, Value second, Value third, TernaryArithmeticKind kind)
 Creates a ternary arithmetic operation. More...
 
ValueReference CreateArithmetic (Location location, Value first, Value second, Value third, TernaryArithmeticKind kind, ArithmeticFlags flags)
 Creates a ternary arithmetic operation. More...
 
ValueReference CreateArray (Location location, TypeNode elementType, int dimensions, Value extent)
 Creates a new array value. More...
 
ValueReference CreateArray (Location location, ArrayType type, Value extent)
 Creates a new array value. More...
 
ValueReference CreateGetArrayExtent (Location location, Value arrayValue)
 Creates an operation to extract the extent from an array value. More...
 
ValueReference CreateGetArrayElement (Location location, Value arrayValue, Value index)
 Creates a load operation of an array element. More...
 
ValueReference CreateSetArrayElement (Location location, Value arrayValue, Value index, Value value)
 Creates a store operation of an array element. More...
 
ValueReference CreateGetArrayLength (Location location, Value arrayValue)
 Creates a value reference that represents an array length. More...
 
MemoryValue CreateAtomic (Location location, Value target, Value value, AtomicKind kind, AtomicFlags flags)
 Creates a new atomic operation. More...
 
MemoryValue CreateAtomicCAS (Location location, Value target, Value value, Value compareValue, AtomicFlags flags)
 Creates a new atomic compare-and-swap operation More...
 
ValueReference CreateIntAsPointerCast (Location location, Value node)
 Creates a cast operation that casts an integer value to a raw pointer. More...
 
ValueReference CreatePointerCast (Location location, Value node, TypeNode targetElementType)
 Creates a cast operation that casts the element type of a pointer but does not change its address space. More...
 
ValueReference CreateAddressSpaceCast (Location location, Value node, MemoryAddressSpace targetAddressSpace)
 Creates an address-space cast. More...
 
ValueReference CreateViewCast (Location location, Value node, TypeNode targetElementType)
 Creates a view cast. More...
 
ValueReference CreateFloatAsIntCast (Location location, Value node)
 Creates a float as int reinterpret bit cast. More...
 
ValueReference CreateIntAsFloatCast (Location location, Value node)
 Creates an int as float reinterpret bit cast. More...
 
ValueReference CreateCompare (Location location, Value left, Value right, CompareKind kind)
 Creates a compare operation. More...
 
ValueReference CreateCompare (Location location, Value left, Value right, CompareKind kind, CompareFlags flags)
 Creates a compare operation. More...
 
ValueReference CreatePredicate (Location location, Value conditionOrValue, ref ValueList values)
 Creates a conditional predicate. More...
 
ValueReference CreateIfPredicate (Location location, Value condition, Value trueValue, Value falseValue)
 Creates a conditional if predicate. More...
 
SwitchPredicate.Builder CreateSwitchPredicate (Location location, Value condition)
 Creates a conditional switch predicate. More...
 
SwitchPredicate.Builder CreateSwitchPredicate (Location location, Value condition, int capacity)
 Creates a conditional switch predicate. More...
 
ValueReference CreateConvertToInt32 (Location location, Value node)
 Creates a convert operation to a 32bit integer. More...
 
ValueReference CreateConvertToInt64 (Location location, Value node)
 Creates a convert operation to a 64bit integer. More...
 
ValueReference CreateConvert (Location location, Value node, BasicValueType basicValueType)
 Creates a convert operation. More...
 
ValueReference CreateConvert (Location location, Value node, TypeNode targetType)
 Creates a convert operation. More...
 
ValueReference CreateConvert (Location location, Value node, TypeNode targetType, ConvertFlags flags)
 Creates a convert operation. More...
 
ValueReference CreateDebug (Location location, DebugKind kind, Value message)
 Creates a new failed debug assertion. More...
 
string FormatErrorMessage (string message)
 Formats an error message to include specific exception information. More...
 
ValueReference CreateAcceleratorTypeValue (Location location)
 Creates a node that represents an Accelerator.CurrentType property. More...
 
ValueReference CreateWarpSizeValue (Location location)
 Creates a node that represents a Warp.WarpSize property. More...
 
ValueReference CreateLaneIdxValue (Location location)
 Creates a node that represents a Warp.LaneIdx property. More...
 
ValueReference CreateGridIndexValue (Location location, DeviceConstantDimension3D dimension)
 Creates a node that represents a Grid.Index property. More...
 
ValueReference CreateGroupIndexValue (Location location, DeviceConstantDimension3D dimension)
 Creates a node that represents a Group.Index property. More...
 
ValueReference CreateGridDimensionValue (Location location, DeviceConstantDimension3D dimension)
 Creates a node that represents a Grid.Dimension property. More...
 
ValueReference CreateGroupDimensionValue (Location location, DeviceConstantDimension3D dimension)
 Creates a node that represents of a Group.Dimension property. More...
 
ValueReference CreateSizeOf (Location location, TypeNode type)
 Creates a node that represents the native size of the given type. More...
 
ValueReference CreateLongSizeOf (Location location, TypeNode type)
 Creates a node that represents the native size of the given type. More...
 
ValueReference CreateOffsetOf (Location location, TypeNode type, int fieldIndex)
 Creates a node that represents the native offset of the specified field index. More...
 
ValueReference CreateUndefined ()
 Creates a node that represents an undefined value. More...
 
ValueReference CreateRuntimeHandle (Location location, object handle)
 Creates a node that represents a managed runtime handle. More...
 
ValueReference CreateIndex (Location location, ValueReference dimension)
 Creates a new index structure instance. More...
 
ValueReference CreateAlloca (Location location, TypeNode type, MemoryAddressSpace addressSpace)
 Creates a local allocation. More...
 
ValueReference CreateStaticAllocaArray (Location location, Value arrayLength, TypeNode type, MemoryAddressSpace addressSpace)
 Creates an array based local allocation. More...
 
ValueReference CreateDynamicAllocaArray (Location location, TypeNode type, MemoryAddressSpace addressSpace)
 Creates a dynamic local memory allocation. More...
 
ValueReference CreateLoad (Location location, Value source)
 Creates a load operation. More...
 
ValueReference CreateStore (Location location, Value target, Value value)
 Creates a store operation. More...
 
ValueReference CreateMemoryBarrier (Location location, MemoryBarrierKind kind)
 Creates a memory barrier. More...
 
ValueReference CreateSubViewValue (Location location, Value source, Value offset, Value length)
 Computes a new sub view from a given view. More...
 
ValueReference CreateLoadElementAddress (Location location, Value source, Value elementIndex)
 Computes the address of a single element in the scope of a view or a pointer. More...
 
ValueReference CreateLoadFieldAddress (Location location, Value source, FieldSpan fieldSpan)
 Computes the address of a single field. More...
 
MethodCall.Builder CreateCall (Location location, Method target)
 Creates a new call node builder. More...
 
PhiValue.Builder CreatePhi (Location location, TypeNode type)
 Creates a new phi node builder. More...
 
PhiValue.Builder CreatePhi (Location location, TypeNode type, int capacity)
 Creates a new phi node builder. More...
 
Method DeclareMethod (in MethodDeclaration declaration, out bool created)
 Declares a method. More...
 
ValueReference CreateObjectValue (Location location, object instance)
 Creates a new object value. More...
 
StructureValue.Builder CreateStructure (Location location, StructureType structureType)
 Creates a new structure instance builder. More...
 
StructureValue.DynamicBuilder CreateDynamicStructure (Location location)
 Creates a new dynamic structure instance builder. More...
 
StructureValue.DynamicBuilder CreateDynamicStructure (Location location, int capacity)
 Creates a new dynamic structure instance builder. More...
 
ValueReference CreateDynamicStructure (Location location, ref ValueList values)
 Creates a new dynamic structure instance. More...
 
ValueReference CreateDynamicStructure (Location location, ValueReference item1, ValueReference item2)
 Creates a new dynamic structure instance. More...
 
ValueReference CreateDynamicStructure (Location location, ValueReference item1, ValueReference item2, ValueReference item3)
 Creates a new dynamic structure instance. More...
 
ValueReference CreateDynamicStructure< TList > (Location location, TList values)
 Creates a new dynamic structure instance. More...
 
ValueReference CreateGetField (Location location, Value objectValue, FieldSpan fieldSpan)
 Creates a load operation of an object field. More...
 
ValueReference CreateSetField (Location location, Value objectValue, FieldSpan fieldSpan, Value value)
 Creates a store operation of an object field using the given field access. More...
 
TerminatorValue CreateReturn (Location location)
 Creates a new return terminator. More...
 
TerminatorValue CreateReturn (Location location, Value returnValue)
 Creates a new return terminator. More...
 
Branch CreateBranch (Location location, BasicBlock target)
 Creates a new unconditional branch. More...
 
Branch CreateIfBranch (Location location, Value condition, BasicBlock trueTarget, BasicBlock falseTarget)
 Creates a new conditional branch. More...
 
SwitchBranch.Builder CreateSwitchBranch (Location location, Value value)
 Creates a switch terminator builder. More...
 
SwitchBranch.Builder CreateSwitchBranch (Location location, Value value, int capacity)
 Creates a switch terminator builder. More...
 
BuilderTerminator.Builder CreateBuilderTerminator (int capacity)
 Creates a temporary builder terminator. More...
 
BuilderTerminator CreateBuilderTerminator (ref BlockList targets)
 Creates a temporary builder terminator. More...
 
MemoryValue CreateBarrier (Location location, Value predicate, PredicateBarrierKind kind)
 Creates a new predicated barrier. More...
 
MemoryValue CreateBarrier (Location location, BarrierKind kind)
 Creates a new barrier. More...
 
ValueReference CreateBroadcast (Location location, Value variable, Value origin, BroadcastKind kind)
 Creates a new broadcast operation. More...
 
ValueReference CreateShuffle (Location location, Value variable, Value origin, ShuffleKind kind)
 Creates a new shuffle operation. More...
 
ValueReference CreateShuffle (Location location, Value variable, Value origin, Value width, ShuffleKind kind)
 Creates a new sub-warp shuffle operation that operates on sub-groups of a warp. More...
 
PrimitiveType GetPrimitiveType (BasicValueType basicValueType)
 Creates a primitive type. More...
 
TypeNode GetIndexType (int dimension)
 Creates an intrinsic index type. More...
 
PointerType CreatePointerType (TypeNode elementType, MemoryAddressSpace addressSpace)
 Creates a pointer type. More...
 
ViewType CreateViewType (TypeNode elementType, MemoryAddressSpace addressSpace)
 Creates a view type. More...
 
ArrayType CreateArrayType (TypeNode elementType, int dimension)
 Creates a new array type. More...
 
StructureType.Builder CreateStructureType (int capacity)
 Creates a new structure type builder with the given capacity. More...
 
TypeNode CreateType (Type type)
 Creates a new type based on a type from the .Net world. More...
 
TypeNode CreateType (Type type, MemoryAddressSpace addressSpace)
 Creates a new type based on a type from the .Net world. More...
 
AddressSpaceType SpecializeAddressSpaceType (AddressSpaceType addressSpaceType, MemoryAddressSpace addressSpace)
 Specializes the address space of the given AddressSpaceType. More...
 
bool TrySpecializeAddressSpaceType (TypeNode type, MemoryAddressSpace addressSpace, out TypeNode specializedType)
 Tries to specialize a view or a pointer address space. More...
 
ValueReference CreateNull (Location location, TypeNode type)
 Creates a null value for the given type. More...
 
ValueReference CreateEnumValue (Location location, object value)
 Creates a new primitive Enum constant. More...
 
ValueReference CreatePrimitiveValue (Location location, object value)
 Creates a new primitive constant. More...
 
ValueReference CreatePrimitiveValue (Location location, string @string)
 Creates a new string constant. More...
 
PrimitiveValue CreatePrimitiveValue (Location location, bool value)
 Creates a primitive bool value. More...
 
PrimitiveValue CreatePrimitiveValue (Location location, sbyte value)
 Creates a primitive sbyte value. More...
 
PrimitiveValue CreatePrimitiveValue (Location location, byte value)
 Creates a primitive byte value. More...
 
PrimitiveValue CreatePrimitiveValue (Location location, short value)
 Creates a primitive short value. More...
 
PrimitiveValue CreatePrimitiveValue (Location location, ushort value)
 Creates a primitive ushort value. More...
 
PrimitiveValue CreatePrimitiveValue (Location location, int value)
 Creates a primitive int value. More...
 
PrimitiveValue CreatePrimitiveValue (Location location, uint value)
 Creates a primitive uint value. More...
 
PrimitiveValue CreatePrimitiveValue (Location location, long value)
 Creates a primitive long value. More...
 
PrimitiveValue CreatePrimitiveValue (Location location, ulong value)
 Creates a primitive ulong value. More...
 
PrimitiveValue CreatePrimitiveValue (Location location, Half value)
 Creates a primitive Half value. More...
 
PrimitiveValue CreatePrimitiveValue (Location location, float value)
 Creates a primitive float value. More...
 
PrimitiveValue CreatePrimitiveValue (Location location, double value)
 Creates a primitive double value. More...
 
PrimitiveValue CreatePrimitiveValue (Location location, BasicValueType type, long rawValue)
 Creates a primitive value. More...
 
ValueReference CreateValue (Location location, object value, Type type)
 Creates a generic value. More...
 
ValueReference CreateNewView (Location location, Value pointer, Value length)
 Constructs a new view from a pointer and a length. More...
 
ValueReference CreateGetViewLength (Location location, Value view)
 Creates a node that resolves the length of the given view. More...
 
ValueReference CreateGetViewLongLength (Location location, Value view)
 Creates a node that resolves the length of the given view. More...
 

Public Attributes

Method Method => BasicBlock.Method
 Returns the parent method. More...
 
VoidType VoidType => Context.VoidType
 Returns the void type. More...
 
StringType StringType => Context.StringType
 Returns the string type. More...
 

Protected Member Functions

 IRBuilder (BasicBlock basicBlock)
 Constructs a new IR builder. More...
 
abstract PhiValue CreatePhiValue (PhiValue phiValue)
 Creates an instantiated phi value. More...
 
abstract T CreateTerminator< T > (T node)
 Creates an instantiated terminator. More...
 
abstract T Append< T > (T node)
 Append a new value. More...
 

Properties

IRContext Context [get]
 Returns the associated context. More...
 
BasicBlock BasicBlock [get]
 Returns the associated basic block. More...
 
bool UseConstantPropagation [get]
 True, if the IR builder should use constant propagation. More...
 
- Properties inherited from ILGPU.IR.Types.IIRTypeContext
VoidType VoidType [get]
 Returns the void type. More...
 
StringType StringType [get]
 Returns the memory type. More...
 

Detailed Description

An IR builder that can construct IR nodes.

Members of this class are thread safe.

Constructor & Destructor Documentation

ILGPU.IR.Construction.IRBuilder.IRBuilder ( BasicBlock  basicBlock)
protected

Constructs a new IR builder.

Parameters
basicBlockThe current basic block.

Member Function Documentation

abstract T ILGPU.IR.Construction.IRBuilder.Append< T > ( node)
protectedpure virtual

Append a new value.

Template Parameters
TThe node type.
Parameters
nodeThe node to create.
Returns
The created node.

Implemented in ILGPU.IR.BasicBlock.Builder.

Type Constraints
T :Value 
ValueReference ILGPU.IR.Construction.IRBuilder.CreateAcceleratorTypeValue ( Location  location)

Creates a node that represents an Accelerator.CurrentType property.

Parameters
locationThe current location.
Returns
A reference to the requested value.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateAddressSpaceCast ( Location  location,
Value  node,
MemoryAddressSpace  targetAddressSpace 
)

Creates an address-space cast.

Parameters
locationThe current location.
nodeThe operand.
targetAddressSpaceThe target address space.
Returns
A node that represents the cast operation.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateAlloca ( Location  location,
TypeNode  type,
MemoryAddressSpace  addressSpace 
)

Creates a local allocation.

Parameters
locationThe current location.
typeThe type of the allocation.
addressSpaceThe target address space.
Returns
A node that represents the alloca operation.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateArithmetic ( Location  location,
Value  node,
UnaryArithmeticKind  kind 
)

Creates a unary arithmetic operation.

Parameters
locationThe current location.
nodeThe operand.
kindThe operation kind.
Returns
A node that represents the arithmetic operation.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateArithmetic ( Location  location,
Value  node,
UnaryArithmeticKind  kind,
ArithmeticFlags  flags 
)

Creates a unary arithmetic operation.

Parameters
locationThe current location.
nodeThe operand.
kindThe operation kind.
flagsOperation flags.
Returns
A node that represents the arithmetic operation.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateArithmetic ( Location  location,
Value  left,
Value  right,
BinaryArithmeticKind  kind 
)

Creates a binary arithmetic operation.

Parameters
locationThe current location.
leftThe left operand.
rightThe right operand.
kindThe operation kind.
Returns
A node that represents the arithmetic operation.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateArithmetic ( Location  location,
Value  left,
Value  right,
BinaryArithmeticKind  kind,
ArithmeticFlags  flags 
)

Creates a binary arithmetic operation.

Parameters
locationThe current location.
leftThe left operand.
rightThe right operand.
kindThe operation kind.
flagsOperation flags.
Returns
A node that represents the arithmetic operation.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateArithmetic ( Location  location,
Value  first,
Value  second,
Value  third,
TernaryArithmeticKind  kind 
)

Creates a ternary arithmetic operation.

Parameters
locationThe current location.
firstThe first operand.
secondThe second operand.
thirdThe second operand.
kindThe operation kind.
Returns
A node that represents the arithmetic operation.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateArithmetic ( Location  location,
Value  first,
Value  second,
Value  third,
TernaryArithmeticKind  kind,
ArithmeticFlags  flags 
)

Creates a ternary arithmetic operation.

Parameters
locationThe current location.
firstThe first operand.
secondThe second operand.
thirdThe second operand.
kindThe operation kind.
flagsOperation flags.
Returns
A node that represents the arithmetic operation.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateArray ( Location  location,
TypeNode  elementType,
int  dimensions,
Value  extent 
)

Creates a new array value.

Parameters
locationThe current location.
elementTypeThe array element type.
dimensionsThe array dimensions.
extentThe array length.
Returns
The created empty array value.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateArray ( Location  location,
ArrayType  type,
Value  extent 
)

Creates a new array value.

Parameters
locationThe current location.
typeThe array type.
extentThe array length.
Returns
The created empty array value.
ArrayType ILGPU.IR.Construction.IRBuilder.CreateArrayType ( TypeNode  elementType,
int  dimension 
)

Creates a new array type.

Parameters
elementTypeThe element type.
dimensionThe array dimension.
Returns
The created array type.

Implements ILGPU.IR.Types.IIRTypeContext.

MemoryValue ILGPU.IR.Construction.IRBuilder.CreateAtomic ( Location  location,
Value  target,
Value  value,
AtomicKind  kind,
AtomicFlags  flags 
)

Creates a new atomic operation.

Parameters
locationThe current location.
targetThe target address.
valueThe target value.
kindThe operation kind.
flagsThe operation flags.
Returns
A node that represents the atomic operation.
MemoryValue ILGPU.IR.Construction.IRBuilder.CreateAtomicCAS ( Location  location,
Value  target,
Value  value,
Value  compareValue,
AtomicFlags  flags 
)

Creates a new atomic compare-and-swap operation

Parameters
locationThe current location.
targetThe parent memory operation.
valueThe target value.
compareValueThe comparison value.
flagsThe operation flags.
Returns
A node that represents the atomic compare-and-swap operation.
MemoryValue ILGPU.IR.Construction.IRBuilder.CreateBarrier ( Location  location,
Value  predicate,
PredicateBarrierKind  kind 
)

Creates a new predicated barrier.

Parameters
locationThe current location.
predicateThe barrier predicate.
kindThe barrier kind.
Returns
A node that represents the barrier.
MemoryValue ILGPU.IR.Construction.IRBuilder.CreateBarrier ( Location  location,
BarrierKind  kind 
)

Creates a new barrier.

Parameters
locationThe current location.
kindThe barrier kind.
Returns
A node that represents the barrier.
Branch ILGPU.IR.Construction.IRBuilder.CreateBranch ( Location  location,
BasicBlock  target 
)

Creates a new unconditional branch.

Parameters
locationThe current location.
targetThe target block.
Returns
The created terminator.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateBroadcast ( Location  location,
Value  variable,
Value  origin,
BroadcastKind  kind 
)

Creates a new broadcast operation.

Parameters
locationThe current location.
variableThe variable.
originThe broadcast origin (thread index within a group or a warp).
kindThe operation kind.
Returns
A node that represents the broadcast operation.
BuilderTerminator.Builder ILGPU.IR.Construction.IRBuilder.CreateBuilderTerminator ( int  capacity)

Creates a temporary builder terminator.

Parameters
capacityThe expected number of branch targets.
Returns
The created terminator builder.
BuilderTerminator ILGPU.IR.Construction.IRBuilder.CreateBuilderTerminator ( ref BlockList  targets)

Creates a temporary builder terminator.

Parameters
targetsAll branch targets.
Returns
The created terminator.
MethodCall.Builder ILGPU.IR.Construction.IRBuilder.CreateCall ( Location  location,
Method  target 
)

Creates a new call node builder.

Parameters
locationThe current location.
targetThe jump target.
Returns
A call builder.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateCompare ( Location  location,
Value  left,
Value  right,
CompareKind  kind 
)

Creates a compare operation.

Parameters
locationThe current location.
leftThe left operand.
rightThe right operand.
kindThe operation kind.
Returns
A node that represents the compare operation.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateCompare ( Location  location,
Value  left,
Value  right,
CompareKind  kind,
CompareFlags  flags 
)

Creates a compare operation.

Parameters
locationThe current location.
leftThe left operand.
rightThe right operand.
kindThe operation kind.
flagsOperation flags.
Returns
A node that represents the compare operation.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateConvert ( Location  location,
Value  node,
BasicValueType  basicValueType 
)

Creates a convert operation.

Parameters
locationThe current location.
nodeThe operand.
basicValueTypeThe target basic value type.
Returns
A node that represents the convert operation.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateConvert ( Location  location,
Value  node,
TypeNode  targetType 
)

Creates a convert operation.

Parameters
locationThe current location.
nodeThe operand.
targetTypeThe target type.
Returns
A node that represents the convert operation.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateConvert ( Location  location,
Value  node,
TypeNode  targetType,
ConvertFlags  flags 
)

Creates a convert operation.

Parameters
locationThe current location.
nodeThe operand.
targetTypeThe target type.
flagsOperation flags.
Returns
A node that represents the convert operation.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateConvertToInt32 ( Location  location,
Value  node 
)

Creates a convert operation to a 32bit integer.

Parameters
locationThe current location.
nodeThe operand.
Returns
A node that represents the convert operation.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateConvertToInt64 ( Location  location,
Value  node 
)

Creates a convert operation to a 64bit integer.

Parameters
locationThe current location.
nodeThe operand.
Returns
A node that represents the convert operation.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateDebug ( Location  location,
DebugKind  kind,
Value  message 
)

Creates a new failed debug assertion.

Parameters
locationThe current location.
kindThe operation kind.
messageThe assertion message.
Returns
A node that represents the debug assertion.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateDynamicAllocaArray ( Location  location,
TypeNode  type,
MemoryAddressSpace  addressSpace 
)

Creates a dynamic local memory allocation.

Parameters
locationThe current location.
typeThe type of the allocation.
addressSpaceThe target address space.
Returns
A node that represents the alloca operation.
StructureValue.DynamicBuilder ILGPU.IR.Construction.IRBuilder.CreateDynamicStructure ( Location  location)

Creates a new dynamic structure instance builder.

Parameters
locationThe current location.
Returns
The created structure instance builder.
StructureValue.DynamicBuilder ILGPU.IR.Construction.IRBuilder.CreateDynamicStructure ( Location  location,
int  capacity 
)

Creates a new dynamic structure instance builder.

Parameters
locationThe current location.
capacityThe initial capacity.
Returns
The created structure instance builder.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateDynamicStructure ( Location  location,
ref ValueList  values 
)

Creates a new dynamic structure instance.

Parameters
locationThe current location.
valuesThe initial values.
Returns
The created structure instance.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateDynamicStructure ( Location  location,
ValueReference  item1,
ValueReference  item2 
)

Creates a new dynamic structure instance.

Parameters
locationThe current location.
item1The first item.
item2The second item.
Returns
The created structure instance value.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateDynamicStructure ( Location  location,
ValueReference  item1,
ValueReference  item2,
ValueReference  item3 
)

Creates a new dynamic structure instance.

Parameters
locationThe current location.
item1The first item.
item2The second item.
item3The third item.
Returns
The created structure instance value.

Creates a new dynamic structure instance.

Parameters
locationThe current location.
valuesThe list of all values to add.
Returns
The created structure instance value.
Type Constraints
TList :IReadOnlyList<ValueReference> 
ValueReference ILGPU.IR.Construction.IRBuilder.CreateEnumValue ( Location  location,
object  value 
)

Creates a new primitive Enum constant.

Parameters
locationThe current location.
valueThe object value.
Returns
A reference to the requested value.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateFloatAsIntCast ( Location  location,
Value  node 
)

Creates a float as int reinterpret bit cast.

Parameters
locationThe current location.
nodeThe operand.
Returns
A node that represents the cast operation.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateGetArrayElement ( Location  location,
Value  arrayValue,
Value  index 
)

Creates a load operation of an array element.

Parameters
locationThe current location.
arrayValueThe array value.
indexThe field index to load.
Returns
A reference to the requested value.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateGetArrayExtent ( Location  location,
Value  arrayValue 
)

Creates an operation to extract the extent from an array value.

Parameters
locationThe current location.
arrayValueThe array value.
Returns
A reference to the requested value.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateGetArrayLength ( Location  location,
Value  arrayValue 
)

Creates a value reference that represents an array length.

Parameters
locationThe current location.
arrayValueThe array value to compute the length for.
Returns
The created value reference.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateGetField ( Location  location,
Value  objectValue,
FieldSpan  fieldSpan 
)

Creates a load operation of an object field.

Parameters
locationThe current location.
objectValueThe object value.
fieldSpanThe field span.
Returns
A reference to the requested value.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateGetViewLength ( Location  location,
Value  view 
)

Creates a node that resolves the length of the given view.

Parameters
locationThe current location.
viewThe source view.
Returns
The created node.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateGetViewLongLength ( Location  location,
Value  view 
)

Creates a node that resolves the length of the given view.

Parameters
locationThe current location.
viewThe source view.
Returns
The created node.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateGridDimensionValue ( Location  location,
DeviceConstantDimension3D  dimension 
)

Creates a node that represents a Grid.Dimension property.

Parameters
locationThe current location.
dimensionThe constant dimension.
Returns
A reference to the requested value.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateGridIndexValue ( Location  location,
DeviceConstantDimension3D  dimension 
)

Creates a node that represents a Grid.Index property.

Parameters
locationThe current location.
dimensionThe constant dimension.
Returns
A reference to the requested value.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateGroupDimensionValue ( Location  location,
DeviceConstantDimension3D  dimension 
)

Creates a node that represents of a Group.Dimension property.

Parameters
locationThe current location.
dimensionThe constant dimension.
Returns
A reference to the requested value.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateGroupIndexValue ( Location  location,
DeviceConstantDimension3D  dimension 
)

Creates a node that represents a Group.Index property.

Parameters
locationThe current location.
dimensionThe constant dimension.
Returns
A reference to the requested value.
Branch ILGPU.IR.Construction.IRBuilder.CreateIfBranch ( Location  location,
Value  condition,
BasicBlock  trueTarget,
BasicBlock  falseTarget 
)

Creates a new conditional branch.

Parameters
locationThe current location.
conditionThe branch condition.
trueTargetThe true target block.
falseTargetThe false target block.
Returns
The created terminator.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateIfPredicate ( Location  location,
Value  condition,
Value  trueValue,
Value  falseValue 
)

Creates a conditional if predicate.

Parameters
locationThe current location.
conditionThe condition.
trueValueThe true value.
falseValueThe false value.
Returns
A node that represents the predicate operation.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateIndex ( Location  location,
ValueReference  dimension 
)

Creates a new index structure instance.

Parameters
locationThe current location.
dimensionThe dimension value.
Returns
The created index type.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateIntAsFloatCast ( Location  location,
Value  node 
)

Creates an int as float reinterpret bit cast.

Parameters
locationThe current location.
nodeThe operand.
Returns
A node that represents the cast operation.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateIntAsPointerCast ( Location  location,
Value  node 
)

Creates a cast operation that casts an integer value to a raw pointer.

Parameters
locationThe current location.
nodeThe operand.
Returns
A node that represents the cast operation.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateLaneIdxValue ( Location  location)

Creates a node that represents a Warp.LaneIdx property.

Parameters
locationThe current location.
Returns
A reference to the requested value.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateLoad ( Location  location,
Value  source 
)

Creates a load operation.

Parameters
locationThe current location.
sourceThe source address.
Returns
A node that represents the load operation.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateLoadElementAddress ( Location  location,
Value  source,
Value  elementIndex 
)

Computes the address of a single element in the scope of a view or a pointer.

Parameters
locationThe current location.
sourceThe source view.
elementIndexThe element index to load.
Returns
A node that represents the element address.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateLoadFieldAddress ( Location  location,
Value  source,
FieldSpan  fieldSpan 
)

Computes the address of a single field.

Parameters
locationThe current location.
sourceThe source.
fieldSpanThe associated field span (if any).
Returns
A node that represents the field address.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateLongSizeOf ( Location  location,
TypeNode  type 
)

Creates a node that represents the native size of the given type.

Parameters
locationThe current location.
typeThe type.
Returns
A reference to the requested value.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateMemoryBarrier ( Location  location,
MemoryBarrierKind  kind 
)

Creates a memory barrier.

Parameters
locationThe current location.
kindThe type of the memory barrier.
Returns
A node that represents the memory barrier.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateNewView ( Location  location,
Value  pointer,
Value  length 
)

Constructs a new view from a pointer and a length.

Parameters
locationThe current location.
pointerThe source pointer.
lengthThe length.
Returns
A node that represents the created view.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateNull ( Location  location,
TypeNode  type 
)

Creates a null value for the given type.

Parameters
locationThe current location.
typeThe target type.
Returns
The null reference.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateObjectValue ( Location  location,
object  instance 
)

Creates a new object value.

Parameters
locationThe current location.
instanceThe object value.
Returns
A reference to the requested value.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateOffsetOf ( Location  location,
TypeNode  type,
int  fieldIndex 
)

Creates a node that represents the native offset of the specified field index.

Parameters
locationThe current location.
typeThe type.
fieldIndexThe field index.
Returns
A reference to the requested value.
PhiValue.Builder ILGPU.IR.Construction.IRBuilder.CreatePhi ( Location  location,
TypeNode  type 
)

Creates a new phi node builder.

Parameters
locationThe current location.
typeThe given node type.
Returns
The created phi builder.
PhiValue.Builder ILGPU.IR.Construction.IRBuilder.CreatePhi ( Location  location,
TypeNode  type,
int  capacity 
)

Creates a new phi node builder.

Parameters
locationThe current location.
typeThe given node type.
capacityThe initial capacity.
Returns
The created phi builder.
abstract PhiValue ILGPU.IR.Construction.IRBuilder.CreatePhiValue ( PhiValue  phiValue)
protectedpure virtual

Creates an instantiated phi value.

Parameters
phiValueThe phi value to create.
Returns
The created node.

Implemented in ILGPU.IR.BasicBlock.Builder.

ValueReference ILGPU.IR.Construction.IRBuilder.CreatePointerCast ( Location  location,
Value  node,
TypeNode  targetElementType 
)

Creates a cast operation that casts the element type of a pointer but does not change its address space.

Parameters
locationThe current location.
nodeThe operand.
targetElementTypeThe target element type.
Returns
A node that represents the cast operation.
PointerType ILGPU.IR.Construction.IRBuilder.CreatePointerType ( TypeNode  elementType,
MemoryAddressSpace  addressSpace 
)

Creates a pointer type.

Parameters
elementTypeThe pointer element type.
addressSpaceThe address space.
Returns
The created pointer type.

Implements ILGPU.IR.Types.IIRTypeContext.

ValueReference ILGPU.IR.Construction.IRBuilder.CreatePredicate ( Location  location,
Value  conditionOrValue,
ref ValueList  values 
)

Creates a conditional predicate.

Parameters
locationThe current location.
conditionOrValueThe condition or select value.
valuesThe list of condition/select values.
Returns
A node that represents the conditional predicate.
ValueReference ILGPU.IR.Construction.IRBuilder.CreatePrimitiveValue ( Location  location,
object  value 
)

Creates a new primitive constant.

Parameters
locationThe current location.
valueThe object value.
Returns
A reference to the requested value.
ValueReference ILGPU.IR.Construction.IRBuilder.CreatePrimitiveValue ( Location  location,
string @  string 
)

Creates a new string constant.

Parameters
locationThe current location.
stringThe string value.
Returns
A reference to the requested value.
PrimitiveValue ILGPU.IR.Construction.IRBuilder.CreatePrimitiveValue ( Location  location,
bool  value 
)

Creates a primitive bool value.

Parameters
locationThe current location.
valueThe value.
Returns
The created primitive value.
PrimitiveValue ILGPU.IR.Construction.IRBuilder.CreatePrimitiveValue ( Location  location,
sbyte  value 
)

Creates a primitive sbyte value.

Parameters
locationThe current location.
valueThe value.
Returns
The created primitive value.
PrimitiveValue ILGPU.IR.Construction.IRBuilder.CreatePrimitiveValue ( Location  location,
byte  value 
)

Creates a primitive byte value.

Parameters
locationThe current location.
valueThe value.
Returns
The created primitive value.
PrimitiveValue ILGPU.IR.Construction.IRBuilder.CreatePrimitiveValue ( Location  location,
short  value 
)

Creates a primitive short value.

Parameters
locationThe current location.
valueThe value.
Returns
The created primitive value.
PrimitiveValue ILGPU.IR.Construction.IRBuilder.CreatePrimitiveValue ( Location  location,
ushort  value 
)

Creates a primitive ushort value.

Parameters
locationThe current location.
valueThe value.
Returns
The created primitive value.
PrimitiveValue ILGPU.IR.Construction.IRBuilder.CreatePrimitiveValue ( Location  location,
int  value 
)

Creates a primitive int value.

Parameters
locationThe current location.
valueThe value.
Returns
The created primitive value.
PrimitiveValue ILGPU.IR.Construction.IRBuilder.CreatePrimitiveValue ( Location  location,
uint  value 
)

Creates a primitive uint value.

Parameters
locationThe current location.
valueThe value.
Returns
The created primitive value.
PrimitiveValue ILGPU.IR.Construction.IRBuilder.CreatePrimitiveValue ( Location  location,
long  value 
)

Creates a primitive long value.

Parameters
locationThe current location.
valueThe value.
Returns
The created primitive value.
PrimitiveValue ILGPU.IR.Construction.IRBuilder.CreatePrimitiveValue ( Location  location,
ulong  value 
)

Creates a primitive ulong value.

Parameters
locationThe current location.
valueThe value.
Returns
The created primitive value.
PrimitiveValue ILGPU.IR.Construction.IRBuilder.CreatePrimitiveValue ( Location  location,
Half  value 
)

Creates a primitive Half value.

Parameters
locationThe current location.
valueThe value.
Returns
The created primitive value.
PrimitiveValue ILGPU.IR.Construction.IRBuilder.CreatePrimitiveValue ( Location  location,
float  value 
)

Creates a primitive float value.

Parameters
locationThe current location.
valueThe value.
Returns
The created primitive value.
PrimitiveValue ILGPU.IR.Construction.IRBuilder.CreatePrimitiveValue ( Location  location,
double  value 
)

Creates a primitive double value.

Parameters
locationThe current location.
valueThe value.
Returns
The created primitive value.
PrimitiveValue ILGPU.IR.Construction.IRBuilder.CreatePrimitiveValue ( Location  location,
BasicValueType  type,
long  rawValue 
)

Creates a primitive value.

Parameters
locationThe current location.
typeThe value type.
rawValueThe raw value (sign-extended to long).
Returns
The created primitive value.
TerminatorValue ILGPU.IR.Construction.IRBuilder.CreateReturn ( Location  location)

Creates a new return terminator.

Parameters
locationThe current location.
Returns
The created terminator.
TerminatorValue ILGPU.IR.Construction.IRBuilder.CreateReturn ( Location  location,
Value  returnValue 
)

Creates a new return terminator.

Parameters
locationThe current location.
returnValueThe return value.
Returns
The created terminator.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateRuntimeHandle ( Location  location,
object  handle 
)

Creates a node that represents a managed runtime handle.

Parameters
locationThe current location.
handleThe runtime handle.
Returns
A reference to the requested value.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateSetArrayElement ( Location  location,
Value  arrayValue,
Value  index,
Value  value 
)

Creates a store operation of an array element.

Parameters
locationThe current location.
arrayValueThe array value.
indexThe array index to store.
valueThe array value to store.
Returns
A reference to the requested value.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateSetField ( Location  location,
Value  objectValue,
FieldSpan  fieldSpan,
Value  value 
)

Creates a store operation of an object field using the given field access.

Parameters
locationThe current location.
objectValueThe object value.
fieldSpanThe field span.
valueThe field value to store.
Returns
A reference to the requested value.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateShuffle ( Location  location,
Value  variable,
Value  origin,
ShuffleKind  kind 
)

Creates a new shuffle operation.

Parameters
locationThe current location.
variableThe variable.
originThe shuffle origin (depends on the operation).
kindThe operation kind.
Returns
A node that represents the shuffle operation.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateShuffle ( Location  location,
Value  variable,
Value  origin,
Value  width,
ShuffleKind  kind 
)

Creates a new sub-warp shuffle operation that operates on sub-groups of a warp.

Parameters
locationThe current location.
variableThe variable.
originThe shuffle origin (depends on the operation).
widthThe sub-warp width.
kindThe operation kind.
Returns
A node that represents the sub shuffle operation.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateSizeOf ( Location  location,
TypeNode  type 
)

Creates a node that represents the native size of the given type.

Parameters
locationThe current location.
typeThe type.
Returns
A reference to the requested value.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateStaticAllocaArray ( Location  location,
Value  arrayLength,
TypeNode  type,
MemoryAddressSpace  addressSpace 
)

Creates an array based local allocation.

Parameters
locationThe current location.
arrayLengthThe array length (number of elements to allocate).
typeThe type of the allocation.
addressSpaceThe target address space.
Returns
A node that represents the alloca operation.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateStore ( Location  location,
Value  target,
Value  value 
)

Creates a store operation.

Parameters
locationThe current location.
targetThe target address.
valueThe value to store.
Returns
A node that represents the store operation.
StructureValue.Builder ILGPU.IR.Construction.IRBuilder.CreateStructure ( Location  location,
StructureType  structureType 
)

Creates a new structure instance builder.

Parameters
locationThe current location.
structureTypeThe structure type.
Returns
The created structure instance builder.
StructureType.Builder ILGPU.IR.Construction.IRBuilder.CreateStructureType ( int  capacity)

Creates a new structure type builder with the given capacity.

Parameters
capacityThe initial capacity.
Returns
The created structure builder.

Implements ILGPU.IR.Types.IIRTypeContext.

ValueReference ILGPU.IR.Construction.IRBuilder.CreateSubViewValue ( Location  location,
Value  source,
Value  offset,
Value  length 
)

Computes a new sub view from a given view.

Parameters
locationThe current location.
sourceThe source.
offsetThe offset.
lengthThe length.
Returns
A node that represents the new sub view.
SwitchBranch.Builder ILGPU.IR.Construction.IRBuilder.CreateSwitchBranch ( Location  location,
Value  value 
)

Creates a switch terminator builder.

Parameters
locationThe current location.
valueThe selection value.
Returns
The created switch builder.
SwitchBranch.Builder ILGPU.IR.Construction.IRBuilder.CreateSwitchBranch ( Location  location,
Value  value,
int  capacity 
)

Creates a switch terminator builder.

Parameters
locationThe current location.
valueThe selection value.
capacityThe expected number of cases to append.
Returns
The created switch builder.
SwitchPredicate.Builder ILGPU.IR.Construction.IRBuilder.CreateSwitchPredicate ( Location  location,
Value  condition 
)

Creates a conditional switch predicate.

Parameters
locationThe current location.
conditionThe condition.
Returns
A node that represents the predicate operation.
SwitchPredicate.Builder ILGPU.IR.Construction.IRBuilder.CreateSwitchPredicate ( Location  location,
Value  condition,
int  capacity 
)

Creates a conditional switch predicate.

Parameters
locationThe current location.
conditionThe condition.
capacityThe initial case capacity.
Returns
A node that represents the predicate operation.
abstract T ILGPU.IR.Construction.IRBuilder.CreateTerminator< T > ( node)
protectedpure virtual

Creates an instantiated terminator.

Template Parameters
TThe terminator value type.
Parameters
nodeThe terminator to create.
Returns
The created node.

Implemented in ILGPU.IR.BasicBlock.Builder.

Type Constraints
T :TerminatorValue 
TypeNode ILGPU.IR.Construction.IRBuilder.CreateType ( Type  type)

Creates a new type based on a type from the .Net world.

Parameters
typeThe source type.
Returns
The IR type.

Implements ILGPU.IR.Types.IIRTypeContext.

TypeNode ILGPU.IR.Construction.IRBuilder.CreateType ( Type  type,
MemoryAddressSpace  addressSpace 
)

Creates a new type based on a type from the .Net world.

Parameters
typeThe source type.
addressSpaceThe address space for pointer types.
Returns
The IR type.

Implements ILGPU.IR.Types.IIRTypeContext.

ValueReference ILGPU.IR.Construction.IRBuilder.CreateUndefined ( )

Creates a node that represents an undefined value.

Returns
A reference to the requested value.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateValue ( Location  location,
object  value,
Type  type 
)

Creates a generic value.

Parameters
locationThe current location.
valueThe value.
typeThe value type.
Returns
The created value.
ValueReference ILGPU.IR.Construction.IRBuilder.CreateViewCast ( Location  location,
Value  node,
TypeNode  targetElementType 
)

Creates a view cast.

Parameters
locationThe current location.
nodeThe operand.
targetElementTypeThe target element type.
Returns
A node that represents the cast operation.
ViewType ILGPU.IR.Construction.IRBuilder.CreateViewType ( TypeNode  elementType,
MemoryAddressSpace  addressSpace 
)

Creates a view type.

Parameters
elementTypeThe view element type.
addressSpaceThe address space.
Returns
The created view type.

Implements ILGPU.IR.Types.IIRTypeContext.

ValueReference ILGPU.IR.Construction.IRBuilder.CreateWarpSizeValue ( Location  location)

Creates a node that represents a Warp.WarpSize property.

Parameters
locationThe current location.
Returns
A reference to the requested value.
Method ILGPU.IR.Construction.IRBuilder.DeclareMethod ( in MethodDeclaration  declaration,
out bool  created 
)

Declares a method.

Parameters
declarationThe method declaration.
createdTrue, if the method has been created.
Returns
The declared method.
string ILGPU.IR.Construction.IRBuilder.FormatErrorMessage ( string  message)

Formats an error message to include specific exception information.

Parameters
messageThe source error message.
Returns
The formatted error message.

Implements ILGPU.IR.ILocation.

TypeNode ILGPU.IR.Construction.IRBuilder.GetIndexType ( int  dimension)

Creates an intrinsic index type.

Parameters
dimensionThe dimension of the index type.
Returns
The created index type.

Implements ILGPU.IR.Types.IIRTypeContext.

PrimitiveType ILGPU.IR.Construction.IRBuilder.GetPrimitiveType ( BasicValueType  basicValueType)

Creates a primitive type.

Parameters
basicValueTypeThe basic value type.
Returns
The created primitive type.

Implements ILGPU.IR.Types.IIRTypeContext.

AddressSpaceType ILGPU.IR.Construction.IRBuilder.SpecializeAddressSpaceType ( AddressSpaceType  addressSpaceType,
MemoryAddressSpace  addressSpace 
)

Specializes the address space of the given AddressSpaceType.

Parameters
addressSpaceTypeThe source type.
addressSpaceThe new address space.
Returns
The created specialized AddressSpaceType.

Implements ILGPU.IR.Types.IIRTypeContext.

bool ILGPU.IR.Construction.IRBuilder.TrySpecializeAddressSpaceType ( TypeNode  type,
MemoryAddressSpace  addressSpace,
out TypeNode  specializedType 
)

Tries to specialize a view or a pointer address space.

Parameters
typeThe pointer or view type.
addressSpaceThe target address space.
specializedTypeThe specialized type.
Returns
True, if the type could be specialized.

Implements ILGPU.IR.Types.IIRTypeContext.

Member Data Documentation

Method ILGPU.IR.Construction.IRBuilder.Method => BasicBlock.Method

Returns the parent method.

StringType ILGPU.IR.Construction.IRBuilder.StringType => Context.StringType

Returns the string type.

VoidType ILGPU.IR.Construction.IRBuilder.VoidType => Context.VoidType

Returns the void type.

Property Documentation

BasicBlock ILGPU.IR.Construction.IRBuilder.BasicBlock
get

Returns the associated basic block.

IRContext ILGPU.IR.Construction.IRBuilder.Context
get

Returns the associated context.

bool ILGPU.IR.Construction.IRBuilder.UseConstantPropagation
get

True, if the IR builder should use constant propagation.


The documentation for this class was generated from the following files: