[GHC] #14117: stg-lint fails on unlifted-type join point binding

GHC ghc-devs at haskell.org
Tue Aug 15 16:28:03 UTC 2017


#14117: stg-lint fails on unlifted-type join point binding
-------------------------------------+-------------------------------------
           Reporter:  bgamari        |             Owner:  (none)
               Type:  bug            |            Status:  new
           Priority:  normal         |         Milestone:
          Component:  Compiler       |           Version:  8.2.1
           Keywords:                 |  Operating System:  Unknown/Multiple
       Architecture:                 |   Type of failure:  None/Unknown
  Unknown/Multiple                   |
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 While validating GHC with `BuildFlavour=devel2` and `-dstg-lint` I found
 that the linter chokes when it finds a join point of unlifted type (like
 this one from the `Binary` module),
 {{{
 ghc-stage1: panic! (the 'impossible' happened)
   (GHC version 8.3.20170815 for x86_64-unknown-linux):
           *** Stg Lint ErrMsgs: in Stg2Stg ***
   <no location info>: warning:
        [RHS of $j_sDSL :: (# State# RealWorld, () #)]
       Let(rec) binder ‘$j_sDSL’ has unlifted type ‘(# State# RealWorld,
                                                       () #)’
       RHS: \r []
                src<compiler/utils/Binary.hs:516:9-17>
                src<compiler/utils/Binary.hs:(516,21)-(518,26)>
                src<compiler/utils/Binary.hs:260:1-45>
                src<compiler/utils/Binary.hs:(239,1)-(246,34)>
                case readIntArray# [ww_sDSF 0# w1_sDSJ] of {
 ...
 }}}

 If I'm not mistaken there is no problem with join points having unlifted
 type (see `Note [CoreSyn let/app invariant]`). We just need to update the
 STG linter appropriately.

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14117>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list