## client-pseudo-ops.api
#
# This is all about generating assembly-code
# pseudo-ops like ALIGN.
#
# I believe what is going on here is:
#
# o Base_Pseudo_Ops is functionality supported by MLRISC on all platforms.
# (Recall that MLRISC was intended to be a universal backend used on many compilers.)
#
# o Client_Pseudo_Ops is intended to support functionality supported by MLRISC
# on one particular compiler.
#
# o The actual Mythryl-specific version is Client_Pseudo_Ops_Mythryl:
#
src/lib/compiler/back/low/main/nextcode/client-pseudo-ops-mythryl.api#
# Since I'm trying to integrate the MLRSIC-derived backend lowhalf code
# cleanly into the rest of the compiler, these three APIs should probably be
# merged at some point -- 2011-06-14 CrT XXX SUCKO FIXME
# Compiled by:
#
src/lib/compiler/back/low/lib/lowhalf.lib# Client pseudo-ops. Must be all related to data and not code.
# This API gets 'include'-ed into
#
src/lib/compiler/back/low/main/nextcode/client-pseudo-ops-mythryl.api#
api Client_Pseudo_Ops {
#
package bpo: Base_Pseudo_Ops; # Base_Pseudo_Ops is from
src/lib/compiler/back/low/mcg/base-pseudo-ops.api Pseudo_Op;
put_pseudo_op
:
{ pseudo_op: Pseudo_Op,
loc: Int,
put_byte: one_byte_unt::Unt -> Void
}
->
Void;
pseudo_op_to_string: Pseudo_Op -> String;
current_pseudo_op_size_in_bytes: (Pseudo_Op, Int) -> Int;
adjust_labels: (Pseudo_Op, Int) -> Bool;
};
## COPYRIGHT (c) 2001 Bell Labs, Lucent Technologies
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.