Man page for mexp.1
Table of Contents

NAME

mexp - preprocessor for the MIPS code generator

SYNOPSIS

mexp [ -debugN ] infile [ outfile ]
mexp -ddebug

DESCRIPTION

The mexp program is an old-SUIF pass that must be run before the MIPS code generator. It has two functions. First, it massages the ucky ways that SUIF uses to describe some things (e.g. procedure calls returning structures) and make them more palatable to the code generator. Second, it encodes higher-level information (e.g. LOOP and IF structures) that the low-level schedulers would like to know into something that will not get lost during macro expansion or other backend phases. If the output file is not specified, mexp.sf is used.

The following items are massaged into MIPS-palatable SUIF:

Procedure calls returning structures
. The first parameter is explicitly assigned the return structure address.

The base/offset capability of paths is used
.

A "backend" annotation is added to first nomark mrk instruction
.

Floating-point "sne" instructions are converted to "seq" instruc
tions.

The "min" and "max" instructions are expanded
.

OPTIONS

-ddebug
Describe the actions of each debug level.

-debugN
Set the debug level to N, where N is between 0 and 9, inclusive. The default debug level is 0.

RESTRICTIONS

The procedures in the input SUIF file cannot contain FOR macros (AST nodes). The FOR loops should always be expanded before running mexp.

AUTHOR

Mike Smith

SEE ALSO

RsONS


Table of Contents