
I'm running into this in some code I wrote. What does it mean? It says to look at -fspec-constr-count, but that flag doesn't seem to be in the GHC documentation. This isn't critical; the code still seems to work fine. It just makes the build uglier. Thanks. Message below. SpecConstr: too many specialisations for one function (see -fspec-constr- count): Function: main:Expr.simplifyTerm{v rqC} [lid] Specialisations: [([sc_s2wb{v} [lid], sc_s2wc{v} [lid], sc_s2wd{v} [lid], sc_s2we{v} [lid], sc_s2wf{v} [lid], sc_s2wg{v} [lid]], [main:Expr.Graph{v r51} [gid] sc_s2wg{v} [lid] sc_s2wf{v} [lid] sc_s2we{v} [lid] sc_s2wd{v} [lid], base:GHC.Base.:{(w) v 65} [gid] @ main:Expr.Gen{tc r53} (main:Expr.Edge{v r4Q} [gid] sc_s2wc{v} [lid]) sc_s2wb{v} [lid]]), ([sc_s2wh{v} [lid], sc_s2wi{v} [lid], sc_s2wj{v} [lid], sc_s2wk{v} [lid], sc_s2wl{v} [lid], sc_s2wm{v} [lid]], [main:Expr.Graph{v r51} [gid] sc_s2wm{v} [lid] sc_s2wl{v} [lid] sc_s2wk{v} [lid] sc_s2wj{v} [lid], base:GHC.Base.:{(w) v 65} [gid] @ main:Expr.Gen{tc r53} (main:Expr.Ghost{v r4P} [gid] sc_s2wi{v} [lid]) sc_s2wh{v} [lid]]), ([sc_s2wR{v} [lid], sc_s2wS{v} [lid], sc_s2wT{v} [lid]], [sc_s2wT{v} [lid], base:GHC.Base.:{(w) v 65} [gid] @ main:Expr.Gen{tc r53} (main:Expr.Vertex{v r4R} [gid] sc_s2wS{v} [lid]) sc_s2wR{v} [lid]]), ([sc_s2wU{v} [lid], sc_s2wV{v} [lid], sc_s2wW{v} [lid]], [sc_s2wW{v} [lid], base:GHC.Base.:{(w) v 65} [gid] @ main:Expr.Gen{tc r53} (main:Expr.Vertex{v r4R} [gid] (base:GHC.Base.I#{(w) v 6d} [gid] sc_s2wV{v} [lid])) sc_s2wU{v} [lid]])]

Cool message -- forward it to Simon PJ to get more info. cdsmith:
I'm running into this in some code I wrote. What does it mean? It says to look at -fspec-constr-count, but that flag doesn't seem to be in the GHC documentation.
It's fairly new -- you can get explosions in the number of specialisations with Specconstr sometimes, and iirc this tunes that value.
This isn't critical; the code still seems to work fine. It just makes the build uglier.
Thanks. Message below.
SpecConstr: too many specialisations for one function (see -fspec-constr- count): Function: main:Expr.simplifyTerm{v rqC} [lid] Specialisations: [([sc_s2wb{v} [lid], sc_s2wc{v} [lid], sc_s2wd{v} [lid], sc_s2we{v} [lid], sc_s2wf{v} [lid], sc_s2wg{v} [lid]], [main:Expr.Graph{v r51} [gid] sc_s2wg{v} [lid] sc_s2wf{v} [lid] sc_s2we{v} [lid] sc_s2wd{v} [lid], base:GHC.Base.:{(w) v 65} [gid] @ main:Expr.Gen{tc r53} (main:Expr.Edge{v r4Q} [gid] sc_s2wc{v} [lid]) sc_s2wb{v} [lid]]), ([sc_s2wh{v} [lid], sc_s2wi{v} [lid], sc_s2wj{v} [lid], sc_s2wk{v} [lid], sc_s2wl{v} [lid], sc_s2wm{v} [lid]], [main:Expr.Graph{v r51} [gid] sc_s2wm{v} [lid] sc_s2wl{v} [lid] sc_s2wk{v} [lid] sc_s2wj{v} [lid], base:GHC.Base.:{(w) v 65} [gid] @ main:Expr.Gen{tc r53} (main:Expr.Ghost{v r4P} [gid] sc_s2wi{v} [lid]) sc_s2wh{v} [lid]]), ([sc_s2wR{v} [lid], sc_s2wS{v} [lid], sc_s2wT{v} [lid]], [sc_s2wT{v} [lid], base:GHC.Base.:{(w) v 65} [gid] @ main:Expr.Gen{tc r53} (main:Expr.Vertex{v r4R} [gid] sc_s2wS{v} [lid]) sc_s2wR{v} [lid]]), ([sc_s2wU{v} [lid], sc_s2wV{v} [lid], sc_s2wW{v} [lid]], [sc_s2wW{v} [lid], base:GHC.Base.:{(w) v 65} [gid] @ main:Expr.Gen{tc r53} (main:Expr.Vertex{v r4R} [gid] (base:GHC.Base.I#{(w) v 6d} [gid] sc_s2wV{v} [lid])) sc_s2wU{v} [lid]])]
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
participants (2)
-
Chris Smith
-
Don Stewart