[commit: ghc] ghc-8.0: Revert "nativeGen: Allow -fregs-graph to be used" (55dfd21)

git at git.haskell.org git at git.haskell.org
Tue Jan 3 17:45:55 UTC 2017


Repository : ssh://git@git.haskell.org/ghc

On branch  : ghc-8.0
Link       : http://ghc.haskell.org/trac/ghc/changeset/55dfd21e1969b4b8e40196ecf29e4c9c73273966/ghc

>---------------------------------------------------------------

commit 55dfd21e1969b4b8e40196ecf29e4c9c73273966
Author: Ben Gamari <ben at smart-cactus.org>
Date:   Fri Dec 23 17:34:49 2016 -0500

    Revert "nativeGen: Allow -fregs-graph to be used"
    
    This reverts commit 6a5d13c4ade5bbb84873970065a1acd1546f6c31 due to
    breakage on PPC AIX while compiling unordered-containers. See #13033.


>---------------------------------------------------------------

55dfd21e1969b4b8e40196ecf29e4c9c73273966
 compiler/nativeGen/AsmCodeGen.hs        |  6 ++++--
 docs/users_guide/using-optimisation.rst | 28 +++++++++++-----------------
 2 files changed, 15 insertions(+), 19 deletions(-)

diff --git a/compiler/nativeGen/AsmCodeGen.hs b/compiler/nativeGen/AsmCodeGen.hs
index 9e90c43..2285d94 100644
--- a/compiler/nativeGen/AsmCodeGen.hs
+++ b/compiler/nativeGen/AsmCodeGen.hs
@@ -538,8 +538,10 @@ cmmNativeGen dflags this_mod modLoc ncgImpl us fileIds dbgMap cmm count
 
         -- allocate registers
         (alloced, usAlloc, ppr_raStatsColor, ppr_raStatsLinear) <-
-         if ( gopt Opt_RegsGraph dflags
-           || gopt Opt_RegsIterative dflags )
+         if False
+           -- Disabled, see #7679, #8657
+           --  ( gopt Opt_RegsGraph dflags
+           --  || gopt Opt_RegsIterative dflags)
           then do
                 -- the regs usable for allocation
                 let (alloc_regs :: UniqFM (UniqSet RealReg))
diff --git a/docs/users_guide/using-optimisation.rst b/docs/users_guide/using-optimisation.rst
index 7047f4c..5e4995d 100644
--- a/docs/users_guide/using-optimisation.rst
+++ b/docs/users_guide/using-optimisation.rst
@@ -412,26 +412,20 @@ list.
 
 .. ghc-flag:: -fregs-graph
 
-    :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`.
+    *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.
 
 .. ghc-flag:: -fregs-iterative
 
-    :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.
+    *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.
 
 .. ghc-flag:: -fsimplifier-phases=<n>
 



More information about the ghc-commits mailing list