ILGPU  0.9.0
ILGPU.IR.Node Class Referenceabstract

Represents a basic intermediate-representation node. It is the base class for all nodes in the scope of this IR. More...

Inheritance diagram for ILGPU.IR.Node:
ILGPU.IR.INode ILGPU.IR.ILocation ILGPU.IR.IDumpable ILGPU.IR.Types.TypeNode ILGPU.IR.Value ILGPU.IR.ValueParent ILGPU.IR.Types.AddressSpaceType ILGPU.IR.Types.HandleType ILGPU.IR.Types.ObjectType ILGPU.IR.Types.PrimitiveType ILGPU.IR.Types.StringType ILGPU.IR.Types.VoidType ILGPU.IR.Values.ArithmeticValue ILGPU.IR.Values.CastValue ILGPU.IR.Values.ClassValue ILGPU.IR.Values.CompareValue ILGPU.IR.Values.Conditional ILGPU.IR.Values.ConstantNode ILGPU.IR.Values.ConvertValue ILGPU.IR.Values.HandleValue ILGPU.IR.Values.LoadFieldAddress ILGPU.IR.Values.MemoryValue ILGPU.IR.Values.MethodCall ILGPU.IR.Values.NewView ILGPU.IR.Values.Parameter ILGPU.IR.Values.PhiValue ILGPU.IR.Values.PointerValue ILGPU.IR.Values.StructureOperationValue ILGPU.IR.Values.StructureValue ILGPU.IR.Values.TerminatorValue ILGPU.IR.Values.UndefinedValue ILGPU.IR.Values.ViewPropertyValue ILGPU.IR.BasicBlock ILGPU.IR.Method

Public Member Functions

virtual string FormatErrorMessage (string message)
 Formats an error message to include specific exception information. More...
 
virtual void Dump (TextWriter textWriter)
 Dumps this method to the given text writer. More...
 
string ToReferenceString ()
 Returns the string representation of this node as reference. More...
 
override string ToString ()
 Returns the string representation of this node. More...
 

Protected Member Functions

 Node (Location location)
 Constructs a new node that is marked as replaceable. More...
 
void InferLocation< T > (ReadOnlySpan< T > elements)
 Infers the location (if required) of the current node. More...
 
abstract string ToPrefixString ()
 Returns the prefix string (operation name) of this node. More...
 

Properties

Location Location [get]
 Returns the associated location. More...
 
NodeId Id [get]
 Returns the unique node id. More...
 
- Properties inherited from ILGPU.IR.INode
NodeId Id [get]
 Returns the unique node id. More...
 
Location Location [get]
 Returns the associated location. More...
 

Detailed Description

Represents a basic intermediate-representation node. It is the base class for all nodes in the scope of this IR.

Constructor & Destructor Documentation

ILGPU.IR.Node.Node ( Location  location)
protected

Constructs a new node that is marked as replaceable.

Parameters
locationThe current location.

Member Function Documentation

virtual void ILGPU.IR.Node.Dump ( TextWriter  textWriter)
virtual

Dumps this method to the given text writer.

Parameters
textWriterThe text writer.

Implements ILGPU.IR.IDumpable.

Reimplemented in ILGPU.IR.Method, and ILGPU.IR.BasicBlock.

virtual string ILGPU.IR.Node.FormatErrorMessage ( string  message)
virtual

Formats an error message to include specific exception information.

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

Implements ILGPU.IR.ILocation.

Reimplemented in ILGPU.IR.Types.TypeNode.

void ILGPU.IR.Node.InferLocation< T > ( ReadOnlySpan< T >  elements)
protected

Infers the location (if required) of the current node.

Template Parameters
TThe element type.
Parameters
elementsElements we can infer the location from.
Type Constraints
T :INode 
abstract string ILGPU.IR.Node.ToPrefixString ( )
protectedpure virtual

Returns the prefix string (operation name) of this node.

Returns
The prefix string.

Implemented in ILGPU.IR.Values.SetField, ILGPU.IR.Values.GetField, ILGPU.IR.Values.StructureValue, ILGPU.IR.Types.StructureType, ILGPU.IR.Values.BuilderTerminator, ILGPU.IR.Values.SwitchBranch, ILGPU.IR.Method, ILGPU.IR.Values.IntAsFloatCast, ILGPU.IR.Values.FloatAsIntCast, ILGPU.IR.BasicBlock, ILGPU.IR.Values.IfBranch, ILGPU.IR.Values.LaneIdxValue, ILGPU.IR.Values.TernaryArithmeticValue, ILGPU.IR.Values.ShuffleOperation, ILGPU.IR.Values.ViewCast, ILGPU.IR.Values.WarpSizeValue, ILGPU.IR.Values.PhiValue, ILGPU.IR.Values.Store, ILGPU.IR.Values.GroupDimensionValue, ILGPU.IR.Values.Broadcast, ILGPU.IR.Values.SetArrayElement, ILGPU.IR.Values.StringValue, ILGPU.IR.Values.UnconditionalBranch, ILGPU.IR.Values.AddressSpaceCast, ILGPU.IR.Values.LoadFieldAddress, ILGPU.IR.Values.SwitchPredicate, ILGPU.IR.Values.BinaryArithmeticValue, ILGPU.IR.Values.GridDimensionValue, ILGPU.IR.Values.Load, ILGPU.IR.Values.AtomicCAS, ILGPU.IR.Values.GetArrayElement, ILGPU.IR.Values.PrimitiveValue, ILGPU.IR.Values.GroupIndexValue, ILGPU.IR.Values.PointerCast, ILGPU.IR.Values.CompareValue, ILGPU.IR.Values.MemoryBarrier, ILGPU.IR.Values.ReturnTerminator, ILGPU.IR.Values.GetViewLength, ILGPU.IR.Values.LoadElementAddress, ILGPU.IR.Values.GetArrayExtent, ILGPU.IR.Values.GenericAtomic, ILGPU.IR.Values.UnaryArithmeticValue, ILGPU.IR.Values.GridIndexValue, ILGPU.IR.Types.ViewType, ILGPU.IR.Types.StringType, ILGPU.IR.Values.ConvertValue, ILGPU.IR.Values.MethodCall, ILGPU.IR.Types.PointerType, ILGPU.IR.Values.Alloca, ILGPU.IR.Values.PredicateBarrier, ILGPU.IR.Values.IfPredicate, ILGPU.IR.Types.PrimitiveType, ILGPU.IR.Values.SubViewValue, ILGPU.IR.Values.IntAsPointerCast, ILGPU.IR.Values.Parameter, ILGPU.IR.Values.DebugOperation, ILGPU.IR.Values.NewView, ILGPU.IR.Values.ArrayValue, ILGPU.IR.Values.NullValue, ILGPU.IR.Values.AcceleratorTypeValue, ILGPU.IR.Values.HandleValue, ILGPU.IR.Types.ArrayType, ILGPU.IR.Values.UndefinedValue, ILGPU.IR.Types.HandleType, ILGPU.IR.Types.VoidType, and ILGPU.IR.Values.BarrierOperation.

string ILGPU.IR.Node.ToReferenceString ( )

Returns the string representation of this node as reference.

Returns
The string representation of this node as reference.
override string ILGPU.IR.Node.ToString ( )

Returns the string representation of this node.

Returns
The string representation of this node.

Property Documentation

NodeId ILGPU.IR.Node.Id
get

Returns the unique node id.

Location ILGPU.IR.Node.Location
get

Returns the associated location.


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