Class MemorySSA
A mapping of instructions to memory SSA states.
Inheritance
Inherited Members
Namespace: Flame.Compiler.Analysis
Assembly: Flame.Compiler.dll
Syntax
public sealed class MemorySSA
Constructors
| Improve this Doc View SourceMemorySSA(ImmutableDictionary<BasicBlockTag, MemorySSA.Value>, ImmutableDictionary<ValueTag, MemorySSA.Value>)
Creates a memory SSA mapping.
Declaration
public MemorySSA(ImmutableDictionary<BasicBlockTag, MemorySSA.Value> blockValues, ImmutableDictionary<ValueTag, MemorySSA.Value> instructionValues)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Immutable.ImmutableDictionary<BasicBlockTag, MemorySSA.Value> | blockValues | A mapping of basic block entry points to memory states. |
System.Collections.Immutable.ImmutableDictionary<ValueTag, MemorySSA.Value> | instructionValues | A mapping of instructions to memory states. |
Properties
| Improve this Doc View SourceBlockValues
Gets the mapping of basic block entry points to memory states.
Declaration
public ImmutableDictionary<BasicBlockTag, MemorySSA.Value> BlockValues { get; }
Property Value
Type | Description |
---|---|
System.Collections.Immutable.ImmutableDictionary<BasicBlockTag, MemorySSA.Value> | An immutable dictionary. |
InstructionValues
Gets the mapping of instructions to memory states.
Declaration
public ImmutableDictionary<ValueTag, MemorySSA.Value> InstructionValues { get; }
Property Value
Type | Description |
---|---|
System.Collections.Immutable.ImmutableDictionary<ValueTag, MemorySSA.Value> | An immutable dictionary. |
Methods
| Improve this Doc View SourceGetMemoryAfter(NamedInstruction)
Gets the memory state after a particular instruction has executed.
Declaration
public MemorySSA.Value GetMemoryAfter(NamedInstruction instruction)
Parameters
Type | Name | Description |
---|---|---|
NamedInstruction | instruction | An instruction. |
Returns
Type | Description |
---|---|
MemorySSA.Value | A memory state. |
GetMemoryAfter(NamedInstructionBuilder)
Gets the memory state after a particular instruction has executed.
Declaration
public MemorySSA.Value GetMemoryAfter(NamedInstructionBuilder instruction)
Parameters
Type | Name | Description |
---|---|---|
NamedInstructionBuilder | instruction | An instruction. |
Returns
Type | Description |
---|---|
MemorySSA.Value | A memory state. |
GetMemoryAtEntry(BasicBlockTag)
Gets the memory state at the start of a particular basic block.
Declaration
public MemorySSA.Value GetMemoryAtEntry(BasicBlockTag block)
Parameters
Type | Name | Description |
---|---|---|
BasicBlockTag | block | A basic block. |
Returns
Type | Description |
---|---|
MemorySSA.Value | A memory state. |
GetMemoryBefore(NamedInstruction)
Gets the memory state before a particular instruction has executed.
Declaration
public MemorySSA.Value GetMemoryBefore(NamedInstruction instruction)
Parameters
Type | Name | Description |
---|---|---|
NamedInstruction | instruction | An instruction. |
Returns
Type | Description |
---|---|
MemorySSA.Value | A memory state. |
GetMemoryBefore(NamedInstructionBuilder)
Gets the memory state before a particular instruction has executed.
Declaration
public MemorySSA.Value GetMemoryBefore(NamedInstructionBuilder instruction)
Parameters
Type | Name | Description |
---|---|---|
NamedInstructionBuilder | instruction | An instruction. |
Returns
Type | Description |
---|---|
MemorySSA.Value | A memory state. |