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 cbsplit
.1</TITLE>
9 <A HREF=
"#toc">Table of Contents
</A><P>
11 <H2><A NAME=
"sect0" HREF=
"#toc0">Name
</A></H2>
14 cbsplit - split Fortran common blocks
16 <H2><A NAME=
"sect1" HREF=
"#toc1"><B>Synopsis
</B></A></H2>
19 <B>cbsplit
</B> <I>infile
</I> <I>outfile
</I> {
<I>infile
</I> <I>outfile
</I> }*
21 <H2><A NAME=
"sect2" HREF=
"#toc2"><B>Description
</B></A></H2>
24 The
<I>cbsplit
</I> program splits up Fortran common blocks into
25 pieces that are as small as possible, given the reshaping
26 in the program. This can in many cases lead to common
27 blocks which consist of only one field, in which case a
28 single global variable of the appropriate type can be
29 used. The idea is that some interprocedural analysis that
30 deals only with var_syms and can't handle the offsets and
31 overlapping of a common block will be able to do more
32 because more things will be in their own var_syms.
34 Note that to be correct, this pass must know how all the
35 functions in the entire program use their common blocks
36 before it can split anything. Hence if the program is in
37 multiple files, the files must be linked before this pass
38 is run and this pass should be run on all simultaneously.
40 <H2><A NAME=
"sect3" HREF=
"#toc3"><B>Options
</B></A></H2>
43 <B>-assume-no-reshape-communication
</B><BR>
45 Assume that if there is any reshaping of common
46 blocks, either through equivalences or different
47 shapes in different procedures, that there is no
48 communication from one shape to another. That is,
49 assume it is safe to make different shapes not
50 overlap one another at all. With this assumption,
51 every field of every common block is made into its
52 own independent global variable unless there is
53 some initialization data for the common block. If
54 the common block has initialization data, it is
55 handled as if this flag weren't used.
57 <H2><A NAME=
"sect4" HREF=
"#toc4"><B>See
</B> <B>Also
</B></A></H2>
60 <A HREF=
"man_sf2c.1.html">sf2c(
1)
</A>
61 ,
<A HREF=
"man_fixfortran.1.html">fixfortran(
1)
</A>
62 ,
<A HREF=
"man_suif.1.html">suif(
1)
</A>
65 <H2><A NAME=
"sect5" HREF=
"#toc5"><B>History
</B></A></H2>
68 This program was written by Chris Wilson.
72 <A NAME=
"toc"><B>Table of Contents
</B></A><P>
74 <LI><A NAME=
"toc0" HREF=
"#sect0">Name
</A></LI>
75 <LI><A NAME=
"toc1" HREF=
"#sect1">Synopsis
</A></LI>
76 <LI><A NAME=
"toc2" HREF=
"#sect2">Description
</A></LI>
77 <LI><A NAME=
"toc3" HREF=
"#sect3">Options
</A></LI>
78 <LI><A NAME=
"toc4" HREF=
"#sect4">See Also
</A></LI>
79 <LI><A NAME=
"toc5" HREF=
"#sect5">History
</A></LI>