PreviousUpNext

15.3.189  src/lib/compiler/back/low/treecode/rtl-props.api

## rtl-props.api
#
# Interface of rtl info extraction from instructions.
# The code matching this interface is automatically generated by the ADL tool.

# Compiled by:
#     src/lib/compiler/back/low/lib/rtl.lib


stipulate
    package rkj =  registerkinds_junk;                                  # registerkinds_junk    is from   src/lib/compiler/back/low/code/registerkinds-junk.pkg
herein

    # This api is currently nowhere referenced:
    #
    api Rtl_Properties {
        #
        package mcf:    Machcode_Form;                                  # Machcode_Form         is from   src/lib/compiler/back/low/code/machcode-form.api
        package rtl:    Treecode_Rtl;                                   # Treecode_Rtl          is from   src/lib/compiler/back/low/treecode/treecode-rtl.api
        package ot:     Operand_Table;                                  # Operand_Table         is from   src/lib/compiler/back/low/treecode/operand-table.api

        sharing ot::mcf == mcf;

        Value
          = CELL    rkj::Codetemp_Info                                  # A single value.
          | OPERAND mcf::Operand                                        # A complex operand.
          ;


        rtl:  mcf::Machine_Op -> rtl::Rtl;
            #
            # Return the RTL describing the semantics of an instruction 
            # The rtl returned is in lambda-lifted form, i.e. it contains
            # references to PARAM n, which refers to the nth input or output parameter.


        def_use:  ot::Value_Number_Methods
               -> mcf::Machine_Op
               -> (List(Value), List(Value));
            #
            # Return the input/ouput parameters of an instruction. 
            # The input/output matches positionally with the info returned by
            # the function rtl.
    };
end;


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext