summaryrefslogtreecommitdiff
path: root/docs/users_guide/using-optimisation.rst
diff options
context:
space:
mode:
authorBen Gamari <bgamari.foss@gmail.com>2016-06-20 09:24:41 +0200
committerBen Gamari <ben@smart-cactus.org>2016-06-30 20:02:23 +0200
commit6a5d13c4ade5bbb84873970065a1acd1546f6c31 (patch)
tree9a859adfa34b1807c45517933c09c11d11796b4d /docs/users_guide/using-optimisation.rst
parent430f5c84dac1eab550110d543831a70516b5cac8 (diff)
downloadhaskell-6a5d13c4ade5bbb84873970065a1acd1546f6c31.tar.gz
nativeGen: Allow -fregs-graph to be used
Previously the flag was silently ignored due the #7679 and #8657. This, however, seems unnecessarily brutal and makes experimentation unduly difficult for users. Test Plan: Validate Reviewers: austin, simonmar Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2335 GHC Trac Issues: #7679, #8657
Diffstat (limited to 'docs/users_guide/using-optimisation.rst')
-rw-r--r--docs/users_guide/using-optimisation.rst28
1 files changed, 17 insertions, 11 deletions
diff --git a/docs/users_guide/using-optimisation.rst b/docs/users_guide/using-optimisation.rst
index 943651001a..6b58093513 100644
--- a/docs/users_guide/using-optimisation.rst
+++ b/docs/users_guide/using-optimisation.rst
@@ -419,20 +419,26 @@ list.
.. ghc-flag:: -fregs-graph
- *Off by default due to a performance regression bug. Only applies in
- combination with the native code generator.* Use the graph colouring
- register allocator for register allocation in the native code
- generator. By default, GHC uses a simpler, faster linear register
- allocator. The downside being that the linear register allocator
- usually generates worse code.
+ :default: off due to a performance regression bug (:ghc-ticket:`7679`)
+
+ *Only applies in combination with the native code generator.* Use the graph
+ colouring register allocator for register allocation in the native code
+ generator. By default, GHC uses a simpler, faster linear register allocator.
+ The downside being that the linear register allocator usually generates
+ worse code.
+
+ Note that the graph colouring allocator is a bit experimental and may fail
+ when faced with code with high register pressure :ghc-ticket:`8657`.
.. ghc-flag:: -fregs-iterative
- *Off by default, only applies in combination with the native code
- generator.* Use the iterative coalescing graph colouring register
- allocator for register allocation in the native code generator. This
- is the same register allocator as the ``-fregs-graph`` one but also
- enables iterative coalescing during register allocation.
+ :default: off
+
+ *Only applies in combination with the native code generator.* Use the
+ iterative coalescing graph colouring register allocator for register
+ allocation in the native code generator. This is the same register allocator
+ as the :ghc-flag:`-fregs-graph` one but also enables iterative coalescing
+ during register allocation.
.. ghc-flag:: -fsimplifier-phases=<n>