1 <!-- manual page source format generated by PolyglotMan v3.0.7, -->
2 <!-- available via anonymous ftp from ftp.cs.berkeley.edu:/ucb/people/phelps/tcltk/rman.tar.Z -->
6 <TITLE>Man page for swighnflew
.1</TITLE>
9 <A HREF=
"#toc">Table of Contents
</A><P>
11 <H2><A NAME=
"sect0" HREF=
"#toc0">Name
</A></H2>
14 swighnflew - prepare a SUIF file for code generators
16 <H2><A NAME=
"sect1" HREF=
"#toc1"><B>Synopsis
</B></A></H2>
19 <B>swighnflew
</B> [
<I>options
</I> ]
<I>infile
</I> <I>outfile
</I>
21 <H2><A NAME=
"sect2" HREF=
"#toc2"><B>Description
</B></A></H2>
24 The
<I>swighnflew
</I> program does some transformations to the
25 SUIF file to make it use a lower-level subset of SUIF.
26 This allows code generators to accept only a simpler subset
29 <H2><A NAME=
"sect3" HREF=
"#toc3"><B>Options
</B></A></H2>
32 <B>-branches-compares-only
</B><BR>
34 Make sure that comparison instructions only occur
35 as operands of branch instructions. Any other comparisons
36 are turned into conditional branches to
37 code to set a variable.
41 <DT><B>-no-struct-return
</B></DT></DT>
43 Change function calls that return structures into
44 function calls that return void and are instead
45 passed the result structure location as the first
49 <DT><B>-mark-struct-alignment
</B></DT></DT>
51 Annotate structure or array copying instructions
52 and call sites that have structure or array parameters
53 with the alignment information for the type.
56 <DT><B>-allow-fors
</B></DT></DT>
58 Don't complain about for loops. By default, this
59 code issues an error message if it finds a tree_for
60 node, because these nodes are expected to be dismantled
61 before the back-end, for which
<I>swighnflew
</I>
62 is intended to prepare the SUIF file.
65 <DT><B>-mark-varargs
</B> <I>va
</I><B>_
</B><I>start
</I><B>_
</B><I>name
</I></DT></DT>
67 Mark all procedures that use an
<I>io
</I><B>_
</B><I>gen
</I> instruction
68 with the name specified by
<I>va
</I><B>_
</B><I>start
</I><B>_
</B><I>name
</I> with a
69 \x01uses varargs
\x02 annotation on the proc_sym. The
70 intention is that
<I>va
</I><B>_
</B><I>start
</I><B>_
</B><I>name
</I> is a built-in function
71 which is used by the va_start() macro defined
72 in the target machine's
<stdarg.h
> and/or
73 <varargs.h
> headers. This allows procedures to be
74 marked if they use either ANSI-style (
<stdarg.h
>)
75 or K
&R style (
<varargs.h
>) variable argument mechanisms.
76 Some code generators need to know this when
77 they start processing a procedure body, so it's
78 convenient to put the annotation on here for such
83 <H2><A NAME=
"sect4" HREF=
"#toc4"><B>See
</B> <B>Also
</B></A></H2>
86 <A HREF=
"man_porky.1.html">porky(
1)
</A>
87 ,
<A HREF=
"man_oldsuif.1.html">oldsuif(
1)
</A>
88 ,
<A HREF=
"man_mexp.1.html">mexp(
1)
</A>
89 ,
<A HREF=
"man_mgen.1.html">mgen(
1)
</A>
92 <H2><A NAME=
"sect5" HREF=
"#toc5"><B>History
</B></A></H2>
95 This program was written by Chris Wilson.
99 <A NAME=
"toc"><B>Table of Contents
</B></A><P>
101 <LI><A NAME=
"toc0" HREF=
"#sect0">Name
</A></LI>
102 <LI><A NAME=
"toc1" HREF=
"#sect1">Synopsis
</A></LI>
103 <LI><A NAME=
"toc2" HREF=
"#sect2">Description
</A></LI>
104 <LI><A NAME=
"toc3" HREF=
"#sect3">Options
</A></LI>
105 <LI><A NAME=
"toc4" HREF=
"#sect4">See Also
</A></LI>
106 <LI><A NAME=
"toc5" HREF=
"#sect5">History
</A></LI>