Make some profiling flags dynamic
[ghc-hetmet.git] / docs / users_guide / flags.xml
index b191a6c..aa84b81 100644 (file)
            </row>
            <row>
              <entry><option>-odir</option> <replaceable>dir</replaceable></entry>
-             <entry>set output directory</entry>
+             <entry>set directory for object files</entry>
              <entry>dynamic</entry>
              <entry>-</entry>
            </row>
              <entry>dynamic</entry>
              <entry>-</entry>
            </row>
+           <row>
+             <entry><option>-outputdir</option> <replaceable>dir</replaceable></entry>
+             <entry>set output directory</entry>
+             <entry>dynamic</entry>
+             <entry>-</entry>
+           </row>
          </tbody>
        </tgroup>
       </informaltable>
              <entry>dynamic</entry>
              <entry>-</entry>
            </row>
+           <row>
+             <entry><option>-fno-implicit-import-qualified</option></entry>
+             <entry><link linkend="ghci-import-qualified">Turn off
+             implicit qualified import of everything in GHCi</link></entry>
+             <entry>dynamic</entry>
+             <entry>-</entry>
+           </row>
 
          </tbody>
        </tgroup>
              <entry><option>-XNoArrows</option></entry>
            </row>
            <row>
-             <entry><option>-fdisambiguate-record-fields</option></entry>
+             <entry><option>-XDisambiguateRecordFields</option></entry>
              <entry>Enable <link linkend="disambiguate-fields">record 
              field disambiguation</link></entry>
              <entry>dynamic</entry>
-             <entry><option>-fno-disambiguate-record-fields</option></entry>
+             <entry><option>-XNoDisambiguateRecordFields</option></entry>
            </row>
            <row>
              <entry><option>-XForeignFunctionInterface</option></entry>
              <entry><option>-XNoTemplateHaskell</option></entry>
            </row>
            <row>
+             <entry><option>-XQuasiQuotes</option></entry>
+             <entry>Enable <link linkend="th-quasiquotation">quasiquotation</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoQuasiQuotes</option></entry>
+           </row>
+           <row>
              <entry><option>-XBangPatterns</option></entry>
              <entry>Enable <link linkend="bang-patterns">bang patterns</link>.</entry>
              <entry>dynamic</entry>
            </row>
            <row>
              <entry><option>-XMagicHash</option></entry>
-             <entry>Enable the &ldquo;magic hash&rdquo;.</entry>
+             <entry>Allow "#" as a <link linkend="magic-hash">postfix modifier on identifiers</link>.</entry>
              <entry>dynamic</entry>
              <entry><option>-XNoMagicHash</option></entry>
            </row>
            <row>
+             <entry><option>-XNewQualifiedOperators</option></entry>
+             <entry>Enable <link linkend="new-qualified-operators">new
+             qualified operator syntax</link></entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoNewQualifiedOperators</option></entry>
+           </row>
+           <row>
              <entry><option>-XPolymorphicComponents</option></entry>
              <entry>Enable <link linkend="universal-quantification">polymorphic components for data constructors</link>.</entry>
              <entry>dynamic</entry>
              <entry><option>-XNoRankNTypes</option></entry>
            </row>
            <row>
+             <entry><option>-XImpredicativeTypes</option></entry>
+             <entry>Enable <link linkend="impredicative-polymorphism">impredicative types</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoImpredicativeTypes</option></entry>
+           </row>
+           <row>
              <entry><option>-XExistentialQuantification</option></entry>
              <entry>Enable <link linkend="existential-quantification">existential quantification</link>.</entry>
              <entry>dynamic</entry>
              <entry><option>-XNoKindSignatures</option></entry>
            </row>
            <row>
-             <entry><option>-XPatternSignatures</option></entry>
-             <entry>Enable <link linkend="pattern-type-sigs">pattern type signatures</link>.</entry>
-             <entry>dynamic</entry>
-             <entry><option>-XNoPatternSignatures</option></entry>
-           </row>
-           <row>
              <entry><option>-XEmptyDataDecls</option></entry>
              <entry>Enable empty data declarations.</entry>
              <entry>dynamic</entry>
              <entry><option>-XNoParallelListComp</option></entry>
            </row>
            <row>
+             <entry><option>-XTransformListComp</option></entry>
+             <entry>Enable <link linkend="generalised-list-comprehensions">transform list comprehensions</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoTransformListComp</option></entry>
+           </row>
+           <row>
              <entry><option>-XUnliftedFFITypes</option></entry>
              <entry>Enable unlifted FFI types.</entry>
              <entry>dynamic</entry>
              <entry><option>-XNoRecordWildCards</option></entry>
            </row>
            <row>
-             <entry><option>-XRecordPuns</option></entry>
+             <entry><option>-XNamedFieldPuns</option></entry>
              <entry>Enable <link linkend="record-puns">record puns</link>.</entry>
              <entry>dynamic</entry>
-             <entry><option>-XNoRecordPuns</option></entry>
+             <entry><option>-XNoNamedFieldPuns</option></entry>
            </row>
            <row>
              <entry><option>-XDisambiguateRecordFields</option></entry>
            </row>
            <row>
              <entry><option>-XTypeSynonymInstances</option></entry>
-             <entry>Enable <link linkend="type-synonyms">type synonyms</link>.</entry>
+             <entry>Enable <link linkend="type-synonym-instances">type synonyms</link>.</entry>
              <entry>dynamic</entry>
              <entry><option>-XNoTypeSynonymInstances</option></entry>
            </row>
              <entry>dynamic</entry>
              <entry><option>-XNoFunctionalDependencies</option></entry>
            </row>
+           <row>
+             <entry><option>-XPackageImports</option></entry>
+             <entry>Enable <link linkend="package-imports">package-qualified imports</link>.</entry>
+             <entry>dynamic</entry>
+             <entry><option>-XNoPackageImports</option></entry>
+           </row>
          </tbody>
        </tgroup>
       </informaltable>
          </row>
 
          <row>
-           <entry><option>-fwarn-deprecations</option></entry>
-           <entry>warn about uses of functions &amp; types that are deprecated</entry>
+           <entry><option>-fwarn-warnings-deprecations</option></entry>
+           <entry>warn about uses of functions &amp; types that have warnings or deprecated pragmas</entry>
+           <entry>dynamic</entry>
+           <entry><option>-fno-warn-warnings-deprecations</option></entry>
+         </row>
+
+         <row>
+           <entry><option>-fwarn-deprecated-flags</option></entry>
+           <entry>warn about uses of commandline flags that are deprecated</entry>
            <entry>dynamic</entry>
-           <entry><option>-fno-warn-deprecations</option></entry>
+           <entry><option>-fno-warn-deprecated-flags</option></entry>
          </row>
 
          <row>
            </row>
 
            <row>
+             <entry><option>-fmethod-sharing</option></entry>
+             <entry>Share specialisations of overloaded functions (default)</entry>
+             <entry>dynamic</entry>
+             <entry><option>-fno-method-sharing</option></entry>
+           </row>
+
+           <row>
              <entry><option>-fdo-eta-reduction</option></entry>
              <entry>Enable eta-reduction. Implied by <option>-O</option>.</entry>
              <entry>dynamic</entry>
            </row>
 
            <row>
+             <entry><option>-fsimplifier-phases</option></entry>
+             <entry>Set the number of phases for the simplifier (default 2).
+              Ignored with <option>-O0</option>.</entry>
+             <entry>dynamic</entry>
+             <entry>-</entry>
+           </row>
+
+           <row>
              <entry><option>-fmax-simplifier-iterations</option></entry>
              <entry>Set the max iterations for the simplifier</entry>
              <entry>dynamic</entry>
            </row>
 
            <row>
+             <entry><option>-fspec-constr-threshold</option>=<replaceable>n</replaceable></entry>
+             <entry>Set the size threshold for the SpecConstr transformation to <replaceable>n</replaceable> (default: 200)</entry>
+             <entry>static</entry>
+             <entry><option>-fno-spec-constr-threshold</option></entry>
+           </row>
+
+           <row>
+             <entry><option>-fspec-constr-count</option>=<replaceable>n</replaceable></entry>
+             <entry>Set to <replaceable>n</replaceable> (default: 3) the maximum number of 
+               specialisations that will be created for any one function
+               by the SpecConstr transformation</entry>
+             <entry>static</entry>
+             <entry><option>-fno-spec-constr-count</option></entry>
+           </row>
+
+           <row>
              <entry><option>-fliberate-case</option></entry>
              <entry>Turn on the liberate-case transformation. Implied by <option>-O2</option>.</entry>
              <entry>dynamic</entry>
            </row>
 
            <row>
-             <entry><option>-fspec-threshold</option>=<replaceable>n</replaceable></entry>
-             <entry>Set the size threshold for function specialisation to <replaceable>n</replaceable>, for both
-               the liberate-case and SpecConstr transformations (default: 200)</entry>
+             <entry><option>-fstatic-argument-transformation</option></entry>
+             <entry>Turn on the static argument transformation. Implied by <option>-O2</option>.</entry>
+             <entry>dynamic</entry>
+             <entry>-fno-static-argument-transformation</entry>
+           </row>
+
+           <row>
+             <entry><option>-fliberate-case-threshold</option>=<replaceable>n</replaceable></entry>
+             <entry>Set the size threshold for the liberate-case transformation to <replaceable>n</replaceable> (default: 200)</entry>
              <entry>static</entry>
-             <entry><option>-</option></entry>
+             <entry><option>-fno-liberate-case-threshold</option></entry>
            </row>
 
            <row>
            </row>
 
            <row>
-             <entry><option>-funfolding-update-in-place</option></entry>
-             <entry>Tweak unfolding settings</entry>
-             <entry>static</entry>
-             <entry><option>-fno-unfolding-update-in-place</option></entry>
-           </row>
-
-           <row>
              <entry><option>-funfolding-use-threshold</option></entry>
              <entry>Tweak unfolding settings</entry>
              <entry>static</entry>
              <entry><option>-auto</option></entry>
              <entry>Auto-add <literal>_scc_</literal>s to all
              exported functions</entry>
-             <entry>static</entry>
+             <entry>dynamic</entry>
              <entry><option>-no-auto</option></entry>
            </row>
            <row>
              <entry><option>-auto-all</option></entry>
              <entry>Auto-add <literal>_scc_</literal>s to all
              top-level functions</entry>
-             <entry>static</entry>
+             <entry>dynamic</entry>
              <entry><option>-no-auto-all</option></entry>
            </row>
            <row>
              <entry><option>-caf-all</option></entry>
              <entry>Auto-add <literal>_scc_</literal>s to all CAFs</entry>
-             <entry>static</entry>
+             <entry>dynamic</entry>
              <entry><option>-no-caf-all</option></entry>
            </row>
            <row>
              <entry>-</entry>
            </row>
            <row>
-             <entry><option>-optdep</option> <replaceable>option</replaceable></entry>
-             <entry>pass <replaceable>option</replaceable> to the dependency generator</entry>
-             <entry>dynamic</entry>
-             <entry>-</entry>
-           </row>
-           <row>
              <entry><option>-optwindres</option> <replaceable>option</replaceable></entry>
              <entry>pass <replaceable>option</replaceable> to <literal>windres</literal>.</entry>
              <entry>dynamic</entry>
              <entry>-</entry>
            </row>
            <row>
+             <entry><option>-ddump-simpl-phases</option></entry>
+             <entry>Dump output from each simplifier phase</entry>
+             <entry>dynamic</entry>
+             <entry>-</entry>
+           </row>
+           <row>
              <entry><option>-ddump-simpl-iterations</option></entry>
              <entry>Dump output from each simplifier iteration</entry>
              <entry>dynamic</entry>
              <entry>-</entry>
            </row>
            <row>
+             <entry><option>-dno-debug-output</option></entry>
+             <entry>Suppress unsolicited debugging output</entry>
+             <entry>static</entry>
+             <entry>-</entry>
+           </row>
+           <row>
              <entry><option>-dppr-debug</option></entry>
              <entry>Turn on debug printing (more verbose)</entry>
              <entry>static</entry>
              <entry>-</entry>
            </row>
            <row>
+             <entry><option>-dsuppress-uniques</option></entry>
+             <entry>Suppress the printing of uniques in debug output (easier to use <command>diff</command>.</entry>
+             <entry>static</entry>
+             <entry>-</entry>
+           </row>
+           <row>
              <entry><option>-dppr-noprags</option></entry>
              <entry>Don't output pragma info in dumps</entry>
              <entry>static</entry>
              <entry>-</entry>
            </row>
            <row>
-             <entry><option>-fno-method-sharing</option></entry>
-             <entry>Don't share specialisations of overloaded functions</entry>
-             <entry>static</entry>
-             <entry>-</entry>
-           </row>
-           <row>
              <entry><option>-fhistory-size</option></entry>
              <entry>Set simplification history size</entry>
              <entry>static</entry>