Class InstructionSimplification
An intraprocedural transform that greedily applies instruction simplifications.
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 sealed class InstructionSimplification : IntraproceduralOptimization
Fields
| Improve this Doc View SourceInstance
An instance of the instruction simplification transform.
Declaration
public static readonly InstructionSimplification Instance
Field Value
Type | Description |
---|---|
Instruction |
Methods
| Improve this Doc View SourceApply(FlowGraph)
Applies this intraprocedural optimization to a flow graph.
Declaration
public override FlowGraph Apply(FlowGraph graph)
Parameters
Type | Name | Description |
---|---|---|
Flow |
graph | The flow graph to transform. |
Returns
Type | Description |
---|---|
Flow |
A transformed flow graph. |
Overrides
| Improve this Doc View SourceCanAlwaysConvert(IType, IType)
Tells if a particular type can always be converted to another type,
that is, if a checked conversion from
to to
will never throw.
Declaration
public static bool CanAlwaysConvert(IType from, IType to)
Parameters
Type | Name | Description |
---|---|---|
IType | from | The type of the values to convert. |
IType | to | A target type to convert values to. |
Returns
Type | Description |
---|---|
System. |
|