[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