diff options
author | Ben Gamari <bgamari.foss@gmail.com> | 2016-06-20 09:24:41 +0200 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2016-06-30 20:02:23 +0200 |
commit | 6a5d13c4ade5bbb84873970065a1acd1546f6c31 (patch) | |
tree | 9a859adfa34b1807c45517933c09c11d11796b4d /docs/users_guide/using-optimisation.rst | |
parent | 430f5c84dac1eab550110d543831a70516b5cac8 (diff) | |
download | haskell-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.rst | 28 |
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> |