Faster checkFamInstConsistency
authorBartosz Nitka <niteria@gmail.com>
Fri, 19 May 2017 15:08:01 +0000 (08:08 -0700)
committerBartosz Nitka <niteria@gmail.com>
Wed, 31 May 2017 12:26:28 +0000 (05:26 -0700)
commit69d9081d9fa3ff36fda36e4e11ef7e8f946ecf2a
tree42a8ca8c9517c07e46c15d932bb95d5acad0f1ed
parent8bfab438bdaa29b82c5ad57814bd60dcd02aa1c6
Faster checkFamInstConsistency

This implements the idea from
https://ghc.haskell.org/trac/ghc/ticket/13092#comment:14.

It's explained in Note [Checking family instance optimization]
in more detail.

This improves the test case T13719 tenfold and
cuts down the compile time on `:load` in `ghci` on our
internal code base by half.

Test Plan: ./validate

Reviewers: simonpj, simonmar, rwbarton, austin, bgamari

Reviewed By: simonpj

Subscribers: thomie

GHC Trac Issues: #13719

Differential Revision: https://phabricator.haskell.org/D3603
compiler/typecheck/FamInst.hs
compiler/typecheck/TcRnDriver.hs
testsuite/tests/perf/compiler/all.T
testsuite/tests/perf/haddock/all.T