SpecConstr number of specializations (-fspec-constr-count)

José Pedro Magalhães jpm at cs.uu.nl
Thu Nov 25 05:33:27 EST 2010


Hi all,

When compiling some program with -O2 using ghc-7.0.1, I got warnings like

> SpecConstr
>     Function `$j_s7Xo{v} [lid]'
>       has three call patterns, but the limit is 1
>     Use -fspec-constr-count=n to set the bound
>     Use -dppr-debug to see specialisations
> SpecConstr
>     Function `$j_s7YI{v} [lid]' has 7 call patterns, but the limit is 3
>     Use -fspec-constr-count=n to set the bound
>     Use -dppr-debug to see specialisations
>

I proceeded to compile with -fspec-constr-count=10, but I still got

> SpecConstr
>     Function `$j_s7Xo{v} [lid]' has 7 call patterns, but the limit is 1
>     Use -fspec-constr-count=n to set the bound
>     Use -dppr-debug to see specialisations
>

With -fspec-constr-count=55, I got

> SpecConstr
>     Function `$j_s7Xo{v} [lid]' has 7 call patterns, but the limit is 6
>     Use -fspec-constr-count=n to set the bound
>     Use -dppr-debug to see specialisations
>

Finally, with -fspec-constr-count=56, the warnings disappear.
Is this a bug, or is the value of spec-constr-count being manipulated in
some way for certain passes?


Thanks,
Pedro
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/glasgow-haskell-users/attachments/20101125/eaf90b65/attachment.html


More information about the Glasgow-haskell-users mailing list