
Sure. It happens in
https://gitlab.staging.haskell.org/ghc/ghc/blob/master/compiler/simplCore/Si...
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
https://ghc.haskell.org/trac/ghc/ticket/16039, btw.)
Cheers and thanks,
Gabor
On 12/13/18, Simon Peyton Jones
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
On Behalf Of Gabor Greif Sent: 13 December 2018 06:10 To: ghc-devs 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