[GHC] #8036: Demand analyser is unpacking too deeply
GHC
ghc-devs at haskell.org
Thu Jul 4 10:20:10 CEST 2013
#8036: Demand analyser is unpacking too deeply
---------------------------------+------------------------------------------
Reporter: simonpj | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.6.3
Keywords: | Os: Unknown/Multiple
Architecture: Unknown/Multiple | Failure: None/Unknown
Difficulty: Unknown | Testcase:
Blockedby: | Blocking:
Related: |
---------------------------------+------------------------------------------
The demand analyser reports that fixpoint iterations are sometimes going
on forever; in particular, this debug trace trips:
{{{
| + = -- pprTrace "dmdFix loop" (ppr n <+> (vcat
| + -- [ text "Sigs:" <+> ppr [ (id,lookupVarEnv
| (sigEnv env) id,
| + -- lookupVarEnv
| (sigEnv env') id)
| + -- | (id,_) <- pairs],
| + -- text "env:" <+> ppr env,
| + -- text "binds:" <+> pprCoreBinding (Rec
}}}
This happens during bootsrapping GHC itself, and maybe somewhere in the
testsuite; I forget.
The reason is that I thought a neater way to control unpacking of
recursive products would work (see the `ae_rec_tc` field of `AnalEnv`) but
I was wrong.
This doesn't bite often but it's plainly wrong and needs fixing.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/8036>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list