diff options
Diffstat (limited to 'docs/users_guide/using-optimisation.rst')
-rw-r--r-- | docs/users_guide/using-optimisation.rst | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/docs/users_guide/using-optimisation.rst b/docs/users_guide/using-optimisation.rst index c75d5e6097..f492f87af8 100644 --- a/docs/users_guide/using-optimisation.rst +++ b/docs/users_guide/using-optimisation.rst @@ -813,6 +813,21 @@ as such you shouldn't need to set any of them explicitly. A flag Turn off the coercion optimiser. +.. ghc-flag:: -fkeep-dcoercions + :shortdesc: Keep directed coercions in the coercion optimiser + :type: dynamic + :category: + + :default: Don't keep directed coercions in the coercion optimiser. + + Keep directed coercions in the coercion optimiser, instead of turning + them into coercions. Only applies when coercion optimisation is enabled. + Turning this flag on will ensure that coercions borne from type family reduction + remain small, but it means the coercion optimiser is less able to optimise them. + If your program crucially relies on coercion optimisation + (i.e. enabling :ghc-flag:`-fno-opt-coercion` causes a significant regression in compile-time), + then you might want to NOT enable this flag. + .. ghc-flag:: -fno-pre-inlining :shortdesc: Turn off pre-inlining :type: dynamic |