Class LazyBlockReachabilityAnalysis
An analysis that finds computes block reachability information on an on-demand basis.
Implements
Inherited Members
Namespace: Flame.Compiler.Analysis
Assembly: Flame.Compiler.dll
Syntax
public sealed class LazyBlockReachabilityAnalysis : IFlowGraphAnalysis<LazyBlockReachability>
Fields
| Edit this page View SourceInstance
Gets an instance of the lazy block reachability analysis.
Declaration
public static readonly LazyBlockReachabilityAnalysis Instance
Field Value
| Type | Description |
|---|---|
| LazyBlockReachabilityAnalysis | An instance of the lazy block reachability analysis. |
Methods
| Edit this page View SourceAnalyze(FlowGraph)
Analyzes a flow graph from scratch.
Declaration
public LazyBlockReachability Analyze(FlowGraph graph)
Parameters
| Type | Name | Description |
|---|---|---|
| FlowGraph | graph | The flow graph to analyze. |
Returns
| Type | Description |
|---|---|
| LazyBlockReachability | The analysis' output. |
AnalyzeWithUpdates(FlowGraph, LazyBlockReachability, IReadOnlyList<FlowGraphUpdate>)
Analyzes a flow graph based on the flow graph, the previous result, and a list of updates that were applied to the graph since the previous result.
Declaration
public LazyBlockReachability AnalyzeWithUpdates(FlowGraph graph, LazyBlockReachability previousResult, IReadOnlyList<FlowGraphUpdate> updates)
Parameters
| Type | Name | Description |
|---|---|---|
| FlowGraph | graph | The current version of the flow graph to analyze. |
| LazyBlockReachability | previousResult | A previous result produced by this analysis. |
| IReadOnlyList<FlowGraphUpdate> | updates | A list of updates that were applied to the flow graph since the previous result was computed. |
Returns
| Type | Description |
|---|---|
| LazyBlockReachability | The analysis' output, which must be equal to a call to
|