Show / Hide Table of Contents

    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 Source

    GetFlowUses(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 tag.

    | Improve this Doc View Source

    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 tag.

    | Improve this Doc View Source

    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 tag.

    | Improve this Doc View Source

    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

    true if value is used in some block other than block; otherwise, false.

    • Improve this Doc
    • View Source
    Back to top Generated by DocFX