(You were warned.)
</Para>
-<Sect2 id="replacing-phases">
-<Title>Replacing the program for one or more phases.
-</Title>
-
-<Para>
-<IndexTerm><Primary>GHC phases, changing</Primary></IndexTerm>
-<IndexTerm><Primary>phases, changing GHC</Primary></IndexTerm>
-You may specify that a different program be used for one of the phases
-of the compilation system, in place of whatever the driver <Command>ghc</Command> has
-wired into it. For example, you might want to try a different
-assembler. The
-<Option>-pgm<phase-code><program-name></Option><IndexTerm><Primary>-pgm<phase><stuff>
-option</Primary></IndexTerm> option to <Command>ghc</Command> will cause it to use <Literal><program-name></Literal>
-for phase <Literal><phase-code></Literal>, where the codes to indicate the phases are:
-</Para>
-
-<Para>
-<InformalTable>
-<TGroup Cols="2">
-<ColSpec Align="Left" Colsep="0">
-<ColSpec Align="Left" Colsep="0">
-<TBody>
-<Row>
-<Entry><Emphasis>code</Emphasis> </Entry>
-<Entry><Emphasis>phase</Emphasis> </Entry>
-</Row>
-
-<Row>
-<Entry>
-L </Entry>
-<Entry> literate pre-processor </Entry>
-</Row>
-<Row>
-<Entry>
-P </Entry>
-<Entry> C pre-processor (if -cpp only) </Entry>
-</Row>
-<Row>
-<Entry>
-C </Entry>
-<Entry> Haskell compiler </Entry>
-</Row>
-<Row>
-<Entry>
-c </Entry>
-<Entry> C compiler</Entry>
-</Row>
-<Row>
-<Entry>
-a </Entry>
-<Entry> assembler </Entry>
-</Row>
-<Row>
-<Entry>
-l </Entry>
-<Entry> linker </Entry>
-</Row>
-<Row>
-<Entry>
-dep </Entry>
-<Entry> Makefile dependency generator </Entry>
-</Row>
-
-</TBody>
-
-</TGroup>
-</InformalTable>
-</Para>
-
-</Sect2>
-
-<Sect2 id="forcing-options-through">
-<Title>Forcing options to a particular phase.
-</Title>
-
-<Para>
-<IndexTerm><Primary>forcing GHC-phase options</Primary></IndexTerm>
-</Para>
-
-<Para>
-The preceding sections describe driver options that are mostly
-applicable to one particular phase. You may also <Emphasis>force</Emphasis> a
-specific option <Option><option></Option> to be passed to a particular phase
-<Literal><phase-code></Literal> by feeding the driver the option
-<Option>-opt<phase-code><option></Option>.<IndexTerm><Primary>-opt<phase><stuff>
-option</Primary></IndexTerm> The codes to indicate the phases are the same as in the
-previous section.
-</Para>
-
-<Para>
-So, for example, to force an <Option>-Ewurble</Option> option to the assembler, you
-would tell the driver <Option>-opta-Ewurble</Option> (the dash before the E is
-required).
-</Para>
-
-<Para>
-Besides getting options to the Haskell compiler with <Option>-optC<blah></Option>,
-you can get options through to its runtime system with
-<Option>-optCrts<blah></Option><IndexTerm><Primary>-optCrts<blah> option</Primary></IndexTerm>.
-</Para>
-
-<Para>
-So, for example: when I want to use my normal driver but with my
-profiled compiler binary, I use this script:
-
-<ProgramListing>
-#! /bin/sh
-exec /local/grasp_tmp3/simonpj/ghc-BUILDS/working-alpha/ghc/driver/ghc \
- -pgmC/local/grasp_tmp3/simonpj/ghc-BUILDS/working-hsc-prof/hsc \
- -optCrts-i0.5 \
- -optCrts-PT \
- "$@"
-</ProgramListing>
-
-</Para>
-
-</Sect2>
<Sect2 id="dumping-output">
<Title>Dumping out compiler intermediate structures
</VarListEntry>
<VarListEntry>
-<Term><Option>-ddump-minimal-imports</Option>:</Term>
-<ListItem>
-<Para>
-Dump to the file "M.imports" (where M is the module being compiled)
-a "minimal" set of import declarations. You can safely replace
-all the import declarations in "M.hs" with those found in "M.imports".
-Why would you want to do that? Because the "minimal" imports (a) import
-everything explicitly, by name, and (b) import nothing that is not required.
-It can be quite painful to maintain this property by hand, so this flag is
-intended to reduce the labour.
-</Para>
-</ListItem>
-</VarListEntry>
-
-<VarListEntry>
-<Term><Option>-ddump-hi-diffs</Option>:</Term>
-<ListItem>
-<Para>
-Dump to stdout a summary of the differences between the existing interface file (if any)
-for this module, and the new one.
-</Para>
-</ListItem>
-</VarListEntry>
-
-<VarListEntry>
<Term><Option>-ddump-tc</Option>:</Term>
<ListItem>
<Para>