Table of Contents
swighnflew - prepare a SUIF file for code generators
swighnflew [ options ] infile outfile
The swighnflew program does some transformations to the
SUIF file to make it use a lower-level subset of SUIF.
This allows code generators to accept only a simpler subset
of SUIF.
-branches-compares-only
Make sure that comparison instructions only occur
as operands of branch instructions. Any other comparisons
are turned into conditional branches to
code to set a variable.
- -no-struct-return
-
Change function calls that return structures into
function calls that return void and are instead
passed the result structure location as the first
argument.
- -mark-struct-alignment
-
Annotate structure or array copying instructions
and call sites that have structure or array parameters
with the alignment information for the type.
- -allow-fors
-
Don't complain about for loops. By default, this
code issues an error message if it finds a tree_for
node, because these nodes are expected to be dismantled
before the back-end, for which swighnflew
is intended to prepare the SUIF file.
- -mark-varargs va_start_name
-
Mark all procedures that use an io_gen instruction
with the name specified by va_start_name with a
uses varargs annotation on the proc_sym. The
intention is that va_start_name is a built-in function
which is used by the va_start() macro defined
in the target machine's <stdarg.h> and/or
<varargs.h> headers. This allows procedures to be
marked if they use either ANSI-style (<stdarg.h>)
or K&R style (<varargs.h>) variable argument mechanisms.
Some code generators need to know this when
they start processing a procedure body, so it's
convenient to put the annotation on here for such
code generators.
porky(1)
, oldsuif(1)
, mexp(1)
, mgen(1)
This program was written by Chris Wilson.
Table of Contents