Post-spec optimisation, wen and where

Gabor Greif ggreif at
Thu Dec 13 09:10:10 UTC 2018

Sure. It happens in

When full laziness is enabled, then after Specialising there is a
float-out pass.

The normal simplification passes are later, at line 254. This is the
reason why I see already optimised core with -ddump-simpl-iterations.
The issue disappears when I compile with -fno-full-laziness.

So I answered my own question. Now on to figuring out why some silly
float-outs are happening. (This is related to, btw.)

Cheers and thanks,


On 12/13/18, Simon Peyton Jones <simonpj at> wrote:
> I’m afraid I don’t understand the question. Can you show a small test case
> and make your question concrete?
> Simon
> From: ghc-devs <ghc-devs-bounces at> On Behalf Of Gabor Greif
> Sent: 13 December 2018 06:10
> To: ghc-devs <ghc-devs at>
> Subject: Post-spec optimisation, wen and where
> Hi devs,
> I am wondering where the optimisation (e.g. simplified) of specialised
> dictionaries is taking place. In my case -ddump-spec shows unoptimised, but
> -ddump-simpl-iterations shows already optimised dictionaries (float-out
> already happened).
> I searched yesterday, but to no avail.
> Thanks,
>    Gabor

More information about the ghc-devs mailing list