ILGPU  0.9.0
ILGPU.IR.Values.CompareValue Class Reference

Represents a comparison. More...

Inheritance diagram for ILGPU.IR.Values.CompareValue:
ILGPU.IR.Value ILGPU.IR.Node ILGPU.IR.IValue ILGPU.IR.INode ILGPU.IR.INode ILGPU.IR.ILocation ILGPU.IR.IDumpable ILGPU.IR.ILocation ILGPU.IR.IDumpable

Public Member Functions

override void Accept< T > (T visitor)
 
- Public Member Functions inherited from ILGPU.IR.Value
Use GetFirstUse ()
 Resolves the first use. More...
 
Value GetFirstUseNode ()
 Resolves the first use as value. More...
 
void Replace (Value other)
 Replaces this value with the given value. More...
 
Value Resolve ()
 Resolves the actual value with respect to replacement information. More...
 
ResolveAs< T > ()
 Resolves the actual value with respect to replacement information. More...
 
bool Equals (Value other)
 Returns true if the given value is the same value. More...
 
ReadOnlySpan< ValueReference >.Enumerator GetEnumerator ()
 Returns an enumerator to enumerate all child values. More...
 
sealed override string ToString ()
 Returns the string representation of this node. More...
 
override bool Equals (object obj)
 Returns true if the given object is equal to the current value. More...
 
override int GetHashCode ()
 Returns the hash code of this value. More...
 
- Public Member Functions inherited from ILGPU.IR.Node
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...
 

Static Public Member Functions

static CompareKind Invert (CompareKind kind)
 Inverts the given compare kind. More...
 
static bool IsCommutative (CompareKind kind)
 Returns true if the given kind is commutative. More...
 
static CompareKind InvertIfNonCommutative (CompareKind kind)
 Inverts the given compare kind if it is not commutative. More...
 

Public Attributes

override ValueKind ValueKind => ValueKind.Compare
 
ValueReference Left => this[0]
 Returns the left operand. More...
 
ValueReference Right => this[1]
 Returns the right operand. More...
 
bool IsUnsignedOrUnordered
 Returns true if the operation has enabled unsigned or unordered semantics. More...
 
ArithmeticBasicValueType CompareType
 Returns the comparison type. More...
 
- Public Attributes inherited from ILGPU.IR.Value
const ValueFlags DefaultFlags = ValueFlags.None
 The default value flags. More...
 
Method Method
 Returns the parent method. More...
 
BasicValueType BasicValueType
 Returns the associated basic value type. More...
 
bool CanBeReplaced
 Returns true if the current value can be replaced. More...
 
bool CanHaveUses
 Returns true if the current value can have uses. More...
 
bool HasStaticType
 Returns true if the current value has a static type. More...
 
bool IsSealed
 Returns true if the current value has been sealed. More...
 
bool IsReplaced => CanBeReplaced & Replacement != this
 Returns true if the current value has been replaced. More...
 
ReadOnlySpan< ValueReferenceNodes => values
 Returns all child values. More...
 
int Count => values.Count
 Returns the number of child values. More...
 
int AllNumUses => uses.Count
 Returns the total number of all associated uses. More...
 
UseCollection Uses => new UseCollection(this, uses)
 Returns all current uses (to non-replaced values). More...
 
ValueReference this[int index] => Nodes[index]
 Accesses the child value with the given index. More...
 

Protected Member Functions

override TypeNode ComputeType (in ValueInitializer initializer)
 
override string ToPrefixString ()
 
override string ToArgString ()
 
- Protected Member Functions inherited from ILGPU.IR.Value
 Value (in ValueInitializer initializer)
 Constructs a new value that is marked as replaceable. More...
 
 Value (in ValueInitializer initializer, TypeNode staticType)
 Constructs a new value that is marked as replaceable. More...
 
 Value (in ValueInitializer initializer, ValueFlags valueFlags)
 Constructs a new value that is marked as replaceable. More...
 
 Value (in ValueInitializer initializer, ValueFlags valueFlags, TypeNode staticType)
 Constructs a new value that is marked as replaceable. More...
 
void InvalidateType ()
 Invalidates the current type and enforces a re-computation of the current type. More...
 
void VerifyNotSealed ()
 Verifies that the this value is not sealed. More...
 
void Seal ()
 Seals this value. More...
 
void Seal (ValueReference value1)
 Seals this value. More...
 
void Seal (ValueReference value1, ValueReference value2)
 Seals this value. More...
 
void Seal (ValueReference value1, ValueReference value2, ValueReference value3)
 Seals this value. More...
 
void Seal (ref ValueList valueList)
 Seals this value. More...
 
- Protected Member Functions inherited from ILGPU.IR.Node
 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...
 

Properties

CompareKind Kind [get]
 Returns the kind of this compare node. More...
 
CompareFlags Flags [get]
 Returns the associated flags. More...
 
- Properties inherited from ILGPU.IR.Value
abstract ValueKind ValueKind [get]
 Returns the current value kind. More...
 
BasicBlock BasicBlock [get, set]
 Returns the parent basic block. More...
 
TypeNode Type [get]
 Returns the associated type. More...
 
ValueFlags ValueFlags [get]
 Returns the associated value flags. More...
 
Value Replacement [get]
 Returns the replacement of this value (if any). More...
 
- Properties inherited from ILGPU.IR.Node
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...
 
- Properties inherited from ILGPU.IR.IValue
ValueKind ValueKind [get]
 Returns the current value kind. More...
 
TypeNode Type [get]
 Returns the associated type information. More...
 
BasicBlock BasicBlock [get]
 Returns the parent basic block. More...
 
BasicValueType BasicValueType [get]
 Returns the associated basic value type. More...
 
ReadOnlySpan< ValueReferenceNodes [get]
 Returns all associated nodes. More...
 
UseCollection Uses [get]
 Returns all associated uses. More...
 

Detailed Description

Represents a comparison.

Member Function Documentation

override void ILGPU.IR.Values.CompareValue.Accept< T > ( visitor)
virtual

Implements ILGPU.IR.Value.

override TypeNode ILGPU.IR.Values.CompareValue.ComputeType ( in ValueInitializer  initializer)
protectedvirtual

Reimplemented from ILGPU.IR.Value.

static CompareKind ILGPU.IR.Values.CompareValue.Invert ( CompareKind  kind)
static

Inverts the given compare kind.

Parameters
kindThe compare kind to invert.
Returns
The inverted compare kind.
static CompareKind ILGPU.IR.Values.CompareValue.InvertIfNonCommutative ( CompareKind  kind)
static

Inverts the given compare kind if it is not commutative.

Parameters
kindThe compare kind to invert.
Returns
The inverted compare kind.
static bool ILGPU.IR.Values.CompareValue.IsCommutative ( CompareKind  kind)
static

Returns true if the given kind is commutative.

Parameters
kindThe compare kind.
Returns
True, if the given kind is commutative.
override string ILGPU.IR.Values.CompareValue.ToArgString ( )
protectedvirtual

Reimplemented from ILGPU.IR.Value.

override string ILGPU.IR.Values.CompareValue.ToPrefixString ( )
protectedvirtual

Implements ILGPU.IR.Node.

Member Data Documentation

ArithmeticBasicValueType ILGPU.IR.Values.CompareValue.CompareType
Initial value:
=>
Left.BasicValueType.GetArithmeticBasicValueType(IsUnsignedOrUnordered)

Returns the comparison type.

bool ILGPU.IR.Values.CompareValue.IsUnsignedOrUnordered
Initial value:
=>
(Flags & CompareFlags.UnsignedOrUnordered) ==
CompareFlags.UnsignedOrUnordered

Returns true if the operation has enabled unsigned or unordered semantics.

ValueReference ILGPU.IR.Values.CompareValue.Left => this[0]

Returns the left operand.

ValueReference ILGPU.IR.Values.CompareValue.Right => this[1]

Returns the right operand.

override ValueKind ILGPU.IR.Values.CompareValue.ValueKind => ValueKind.Compare

Property Documentation

CompareFlags ILGPU.IR.Values.CompareValue.Flags
get

Returns the associated flags.

CompareKind ILGPU.IR.Values.CompareValue.Kind
get

Returns the kind of this compare node.


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