Show / Hide Table of Contents

    Class FusedInstructionPrototype

    A prototype for a fused instruction: a special composite instruction that is entirely equivalent to a sequence of core instructions. Fused instructions are mostly useful for making back-ends emit better code.

    Inheritance
    System.Object
    InstructionPrototype
    FusedInstructionPrototype
    LoadFieldPrototype
    StoreFieldPrototype
    Inherited Members
    InstructionPrototype.ParameterCount
    InstructionPrototype.Map(MemberMapping)
    InstructionPrototype.Members
    InstructionPrototype.Instantiate(IReadOnlyList<ValueTag>)
    InstructionPrototype.IsPrototypeOf(Instruction)
    InstructionPrototype.AssertIsPrototypeOf(Instruction, String)
    InstructionPrototype.AssertIsPrototypeOf(Instruction)
    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.Instructions.Fused
    Assembly: Flame.Compiler.dll
    Syntax
    public abstract class FusedInstructionPrototype : InstructionPrototype

    Constructors

    | Improve this Doc View Source

    FusedInstructionPrototype()

    Creates a fused instruction prototype.

    Declaration
    public FusedInstructionPrototype()

    Properties

    | Improve this Doc View Source

    ResultType

    Gets the type of value produced instantiations of this prototype.

    Declaration
    public override sealed IType ResultType { get; }
    Property Value
    Type Description
    IType

    A type of value.

    Overrides
    InstructionPrototype.ResultType

    Methods

    | Improve this Doc View Source

    CheckConformance(Instruction, MethodBody)

    Checks if a particular instance of this prototype conforms to the rules for this instruction prototype.

    Declaration
    public override IReadOnlyList<string> CheckConformance(Instruction instance, MethodBody body)
    Parameters
    Type Name Description
    Instruction instance

    An instance of this prototype.

    MethodBody body

    The method body that defines the instruction.

    Returns
    Type Description
    System.Collections.Generic.IReadOnlyList<System.String>

    A list of conformance errors in the instruction.

    Overrides
    InstructionPrototype.CheckConformance(Instruction, MethodBody)
    | Improve this Doc View Source

    Expand(NamedInstructionBuilder)

    Expands this fused instruction to an equivalent nonempty sequence of core instructions. The instance itself must be replaced by another instruction. Instruction expansion must be formulaic: it cannot depend on the rest of the control-flow graph.

    Declaration
    public abstract void Expand(NamedInstructionBuilder instance)
    Parameters
    Type Name Description
    NamedInstructionBuilder instance

    An instance of this prototype to expand.

    • Improve this Doc
    • View Source
    Back to top Generated by DocFX