Struct RegisterAllocation<TRegister>
An allocation of values to registers.
Inherited Members
System.ValueType.Equals(System.Object)
System.ValueType.GetHashCode()
System.ValueType.ToString()
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetType()
Namespace: Flame.Compiler.Analysis
Assembly: Flame.Compiler.dll
Syntax
public struct RegisterAllocation<TRegister>
Type Parameters
Name | Description |
---|---|
TRegister | The type of register allocated to values. |
Constructors
| Improve this Doc View SourceRegisterAllocation(IReadOnlyDictionary<ValueTag, TRegister>)
Creates a register allocation container from a value-to-register map.
Declaration
public RegisterAllocation(IReadOnlyDictionary<ValueTag, TRegister> allocation)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.IReadOnlyDictionary<ValueTag, TRegister> | allocation |
Properties
| Improve this Doc View SourceAllocation
Gets a mapping of values to the registers they are allocated to.
Declaration
public IReadOnlyDictionary<ValueTag, TRegister> Allocation { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IReadOnlyDictionary<ValueTag, TRegister> | A mapping of values to registers. |
Methods
| Improve this Doc View SourceGetRegister(ValueTag)
Gets the register allocated to a particular value.
Declaration
public TRegister GetRegister(ValueTag value)
Parameters
Type | Name | Description |
---|---|---|
ValueTag | value | The value to find a register for. |
Returns
Type | Description |
---|---|
TRegister | A register. |