Class IntraproceduralOptimization
Describes an intraprocedural optimization: an optimization that considers a method implementation only and does not rely on the implementation of other methods.
Inheritance
System.Object
IntraproceduralOptimization
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.Transforms
Assembly: Flame.Compiler.dll
Syntax
public abstract class IntraproceduralOptimization : Optimization
Properties
| Improve this Doc View SourceIsCheckpoint
Tells if this optimization checkpoints its result. The optimizer takes care to always return the latest checkpointed method body is returned when a method's optimized method body is requested.
Declaration
public override bool IsCheckpoint { get; }
Property Value
Type | Description |
---|---|
System.Boolean | Tells if this optimization performs a checkpoint. |
Overrides
Methods
| Improve this Doc View SourceApply(FlowGraph)
Applies this intraprocedural optimization to a flow graph.
Declaration
public abstract FlowGraph Apply(FlowGraph graph)
Parameters
Type | Name | Description |
---|---|---|
FlowGraph | graph | The flow graph to transform. |
Returns
Type | Description |
---|---|
FlowGraph | A transformed flow graph. |
ApplyAsync(MethodBody, OptimizationState)
Applies the optimization to a method body.
Declaration
public override Task<MethodBody> ApplyAsync(MethodBody body, OptimizationState state)
Parameters
Type | Name | Description |
---|---|---|
MethodBody | body | A method body holder to optimize. |
OptimizationState | state | State associated with optimizations. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task<MethodBody> | A task that produces an optimized method body. |