Struct ValueUses
A mapping that describes where values are used.
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 ValueUses
Methods
| Improve this Doc View SourceGetFlowUses(ValueTag)
Gets the set of basic block tags for all basic blocks containing flows
that use tag
.
Declaration
public ImmutableHashSet<BasicBlockTag> GetFlowUses(ValueTag tag)
Parameters
Type | Name | Description |
---|---|---|
ValueTag | tag | The tag to examine. |
Returns
Type | Description |
---|---|
System.Collections.Immutable.ImmutableHashSet<BasicBlockTag> | A set of basic block tags for all basic blocks containing flows
that use |
GetInstructionUses(ValueTag)
Gets the set of all values that are defined by instructions
that take tag
as an argument.
Declaration
public ImmutableHashSet<ValueTag> GetInstructionUses(ValueTag tag)
Parameters
Type | Name | Description |
---|---|---|
ValueTag | tag | The tag to examine. |
Returns
Type | Description |
---|---|
System.Collections.Immutable.ImmutableHashSet<ValueTag> | A set of all value tags of instructions that use |
GetUseCount(ValueTag)
Gets the number of distinct instructions and block flows that use a particular tag.
Declaration
public int GetUseCount(ValueTag tag)
Parameters
Type | Name | Description |
---|---|---|
ValueTag | tag | The tag to find a use count for. |
Returns
Type | Description |
---|---|
System.Int32 | The number of distinct instructions and block flows
that use |
IsUsedOutsideOf(ValueTag, BasicBlock)
Tests if a value is used outside of a particular block.
Declaration
public bool IsUsedOutsideOf(ValueTag value, BasicBlock block)
Parameters
Type | Name | Description |
---|---|---|
ValueTag | value | The value to examine. |
BasicBlock | block | A basic block. |
Returns
Type | Description |
---|---|
System.Boolean |
|