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

Simon Marlow marlowsd at gmail.com
Mon Nov 29 07:02:20 EST 2010


On 25/11/2010 20:01, Roman Leshchinskiy wrote:
> On 25/11/2010, at 10:33, José Pedro Magalhães wrote:
>
>> Is this a bug, or is the value of spec-constr-count being
>> manipulated in some way for certain passes?
>
> spec-constr-count decreases for nested specialisations. For instance,
> if spec-constr-count is 6 and SpecConstr generates 2 specialisations
> for a function foo, then spec-constr-count will be 3 for all
> functions nested in foo. You can turn it off completely with
> -fno-spec-constr-count.

The messages are a bit counter-intuitive though - I encountered this 
recently too, and was baffled by the fact that the suggested flag, 
-fspec-constr-count, didn't seem to have any effect.

Also, these messages should be clearly labelled as warnings, and there 
should be a way to disable them (I realise they're being generated by 
the SpecConstr pass and we don't normally generate warnings beyond the 
desugarer, but still.)

Cheers,
	Simon


More information about the Glasgow-haskell-users mailing list