Commit ade1ae97 authored by tibbe's avatar tibbe
Browse files

Enable -funbox-small-strict-fields by default

The flag shows no real impact on nofib benchmarks and GHC itself,
which is expected given the small number of strict but not already
unpacked fields in the source of these programs. However, the flag
allows us to omit most of the UNPACK pragmas that are so common in
source code today.
parent d75ca39b
......@@ -2767,6 +2767,7 @@ optLevelFlags
, ([1,2], Opt_FullLaziness)
, ([1,2], Opt_Specialise)
, ([1,2], Opt_FloatIn)
, ([1,2], Opt_UnboxSmallStrictFields)
, ([2], Opt_LiberateCase)
, ([2], Opt_SpecConstr)
......
......@@ -1901,11 +1901,12 @@ f "2" = 2
<indexterm><primary>constructor fields, strict</primary></indexterm>
</term>
<listitem>
<para>This option causes all constructor fields which are
marked strict (i.e. &ldquo;!&rdquo;) and which
representation is smaller or equal to the size of a
pointer to be unpacked, if possible. It is equivalent to
adding an <literal>UNPACK</literal> pragma (see <xref
<para><emphasis>On by default.</emphasis>. This option
causes all constructor fields which are marked strict
(i.e. &ldquo;!&rdquo;) and which representation is smaller
or equal to the size of a pointer to be unpacked, if
possible. It is equivalent to adding an
<literal>UNPACK</literal> pragma (see <xref
linkend="unpack-pragma"/>) to every strict constructor
field that fulfils the size restriction.
</para>
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment