Class LazyBlockReachability
A block reachability implementation that performs reachability analysis on an on-demand basis and caches the results.
Inherited Members
System.Object.ToString()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Namespace: Flame.Compiler.Analysis
Assembly: Flame.Compiler.dll
Syntax
public sealed class LazyBlockReachability : BlockReachability
Constructors
| Improve this Doc View SourceLazyBlockReachability(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
| Improve this Doc View SourceGraph
Gets the flow graph that is queried for reachability.
Declaration
public FlowGraph Graph { get; }
Property Value
Type | Description |
---|---|
FlowGraph | The flow graph. |
Methods
| Improve this Doc View SourceGetStrictlyReachableBlocks(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 |
---|---|
System.Collections.Generic.IEnumerable<BasicBlockTag> | A set of basic block tags referring to basic blocks that
are reachable from |
Overrides
| Improve this Doc View SourceIsStrictlyReachableFrom(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 |
---|---|
System.Boolean |
|