[GHC] #11644: Core lint error in result of Specialise for TEST=T3220 WAY=optasm

GHC ghc-devs at haskell.org
Thu Mar 24 17:29:29 UTC 2016


#11644: Core lint error in result of Specialise for TEST=T3220 WAY=optasm
-------------------------------------+-------------------------------------
        Reporter:  thomie            |                Owner:
            Type:  bug               |               Status:  new
        Priority:  highest           |            Milestone:  8.0.1
       Component:  Compiler          |              Version:  8.0.1-rc2
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:  indexed-
                                     |  types/should_compile/T3220,
                                     |  indexed-
                                     |  types/should_compile/ColInference3
      Blocked By:                    |             Blocking:
 Related Tickets:  #11371, #11643    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by Simon Peyton Jones <simonpj@…>):

 In [changeset:"cb08f8da37ff5fb99e1d02b8afdcb802d23e9a8d/ghc"
 cb08f8da/ghc]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="cb08f8da37ff5fb99e1d02b8afdcb802d23e9a8d"
 Tidy up handling of coercion variables

 * Comments to explain that a CoVar, whose IdInfo is CoVarId,
   is always unlifted (but may be nominal or representational role)

   And TyCoRep.isCoercionType picks out only those unlifted
   types, NOT the lifted versions

 * Introduce Var.NcId for non-co-var Ids
   with predicate isNonCoVarId

 * Add assertions in CoreSubst that the Id env is only
   used for NcIds

 * Fix lurking bug in CSE which extended the
   CoreSubst Id env with a CoVar

 * Fix two bugs in Specialise.spec_call, which wrongly treated
   CoVars like NcIds
     - needed a varToCoreExpr in one place
     - needed extendSubst not extendIdSubst in another
   This was the root cause of Trac #11644

 Minor refactoring

 * Eliminate unused mkDerivedLocalCoVarM, mkUserLocalCoVar
 * Small refactor in mkSysLocalOrCoVar
 }}}

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


More information about the ghc-tickets mailing list