[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