Fragile eta expansion
This is simply executing a request by @simonpj to record the performance problem we ran into during !2960 (closed), where introducing small changes to some core functions got us some bad Core in
Tc.Validity (and maybe elsewhere, but
Tc.Validity is the only place that our perf tests caught).
Perf test in question:
Base commit: 518a63d4
The gist of the problem is that we're failing to eta expand in the code surrounding
Core dumps of
- problematic commit: https://gitlab.haskell.org/ghc/ghc/uploads/2a9a69f646261f160081640d261539c4/Validity.dump-simpl
- base commit: https://gitlab.haskell.org/ghc/ghc/uploads/1bb7af2df671357c4979047fa932f88e/Validity.dump-simpl
Ticky profiles of running GHC on
- problematic commit: https://gitlab.haskell.org/ghc/ghc/uploads/0c79715d5491750aac5021c216e72af5/13035.2960.ticky
- base commit: https://gitlab.haskell.org/ghc/ghc/uploads/f7f4f2abe5e4dd40c83bc116e5e7f802/13035.ref.ticky
- "ticky diff", using Ben's
The problem shows up with a mere
validate-flavoured build with Hadrian (and presumably Make too), built with
./boot && ./configure && hadrian/build -j4 --flavour=validate. The ticky reports were generated by augmenting the build with the usual ticky options.
@simonpj Did I forget any piece of information that should be included?