[GHC] #8078: Core lint failure for profiled code
GHC
ghc-devs at haskell.org
Sun Jul 21 00:19:42 CEST 2013
#8078: Core lint failure for profiled code
-----------------------------------+---------------------------------------
Reporter: ezyang | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.7
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: Compile-time crash
Unknown/Multiple | Test Case: T4492
Difficulty: Unknown | Blocking:
Blocked By: |
Related Tickets: |
-----------------------------------+---------------------------------------
Probably related to the cardinality changes. Here is the dump:
=====> T4492(profasm) 3361 of 3686 [2, 51, 0]
cd ./indexed-types/should_compile && '/srv/code/ghc-build-
sandbox/inplace/bin/ghc-stage2' -fforce-recomp -dcore-lint -dcmm-lint
-dno-debug-output -no-user-package-db -rtsopts -fno-ghci-history -c
T4492.hs -O -prof -static -auto-all >T4492.comp.stderr 2>&1
Compile failed (status 256) errors were:
*** Core Lint errors : in result of CorePrep ***
{-# LINE 12 "T4492.hs #-}: Warning:
[RHS of T4492.$fCMaybe_$cgo :: forall a_aex.
T4492.C a_aex =>
forall b_ae0.
(forall a1_ae1. Data.Maybe.Maybe a1_ae1
-> b_ae0 -> a1_ae1)
-> Data.Maybe.Maybe a_aex
-> T4492.F (Data.Maybe.Maybe a_aex)
b_ae0]
Demand type has 4 arguments, rhs has 3 arguments, T4492.$fCMaybe_$cgo
Binder's strictness signature: DmdType
<C(C(S)),1*C1(C1(U))><L,U><L,U><L,U>
*** Offending Program ***
T4492.go [InlPrag=INLINE]
:: forall a_adZ.
T4492.C a_adZ =>
forall b_ae0.
(forall a_ae1. Data.Maybe.Maybe a_ae1 -> b_ae0 -> a_ae1)
-> a_adZ -> T4492.F a_adZ b_ae0
[GblId[ClassOp],
Arity=1,
Caf=NoCafRefs,
Str=DmdType <S,U>,
Unf=OtherCon []]
T4492.go =
\ (@ a_adZ) (tpl_sgH [Occ=Once] :: T4492.C a_adZ) ->
tpl_sgH
`cast` (T4492.NTCo:C[0] <a_adZ>
:: T4492.C a_adZ
~#
(forall b_ae0.
(forall a_ae1. Data.Maybe.Maybe a_ae1 -> b_ae0 -> a_ae1)
-> a_adZ -> T4492.F a_adZ b_ae0))
T4492.$fCMaybe1
:: forall a_aex.
T4492.C a_aex =>
forall b_afH.
(forall a1_ae1. Data.Maybe.Maybe a1_ae1 -> b_afH -> a1_ae1)
-> Data.Maybe.Maybe a_aex -> b_afH -> T4492.F a_aex b_afH
[GblId,
Arity=4,
Caf=NoCafRefs,
Str=DmdType <C(C(S)),1*C1(C1(U))><L,U><L,U><L,U>,
Unf=OtherCon []]
T4492.$fCMaybe1 =
\ (@ a_aex)
($dC_sgI [Occ=OnceL] :: T4492.C a_aex)
(@ b_afH)
(f_sgJ
:: forall a1_ae1. Data.Maybe.Maybe a1_ae1 -> b_afH -> a1_ae1)
(a1_sgK [Occ=OnceL] :: Data.Maybe.Maybe a_aex)
(b1_sgL [Occ=OnceL] :: b_afH) ->
scctick<go>
let {
sat_sgM [Occ=Once] :: a_aex
[LclId, Str=DmdType]
sat_sgM = f_sgJ @ a_aex a1_sgK b1_sgL } in
($dC_sgI
`cast` (T4492.NTCo:C[0] <a_aex>
:: T4492.C a_aex
~#
(forall b_ae0.
(forall a_ae1. Data.Maybe.Maybe a_ae1 -> b_ae0 -> a_ae1)
-> a_aex -> T4492.F a_aex b_ae0)))
@ b_afH f_sgJ sat_sgM
T4492.$fCMaybe_$cgo
:: forall a_aex.
T4492.C a_aex =>
forall b_ae0.
(forall a1_ae1. Data.Maybe.Maybe a1_ae1 -> b_ae0 -> a1_ae1)
-> Data.Maybe.Maybe a_aex -> T4492.F (Data.Maybe.Maybe a_aex) b_ae0
[GblId,
Arity=3,
Caf=NoCafRefs,
Str=DmdType <C(C(S)),1*C1(C1(U))><L,U><L,U><L,U>,
Unf=OtherCon []]
T4492.$fCMaybe_$cgo =
(\ (@ a_aex)
(eta_B3 [Occ=Once] :: T4492.C a_aex)
(@ b_afH)
(eta_B2 [Occ=Once]
:: forall a1_ae1. Data.Maybe.Maybe a1_ae1 -> b_afH -> a1_ae1)
(eta_B1 [Occ=Once] :: Data.Maybe.Maybe a_aex) ->
T4492.$fCMaybe1 @ a_aex eta_B3 @ b_afH eta_B2 eta_B1)
`cast` (forall a_aex.
<T4492.C a_aex>
-> forall b_afH.
<forall a1_ae1. Data.Maybe.Maybe a1_ae1 -> b_afH -> a1_ae1>
-> <Data.Maybe.Maybe a_aex>
-> Sym (T4492.TFCo:R:FMaybeb[0] <a_aex> <b_afH>)
:: (forall a_aex.
T4492.C a_aex =>
forall b_afH.
(forall a1_ae1. Data.Maybe.Maybe a1_ae1 -> b_afH -> a1_ae1)
-> Data.Maybe.Maybe a_aex -> b_afH -> T4492.F a_aex b_afH)
~#
(forall a_aex.
T4492.C a_aex =>
forall b_afH.
(forall a1_ae1. Data.Maybe.Maybe a1_ae1 -> b_afH -> a1_ae1)
-> Data.Maybe.Maybe a_aex
-> T4492.F (Data.Maybe.Maybe a_aex) b_afH))
T4492.$fCMaybe [InlPrag=INLINE (sat-args=0)]
:: forall a_aex. T4492.C a_aex => T4492.C (Data.Maybe.Maybe a_aex)
[GblId[DFunId(nt)],
Arity=3,
Caf=NoCafRefs,
Str=DmdType <C(C(S)),1*C1(C1(U))><L,U><L,U><L,U>,
Unf=OtherCon []]
T4492.$fCMaybe =
(\ (@ a_aex)
(eta_B3 [Occ=Once] :: T4492.C a_aex)
(@ b_afH)
(eta_B2 [Occ=Once]
:: forall a1_ae1. Data.Maybe.Maybe a1_ae1 -> b_afH -> a1_ae1)
(eta_B1 [Occ=Once] :: Data.Maybe.Maybe a_aex) ->
T4492.$fCMaybe1 @ a_aex eta_B3 @ b_afH eta_B2 eta_B1)
`cast` (forall a_aex.
<T4492.C a_aex>
-> (forall b_afH.
<forall a1_ae1. Data.Maybe.Maybe a1_ae1 -> b_afH -> a1_ae1>
-> <Data.Maybe.Maybe a_aex>
-> Sym (T4492.TFCo:R:FMaybeb[0] <a_aex> <b_afH>))
; Sym (T4492.NTCo:C[0] <Data.Maybe.Maybe a_aex>)
:: (forall a_aex.
T4492.C a_aex =>
forall b_afH.
(forall a1_ae1. Data.Maybe.Maybe a1_ae1 -> b_afH -> a1_ae1)
-> Data.Maybe.Maybe a_aex -> b_afH -> T4492.F a_aex b_afH)
~#
(forall a_aex. T4492.C a_aex => T4492.C (Data.Maybe.Maybe
a_aex)))
*** End of Offense ***
<no location info>:
Compilation had errors
*** unexpected failure for T4492(profasm)
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8078>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list