Struct SelectedFlowInstructions<TInstruction>
A collection of selected instructions for block flow.
Inherited Members
Namespace: Flame.Compiler.Target
Assembly: Flame.Compiler.dll
Syntax
public struct SelectedFlowInstructions<TInstruction>
Type Parameters
Name | Description |
---|---|
TInstruction | The type of a target instruction. |
Constructors
| Improve this Doc View SourceSelectedFlowInstructions(IReadOnlyList<SelectedInstructions<TInstruction>>)
Creates an instruction selection for block flow.
Declaration
public SelectedFlowInstructions(IReadOnlyList<SelectedInstructions<TInstruction>> chunks)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.IReadOnlyList<SelectedInstructions<TInstruction>> | chunks | A sequence of instruction selection chunks. Every chunk represents an logical instruction that loads its dependencies in order and performs some action. |
Properties
| Improve this Doc View SourceChunks
Gets the sequence of instruction selection chunks that constitutes this instruction selection.
Declaration
public IReadOnlyList<SelectedInstructions<TInstruction>> Chunks { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IReadOnlyList<SelectedInstructions<TInstruction>> | A sequence of instruction selection chunks. Every chunk represents an logical instruction that loads its dependencies in order and performs some action. |
Dependencies
Gets the sequence of values these selected instructions depend on.
Declaration
public IEnumerable<ValueTag> Dependencies { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<ValueTag> | A sequence of values. |
Methods
| Improve this Doc View SourceAppend(TInstruction[])
Appends a sequence of instructions to these selected flow instructions, producing a new flow instruction selection.
Declaration
public SelectedFlowInstructions<TInstruction> Append(params TInstruction[] extraInstructions)
Parameters
Type | Name | Description |
---|---|---|
TInstruction[] | extraInstructions | Additional instructions to append. |
Returns
Type | Description |
---|---|
SelectedFlowInstructions<TInstruction> | A flow instruction selection. |
Append(IEnumerable<TInstruction>)
Appends a sequence of instructions to these selected flow instructions, producing a new flow instruction selection.
Declaration
public SelectedFlowInstructions<TInstruction> Append(IEnumerable<TInstruction> extraInstructions)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.IEnumerable<TInstruction> | extraInstructions | Additional instructions to append. |
Returns
Type | Description |
---|---|
SelectedFlowInstructions<TInstruction> | A flow instruction selection. |
Prepend(TInstruction[])
Prepends a sequence of instructions to these selected flow instructions, producing a new flow instruction selection.
Declaration
public SelectedFlowInstructions<TInstruction> Prepend(params TInstruction[] extraInstructions)
Parameters
Type | Name | Description |
---|---|---|
TInstruction[] | extraInstructions | Additional instructions to prepend. |
Returns
Type | Description |
---|---|
SelectedFlowInstructions<TInstruction> | A flow instruction selection. |
Prepend(IEnumerable<TInstruction>)
Prepends a sequence of instructions to these selected flow instructions, producing a new flow instruction selection.
Declaration
public SelectedFlowInstructions<TInstruction> Prepend(IEnumerable<TInstruction> extraInstructions)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.IEnumerable<TInstruction> | extraInstructions | Additional instructions to prepend. |
Returns
Type | Description |
---|---|
SelectedFlowInstructions<TInstruction> | A flow instruction selection. |