[commit: ghc] master: user-guide: Clarify default optimization flags (2c23fff)
git at git.haskell.org
git at git.haskell.org
Wed Oct 25 20:44:50 UTC 2017
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/2c23fff2e03e77187dc4d01f325f5f43a0e7cad2/ghc
>---------------------------------------------------------------
commit 2c23fff2e03e77187dc4d01f325f5f43a0e7cad2
Author: Ben Gamari <bgamari.foss at gmail.com>
Date: Wed Oct 25 15:53:40 2017 -0400
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
>---------------------------------------------------------------
2c23fff2e03e77187dc4d01f325f5f43a0e7cad2
docs/users_guide/using-optimisation.rst | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/docs/users_guide/using-optimisation.rst b/docs/users_guide/using-optimisation.rst
index 763c778..ccf9ac5 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
More information about the ghc-commits
mailing list