PreviousUpNext

15.3.149  src/lib/compiler/back/low/regor/register-allocator.api

## register-allocator.api
#
# This is the high-level register-allocator interface;
# For a lower-level interface see:
#
#     src/lib/compiler/back/low/regor/solve-register-allocation-problems.api

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

stipulate
    package pp  =  standard_prettyprinter;                                      # standard_prettyprinter                        is from   src/lib/prettyprint/big/src/standard-prettyprinter.pkg
    package cv  =  compiler_verbosity;                                          # compiler_verbosity                            is from   src/lib/compiler/front/basics/main/compiler-verbosity.pkg
herein

    # This api is implemented (only) in:
    #
    #     src/lib/compiler/back/low/intel32/regor/regor-intel32-g.pkg
    #     src/lib/compiler/back/low/regor/regor-risc-g.pkg
    #
    api Register_Allocator {
        #
        package mcg:  Machcode_Controlflow_Graph;                               # Machcode_Controlflow_Graph                    is from   src/lib/compiler/back/low/mcg/machcode-controlflow-graph.api

        allocate_registers
            :
            (pp::Npp, cv::Compiler_Verbosity)                                   # Null_Or(Prettyprinter)
            ->
            mcg::Machcode_Controlflow_Graph
            ->
            mcg::Machcode_Controlflow_Graph;
    }; 
end;


## COPYRIGHT (c) 2001 Bell Labs, Lucent Technologies
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext