Using -g causes differences in generated core.
For nofib/shootout/fannkuch-redux:
Normal results
> /e/ghc-8.6.1/bin/ghc.exe Main.hs -O2 -XBangPatterns -fforce-recomp -ddump-simpl -dsuppress-all -dsuppress-uniques | less
...
Result size of Tidy Core
= {terms: 2,747, types: 2,736, coercions: 100, joins: 50/73}
...
> /e/ghc-8.6.1/bin/ghc.exe Main.hs -O2 -XBangPatterns -fforce-recomp -ddump-simpl -dsuppress-all -dsuppress-uniques -g | less
...
Result size of Tidy Core
= {terms: 2,654, types: 2,557, coercions: 100, joins: 38/71}
...
There are also structural differences in the generated code.
I've hit the issue with a tree based on head as well so likely happening there as well.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 8.6.2 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |