#4874: Unnecessary reboxing when using INLINABLE
---------------------------------+------------------------------------------
Reporter: tibbe | Owner: igloo
Type: bug | Status: new
Priority: normal | Milestone: 7.0.3
Component: Compiler | Version: 7.0.1
Keywords: | Testcase:
Blockedby: | Difficulty:
Os: Unknown/Multiple | Blocking:
Architecture: Unknown/Multiple | Failure: None/Unknown
---------------------------------+------------------------------------------
Changes (by simonpj):
* owner: simonpj => igloo
Comment:
I've fixed this as described above.
{{{
Fri Jan 14 16:32:27 GMT 2011 [email protected]
* Fix Trac #4874: specialisation of INLINABLE things
Johan discovered that when INLINABLE things are specialised
bad things can happen. This patch implements a hack -- but
it's a simple hack and it solves the problem.
See Note [Inline specialisations].
The hack part is that really INLINABLE should not cause *any* loss
optimisation, and it does; see Note [Don't w/w INLINABLE things] in
WorkWrap.
M ./compiler/specialise/Specialise.lhs -18 +47
}}}
(Most of the new lines are comments!)
Ian, if you felt able to turn either of Johan's test cases into a
performance test, that'd be great. I don't think it's significant that
the test uses mutiple modules; I think they could be combined into one.
Simon
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4874#comment:6>
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