summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <bgamari.foss@gmail.com>2017-10-25 15:53:40 -0400
committerBen Gamari <ben@smart-cactus.org>2017-10-25 16:44:23 -0400
commit2c23fff2e03e77187dc4d01f325f5f43a0e7cad2 (patch)
treefc7b5386a0545333860b326d0c818684bcefdcd9
parent821adee12e89dbd0a52fde872b633e4e2e9051dc (diff)
downloadhaskell-2c23fff2e03e77187dc4d01f325f5f43a0e7cad2.tar.gz
user-guide: Clarify default optimization flags
Begins to fix #14214. [skip ci] Test Plan: Read it. Reviewers: austin Subscribers: rwbarton, thomie GHC Trac Issues: #14214 Differential Revision: https://phabricator.haskell.org/D4098
-rw-r--r--docs/users_guide/using-optimisation.rst13
1 files changed, 7 insertions, 6 deletions
diff --git a/docs/users_guide/using-optimisation.rst b/docs/users_guide/using-optimisation.rst
index 763c778872..ccf9ac50fb 100644
--- a/docs/users_guide/using-optimisation.rst
+++ b/docs/users_guide/using-optimisation.rst
@@ -52,7 +52,6 @@ So, for example, ``ghc -c Foo.hs``
.. ghc-flag:: -O0
:shortdesc: Disable optimisations (default)
:type: dynamic
- :reverse: -O
:category: optimization-levels
Means "turn off all optimisation", reverting to the same settings as
@@ -584,7 +583,7 @@ by saying ``-fno-wombat``.
:type: dynamic
:category:
- :default: off
+ :default: coercion optimisation enabled.
Turn off the coercion optimiser.
@@ -593,7 +592,7 @@ by saying ``-fno-wombat``.
:type: dynamic
:category:
- :default: off
+ :default: pre-inlining enabled
Turn off pre-inlining.
@@ -604,7 +603,7 @@ by saying ``-fno-wombat``.
:type: dynamic
:category:
- :default: off
+ :default: state hack is enabled
Turn off the "state hack" whereby any lambda with a ``State#`` token
as argument is considered to be single-entry, hence it is considered
@@ -617,7 +616,7 @@ by saying ``-fno-wombat``.
:reverse: -fno-omit-interface-pragmas
:category:
- :default: off
+ :default: Implied by :ghc-flag:`-O0`, otherwise off.
Tells GHC to omit all inessential information from the interface
file generated for the module being compiled (say M). This means
@@ -634,7 +633,7 @@ by saying ``-fno-wombat``.
:reverse: -fno-omit-yields
:category:
- :default: on
+ :default: yield points enabled
Tells GHC to omit heap checks when no allocation is
being performed. While this improves binary sizes by about 5%, it
@@ -652,6 +651,8 @@ by saying ``-fno-wombat``.
:reverse: -fno-pedantic-bottoms
:category:
+ :default: off
+
Make GHC be more precise about its treatment of bottom (but see also
:ghc-flag:`-fno-state-hack`). In particular, stop GHC eta-expanding through
a case expression, which is good for performance, but bad if you are