#7507: loop fusion not working for Int32, Int64 as it does for Int ?
------------------------------------+---------------------------------------
Reporter: j.waldmann | Owner:
Type: bug | Status: closed
Priority: normal | Milestone:
Component: Compiler | Version: 7.6.1
Resolution: fixed | Keywords:
Os: Linux | Architecture: x86_64 (amd64)
Failure: None/Unknown | Difficulty: Unknown
Testcase: perf/should_run/T7507 | Blockedby:
Blocking: | Related:
------------------------------------+---------------------------------------
Changes (by simonpj):
* status: new => closed
* difficulty: => Unknown
* resolution: => fixed
* testcase: => perf/should_run/T7507
Comment:
See also #4321. Fixed by this patch to `base`:
{{{
commit 06e36c63fce9aef5d3d8d9efeab14263333d48bf
Author: Simon Peyton Jones <[email protected]>
Date: Mon Dec 24 14:44:31 2012 +0000
Make sum and product INLINABLE
This was causing the bad behaviour in Trac #7507,
because 'sum' wasn't getting specialised to Int64.
It also deals with Trac #4321, which had the same cause.
This has a big effect on some nofib programs too:
--------------------------------------------------------------------------------
Program Allocs Runtime Elapsed TotalMem
------------------------------------------------------------------------
bernouilli -2.6% -2.0% -2.0% +0.0%
fft2 -23.8% 0.09 0.09 -16.7%
fluid -4.4% 0.01 0.01 +0.0%
hidden -3.2% +2.1% +1.8% +0.0%
integrate -38.0% -47.7% -47.7% -1.0%
x2n1 -30.2% 0.01 0.01 -50.0%
------------------------------------------------------------------------
Min -38.0% -47.7% -47.7% -50.0%
Max +0.4% +11.2% +11.8% +6.9%
Geometric Mean -1.3% +0.2% +0.2% -0.8%
Data/List.hs | 5 +++++
1 file changed, 5 insertions(+)
}}}
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7507#comment:2>
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