#2790: Use -fregs-graph by default
---------------------------------+------------------------------------------
Reporter: igloo | Owner: benl
Type: task | Status: new
Priority: high | Milestone: 6.14.1
Component: Compiler | Version: 6.8.3
Keywords: | Difficulty: Unknown
Os: Unknown/Multiple | Testcase:
Architecture: Unknown/Multiple | Failure: None/Unknown
---------------------------------+------------------------------------------
Comment(by benl):
I've pushed some patches that fix the breakage introduced in the previous
refactoring. With nofib on x86 I'm now getting:
{{{
Binary Sizes
-1 s.d. ----- -0.1%
+1 s.d. ----- +0.5%
Average ----- +0.2%
Elapsed Time
-1 s.d. ----- -2.1%
+1 s.d. ----- +1.6%
Average ----- -0.3%
}}}
This is to be expected as there is barely any register pressure in most
Haskell code.
Note that x86 processors do a CISC -> RISC instruction set translation in
hardware, and have register renaming etc. I'm not sure what improvement we
can realistically expect from improved register allocation on this
architecture. The only other NCG that currently works is the one for
SPARC, but it has more registers anyway, so the pressure will be lower.
Benchmarks that contain tight loops may show some improvement.
{{{
Elapsed times.
repa-fft2d +1.5%
repa-laplace -4.9%
dph-quickhull-seq -1.4%
dph-quickhull-par -0.6%
dpg-quickhull-vector -1.0%
}}}
I'll run the benchmarks from the vector library next.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/2790#comment:20>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs