[GHC] #14152: Float exit paths out of recursive functions
GHC
ghc-devs at haskell.org
Fri Apr 6 08:16:33 UTC 2018
#14152: Float exit paths out of recursive functions
-------------------------------------+-------------------------------------
Reporter: nomeata | Owner: (none)
Type: task | Status: patch
Priority: normal | Milestone:
Component: Compiler | Version: 8.2.1
Resolution: | Keywords: JoinPoints
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: #14137 #10918 | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by simonpj):
What's this (in `Exitify`):
{{{
where
exit_id_tmpl = mkSysLocal (fsLit "exit") initExitJoinUnique ty
`asJoinId` join_arity
`setIdOccInfo` exit_occ_info
-- See Note [Do not inline exit join points]
exit_occ_info =
OneOcc { occ_in_lam = True
, occ_one_br = True
, occ_int_cxt = False
, occ_tail = AlwaysTailCalled join_arity }
}}}
The occurrence analyser sets occ-info. No one else should. What happens
if you leave this out?
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14152#comment:35>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list