Search Results for

    Show / Hide Table of Contents

    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
    object
    Optimization
    IntraproceduralOptimization
    CanonicalizeArrayInit
    CanonicalizeDelegates
    ExpandLinq
    LowerBox
    LowerDelegates
    AllocaToRegister
    BlockFusion
    BoxToAlloca
    CallDevirtualization
    ConstantPropagation
    CopyPropagation
    DeadBlockElimination
    DeadValueElimination
    DuplicateReturns
    ForwardRegisters
    FuseMemoryAccesses
    GlobalValueNumbering
    InstructionReordering
    InstructionSimplification
    JumpThreading
    JumpToEntryRemoval
    MemoryAccessElimination
    PartialScalarReplacement
    ReassociateOperators
    ScalarReplacement
    SwitchLowering
    SwitchSimplification
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: Flame.Compiler.Transforms
    Assembly: Flame.Compiler.dll
    Syntax
    public abstract class IntraproceduralOptimization : Optimization

    Properties

    | Edit this page View Source

    IsCheckpoint

    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
    bool

    Tells if this optimization performs a checkpoint.

    Overrides
    Optimization.IsCheckpoint

    Methods

    | Edit this page View Source

    Apply(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.

    | Edit this page View Source

    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
    Task<MethodBody>

    A task that produces an optimized method body.

    Overrides
    Optimization.ApplyAsync(MethodBody, OptimizationState)
    • Edit this page
    • View Source
    In this article
    Back to top Generated by DocFX