[GHC] #8091: retry# lacks strictness information
GHC
ghc-devs at haskell.org
Thu Jul 25 13:01:19 CEST 2013
#8091: retry# lacks strictness information
-------------------------------------+------------------------------------
Reporter: parcs | Owner:
Type: bug | Status: patch
Priority: normal | Milestone:
Component: Compiler | Version: 7.6.3
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: Unknown/Multiple
Type of failure: None/Unknown | Difficulty: Unknown
Test Case: | Blocked By:
Blocking: | Related Tickets:
-------------------------------------+------------------------------------
Comment (by parcs):
To be clear, the form of dead code elimination that this change enables is
replacing
{{{
#!haskell
case retry# s1 of
(# s2, a #) -> ...inaccessible..
}}}
with simply
{{{
#!haskell
retry# s1
}}}
Such Core can appear after performing case-of-case on code like
{{{
#!haskell
s <- readTVar v
when (s > 0) retry
...
}}}
where everything after the `when` statement might get inlined under the
scrutinization of `retry`.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8091#comment:4>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list