## 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.libstipulate
package rkj = registerkinds_junk; # registerkinds_junk is from
src/lib/compiler/back/low/code/registerkinds-junk.pkgherein
# 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;