Sure. It happens in https://gitlab.staging.haskell.org/ghc/ghc/blob/master/compiler/simplCore/SimplCore.hs#L225
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 <[email protected]> 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 <[email protected]> On Behalf Of Gabor Greif > Sent: 13 December 2018 06:10 > To: ghc-devs <[email protected]> > 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 > _______________________________________________ ghc-devs mailing list [email protected] http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
