diff options
Diffstat (limited to 'docs/users_guide/using-optimisation.rst')
-rw-r--r-- | docs/users_guide/using-optimisation.rst | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/docs/users_guide/using-optimisation.rst b/docs/users_guide/using-optimisation.rst index 3fcac45e11..31d3a71431 100644 --- a/docs/users_guide/using-optimisation.rst +++ b/docs/users_guide/using-optimisation.rst @@ -343,7 +343,7 @@ by saying ``-fno-wombat``. seem cheap to the optimiser. .. ghc-flag:: -fdicts-strict - :shortdesc: Make dictionaries strict + :shortdesc: Make dictionaries strict. Implied by :ghc-flag:`-O2`. :type: dynamic :reverse: -fno-dicts-strict :category: @@ -352,6 +352,15 @@ by saying ``-fno-wombat``. Make dictionaries strict. + This enables WW to fire on dictionary constraints which usually results + in better runtime. In niche cases it can lead to significant compile time + regressions because of changed inlining behaviour. Rarely this can also affect + runtime negatively. + + If enabling this flag leads to regressions try increasing the unfolding + threshold using :ghc-flag:`-funfolding-use-threshold=⟨n⟩` by a modest amount (~30) + as this is likely a result of a known limitation described in `#18421`. + .. ghc-flag:: -fdmd-tx-dict-sel :shortdesc: *(deprecated)* Use a special demand transformer for dictionary selectors. :type: dynamic |