[GHC] #13236: Improve floating for join points
GHC
ghc-devs at haskell.org
Fri Feb 17 15:36:59 UTC 2017
#13236: Improve floating for join points
-------------------------------------+-------------------------------------
Reporter: simonpj | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 8.0.1
Resolution: | Keywords: JoinPoints
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by simonpj):
Question 3. Here's a concrete example
{{{
f b x
= let j1 :: Integer -> Integer
j1 y = let j2 z = if b && z>0 then z+z+z+z+z else j2 (z-1)
in j2 y
in
if b then j1 x else j1 (x-1)
}}}
Currently `j2` does not float out of `j1`. I agree that it should.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13236#comment:4>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list