Accept 20% dedgradation in Trac #5030 compile time
authorSimon Peyton Jones <simonpj@microsoft.com>
Mon, 17 Oct 2016 09:39:25 +0000 (10:39 +0100)
committerSimon Peyton Jones <simonpj@microsoft.com>
Fri, 21 Oct 2016 16:16:00 +0000 (17:16 +0100)
commit1f09b246d377a0007a953e5a77545d81671d2e36
treee7a3a25e206969146fefd4933d5a13db3ee283f6
parent3f5673f34a2f761423027bf46f64f7499708725f
Accept 20% dedgradation in Trac #5030 compile time

In commit

  31621b12 * A collection of type-inference refactorings.

I fixed a bug in the on-the-fly unifier.  Usually the
on-the-fly unifier (TcUnify) defers type function
applications to the constraint solver.  But in one situation
it inconsistently did not defer, so a unification happened
without reducing a type function.  By a fluke this makes
T5030 (specifcially the definition of cnst) much better.

It turns out that consistently non-deferring type functions
makes the test for #3064 go bad.  So somehow the current,
inconsistent situation was an accidental sweet spot.

But it's a horrible sweet spot, relying on what was essentially
a bug.  So I've accepted the worsening (it's an exotic case),
and opened #12724 to deal with the underlying cause.
testsuite/tests/perf/compiler/all.T