Class PredecessorAnalysis
An analysis that finds basic block predecessors.
Implements
Inherited Members
Namespace: Flame.Compiler.Analysis
Assembly: Flame.Compiler.dll
Syntax
public sealed class PredecessorAnalysis : IFlowGraphAnalysis<BasicBlockPredecessors>
Fields
| Edit this page View SourceInstance
An instance of the basic block predecessor analysis.
Declaration
public static readonly PredecessorAnalysis Instance
Field Value
| Type | Description |
|---|---|
| PredecessorAnalysis |
Methods
| Edit this page View SourceAnalyze(FlowGraph)
Analyzes a flow graph from scratch.
Declaration
public BasicBlockPredecessors Analyze(FlowGraph graph)
Parameters
| Type | Name | Description |
|---|---|---|
| FlowGraph | graph | The flow graph to analyze. |
Returns
| Type | Description |
|---|---|
| BasicBlockPredecessors | The analysis' output. |
AnalyzeWithUpdates(FlowGraph, BasicBlockPredecessors, 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 BasicBlockPredecessors AnalyzeWithUpdates(FlowGraph graph, BasicBlockPredecessors previousResult, IReadOnlyList<FlowGraphUpdate> updates)
Parameters
| Type | Name | Description |
|---|---|---|
| FlowGraph | graph | The current version of the flow graph to analyze. |
| BasicBlockPredecessors | 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 |
|---|---|
| BasicBlockPredecessors | The analysis' output, which must be equal to a call to
|