
#13233: typePrimRep panic while compiling GHC with profiling
-------------------------------------+-------------------------------------
Reporter: bgamari | Owner: bgamari
Type: bug | Status: new
Priority: highest | Milestone: 8.2.1
Component: Compiler | Version: 8.0.1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: Compile-time | Unknown/Multiple
crash or panic | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by bgamari):
Regarding comment:24,
Interesting. This is certainly the same panic, but the cause here is much
different. Previously we were falling victim to ticks getting put between
an unboxed tuple type constructor and its applied `RuntimeRep`s. In
contrast, here we are seeing a call to `runtimeRepPrimRep` while
generating code for,
{{{#!hs
Bug.baz
:: forall a_a2DY.
Bug.Foo a_a2DY =>
a_a2DY -> a_a2DY -> (# a_a2DY, a_a2DY #)
[GblId, Arity=1, Caf=NoCafRefs, Str=DmdType, Unf=OtherCon []]
Bug.baz =
\ (@ (rep_a2F2 :: GHC.Types.RuntimeRep))
(@ (a_a2F3 :: TYPE rep_a2F2))
($dFoo_s2P9 [Occ=Once] :: Bug.Foo a_a2F3) ->
let {
sat_s2Pa [Occ=Once] :: a_a2F3 -> a_a2F3 -> (# a_a2F3, a_a2F3 #)
[LclId, Str=DmdType]
sat_s2Pa =
\ (eta_B2 [Occ=Once] :: a_a2F3) (eta_B1 [Occ=Once] :: a_a2F3) ->
(# eta_B2, eta_B1 #) } in
($dFoo_s2P9
`cast` (Bug.N:Foo[0]