
#14152: Float exit paths out of recursive functions -------------------------------------+------------------------------------- Reporter: nomeata | Owner: (none) Type: task | Status: new 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): You could make two separate passes. Or one that (controlled by a flag) does either or both of loopification and exitification. Of course if it does both, it'd better do exitification to prior joinrecs and to the ones introduced by loopification My guess is that we'll want to do both at once, and do so once or at most twice in the pipeline. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14152#comment:15 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler