[GHC] #5889: -fno-prof-count-entries leads to linking errors
GHC
ghc-devs at haskell.org
Thu Nov 2 19:00:20 UTC 2017
#5889: -fno-prof-count-entries leads to linking errors
-------------------------------------+-------------------------------------
Reporter: akio | Owner: bgamari
Type: bug | Status: new
Priority: highest | Milestone: 8.4.1
Component: Compiler | Version: 8.3
Resolution: | Keywords:
Operating System: Linux | Architecture: x86_64
Type of failure: GHC rejects | (amd64)
valid program | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by bgamari):
Alright, I know what is going on here:
Look at the simplified Core of `Type.newTyConInstRhs`,
{{{
newTyConInstRhs :: TyCon -> [Type] -> Type
[GblId,
Arity=2,
Str=<S,1*U><S,U>,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=False)
Tmpl= \ (tycon_a9Sq [Occ=OnceL] :: TyCon)
(tys_a9Sr [Occ=OnceL] :: [Type]) ->
scc<newTyConInstRhs>
let {
ds_sofN :: ([TyVar], Type)
[LclId]
ds_sofN
= scc<newTyConInstRhs.(...)> newTyConEtadRhs
tycon_a9Sq } in
applyTysX
(scc<newTyConInstRhs.tvs>
case ds_sofN of { (tvs_ab8F [Occ=Once], _ [Occ=Dead])
->
tvs_ab8F
})
(scc<newTyConInstRhs.rhs>
case ds_sofN of { (_ [Occ=Dead], rhs_ab8H [Occ=Once])
->
rhs_ab8H
})
tys_a9Sr}]
newTyConInstRhs
= \ (tycon_a9Sq :: TyCon) (tys_a9Sr :: [Type]) ->
scc<newTyConInstRhs>
case scc<newTyConInstRhs.(...)> newTyConEtadRhs tycon_a9Sq of
{ (ww1_suMl, ww2_suMm) ->
applyTysX ww1_suMl ww2_suMm tys_a9Sr
}
}}}
Note how the unfolding contains references to two SCCs,
`newTyConInstRhs.tvs` and `newTyConInstRhs.rhs`, which do not appear in
the RHS. Indeed these were both present in the original desugared Core, so
it seems like the simplifier eliminated them. I'm not yet sure why it does
this, nor do I know why this is only triggered with `-fno-prof-count-
entries`.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/5889#comment:8>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list