Search Results for

    Show / Hide Table of Contents

    Class LazyBlockReachability

    A block reachability implementation that performs reachability analysis on an on-demand basis and caches the results.

    Inheritance
    object
    BlockReachability
    LazyBlockReachability
    Inherited Members
    BlockReachability.IsReachableFrom(BasicBlockTag, BasicBlockTag)
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: Flame.Compiler.Analysis
    Assembly: Flame.Compiler.dll
    Syntax
    public sealed class LazyBlockReachability : BlockReachability

    Constructors

    | Edit this page View Source

    LazyBlockReachability(FlowGraph)

    Creates a lazy block reachability analysis for a particular graph.

    Declaration
    public LazyBlockReachability(FlowGraph graph)
    Parameters
    Type Name Description
    FlowGraph graph

    The graph to create a reachability analysis for.

    Properties

    | Edit this page View Source

    Graph

    Gets the flow graph that is queried for reachability.

    Declaration
    public FlowGraph Graph { get; }
    Property Value
    Type Description
    FlowGraph

    The flow graph.

    Methods

    | Edit this page View Source

    GetStrictlyReachableBlocks(BasicBlockTag)

    Gets the set of all basic blocks that are strictly reachable from a particular basic block.

    Declaration
    public override IEnumerable<BasicBlockTag> GetStrictlyReachableBlocks(BasicBlockTag source)
    Parameters
    Type Name Description
    BasicBlockTag source

    The source block to start at.

    Returns
    Type Description
    IEnumerable<BasicBlockTag>

    A set of basic block tags referring to basic blocks that are reachable from source.

    Overrides
    BlockReachability.GetStrictlyReachableBlocks(BasicBlockTag)
    | Edit this page View Source

    IsStrictlyReachableFrom(BasicBlockTag, BasicBlockTag)

    Tests if there exists a nonempty path through the control-flow graph that starts at source and ends at target.

    Declaration
    public override bool IsStrictlyReachableFrom(BasicBlockTag source, BasicBlockTag target)
    Parameters
    Type Name Description
    BasicBlockTag source

    The block tag of the start of the path.

    BasicBlockTag target

    The block tag of the end of the path.

    Returns
    Type Description
    bool

    true if there is such a path; otherwise, false.

    Overrides
    BlockReachability.IsStrictlyReachableFrom(BasicBlockTag, BasicBlockTag)
    • Edit this page
    • View Source
    In this article
    Back to top Generated by DocFX