[Git][ghc/ghc][wip/cfuneqcan-refactor] 78 commits: Bump the # of commits searched for perf baseline

Richard Eisenberg gitlab at gitlab.haskell.org
Tue Nov 24 14:10:36 UTC 2020



Richard Eisenberg pushed to branch wip/cfuneqcan-refactor at Glasgow Haskell Compiler / GHC


Commits:
43273f21 by Richard Eisenberg at 2020-11-24T09:09:42-05:00
Bump the # of commits searched for perf baseline

The previous value of 75 meant that a feature branch with
more than 75 commits would get spurious CI passes.

This affects #18692, but does not fix that ticket, because
if a baseline cannot be found, we should fail, not succeed.

- - - - -
ff788365 by Richard Eisenberg at 2020-11-24T09:09:42-05:00
Start of work in simplifying flattening

- - - - -
377155fb by Richard Eisenberg at 2020-11-24T09:09:42-05:00
Much work toward simplifying CFunEqCan

- - - - -
233c586b by Richard Eisenberg at 2020-11-24T09:09:42-05:00
Canonicalized function equalities.

Now, onto interactions.

- - - - -
379340ec by Richard Eisenberg at 2020-11-24T09:09:42-05:00
CEqCan, and canonicalization for it

- - - - -
b1feaa06 by Richard Eisenberg at 2020-11-24T09:09:43-05:00
Main changes done. Now to delete code.

- - - - -
46fb44c5 by Richard Eisenberg at 2020-11-24T09:09:43-05:00
Kill off CFunEqCan and CTyEqCan

- - - - -
31bcd677 by Richard Eisenberg at 2020-11-24T09:09:43-05:00
It compiles.

- - - - -
8f889853 by Richard Eisenberg at 2020-11-24T09:09:44-05:00
Some bugfixing

- - - - -
165c9719 by Richard Eisenberg at 2020-11-24T09:09:44-05:00
Lots of bug fixing

- - - - -
01f8d4c0 by Richard Eisenberg at 2020-11-24T09:09:44-05:00
Expand synonyms that mention families, obvs

- - - - -
b5efbc62 by Richard Eisenberg at 2020-11-24T09:09:44-05:00
Super skolems are really super.

- - - - -
16cdeafb by Richard Eisenberg at 2020-11-24T09:09:45-05:00
Another bug bites the dust.

- - - - -
9c1ebefa by Richard Eisenberg at 2020-11-24T09:09:45-05:00
Put variable on left only when it will unify

- - - - -
fe65da9d by Richard Eisenberg at 2020-11-24T09:09:45-05:00
Tiny little changes

- - - - -
d29be562 by Richard Eisenberg at 2020-11-24T09:09:45-05:00
Use built-in axioms for injectivity

- - - - -
9c448311 by Richard Eisenberg at 2020-11-24T09:09:45-05:00
Stop loop in solver due to blocked hetero eqs

- - - - -
6bb90248 by Richard Eisenberg at 2020-11-24T09:09:46-05:00
Note [Runaway Derived rewriting]

- - - - -
7fc769fe by Richard Eisenberg at 2020-11-24T09:09:46-05:00
Still need to check tyvar/funeq orientation

- - - - -
293440ae by Richard Eisenberg at 2020-11-24T09:09:46-05:00
More bugfixing

- - - - -
2e649833 by Richard Eisenberg at 2020-11-24T09:09:46-05:00
Orient FunEq/FunEq correctly wrt occurs-check

- - - - -
40dbbe30 by Richard Eisenberg at 2020-11-24T09:09:47-05:00
Fix import

- - - - -
9b33e7e5 by Richard Eisenberg at 2020-11-24T09:09:47-05:00
Note [Type variable cycles in Givens]

- - - - -
22673fae by Richard Eisenberg at 2020-11-24T09:09:47-05:00
Handle obscure corner case in canonicalize

- - - - -
56376e8c by Richard Eisenberg at 2020-11-24T09:09:47-05:00
Handle (=>) specially in pure unifier

- - - - -
8689aa3e by Richard Eisenberg at 2020-11-24T09:09:47-05:00
Start deleting stuff. Hooray!

- - - - -
07f1446b by Richard Eisenberg at 2020-11-24T09:09:48-05:00
Fix test output

- - - - -
555fda71 by Richard Eisenberg at 2020-11-24T09:09:48-05:00
Delete delete delete !!

- - - - -
58e4e20f by Richard Eisenberg at 2020-11-24T09:09:48-05:00
More deleting. Checkpoint before removing FlattenMode

- - - - -
e0085e42 by Richard Eisenberg at 2020-11-24T09:09:48-05:00
Remove FlattenMode

- - - - -
4ed3a230 by Richard Eisenberg at 2020-11-24T09:09:49-05:00
Stopped bumping ctLocDepth in runFlatten

- - - - -
5f6e46be by Richard Eisenberg at 2020-11-24T09:09:49-05:00
Finished deleting.

- - - - -
e7f68557 by Richard Eisenberg at 2020-11-24T09:09:49-05:00
A few error message wibbles

- - - - -
df970440 by Richard Eisenberg at 2020-11-24T09:09:49-05:00
Some small changes, mostly comments.

- - - - -
65472b85 by Richard Eisenberg at 2020-11-24T09:09:50-05:00
Fix #18875 by breaking type variable cycles.

- - - - -
25e503c3 by Richard Eisenberg at 2020-11-24T09:09:50-05:00
Actually add test files

- - - - -
0f542bc8 by Richard Eisenberg at 2020-11-24T09:09:50-05:00
Add Detail (7) to the Note

- - - - -
676a61a0 by Richard Eisenberg at 2020-11-24T09:09:50-05:00
A few error wibbles

- - - - -
6fd1d9ae by Richard Eisenberg at 2020-11-24T09:09:51-05:00
Don't simplify extra-constraint holes

- - - - -
3a269ebb by Richard Eisenberg at 2020-11-24T09:09:51-05:00
Subtleties in Note [Instance and Given overlap]

- - - - -
522039f5 by Richard Eisenberg at 2020-11-24T09:09:51-05:00
Update Note [TyVar/TyVar orientation]

- - - - -
87063ef7 by Richard Eisenberg at 2020-11-24T09:09:51-05:00
Actually add tests

- - - - -
ed3f9494 by Richard Eisenberg at 2020-11-24T09:09:52-05:00
Do mightMatchLater correctlier.

- - - - -
726ef325 by Richard Eisenberg at 2020-11-24T09:09:52-05:00
Simplify getNoGivenEqs

- - - - -
d3cbe4cb by Richard Eisenberg at 2020-11-24T09:09:52-05:00
Simplify code a bit

- - - - -
cc5ba866 by Richard Eisenberg at 2020-11-24T09:09:53-05:00
Introduce 3-way for ic_given_eqs

- - - - -
8fa02f7e by Richard Eisenberg at 2020-11-24T09:09:53-05:00
test LocalGivenEqs

- - - - -
8df67685 by Richard Eisenberg at 2020-11-24T09:09:53-05:00
Update commentary about HasGivenEqs

- - - - -
dd1e840b by Richard Eisenberg at 2020-11-24T09:09:53-05:00
Update notes.

- - - - -
eb332ec5 by Richard Eisenberg at 2020-11-24T09:09:54-05:00
More documentation around LocalGivenEqs

- - - - -
dc76ece9 by Richard Eisenberg at 2020-11-24T09:09:54-05:00
Rename the flat-cache. Document it, too.

- - - - -
d75bb209 by Richard Eisenberg at 2020-11-24T09:09:54-05:00
Make EqualCtList into a newtype with NonEmpty

- - - - -
fb3dc4ab by Richard Eisenberg at 2020-11-24T09:09:54-05:00
Remove Note [No FunEq improvement for Givens]

- - - - -
410f1115 by Richard Eisenberg at 2020-11-24T09:09:55-05:00
Fix compilation errors from rebasing

- - - - -
5550167d by Richard Eisenberg at 2020-11-24T09:09:55-05:00
Use DTyConEnv for TcAppMap instead of UDFM

- - - - -
455d7841 by Richard Eisenberg at 2020-11-24T09:09:55-05:00
Remove mention of CFunEqCan from rebasing

- - - - -
cc4b8a83 by Richard Eisenberg at 2020-11-24T09:09:55-05:00
Fix error output

- - - - -
d814d351 by Richard Eisenberg at 2020-11-24T09:09:56-05:00
Reimplement flatten_exact_fam_app

Hopefully will be faster?

- - - - -
cedd34a1 by Richard Eisenberg at 2020-11-24T09:09:56-05:00
Improve performance

- - - - -
6aab20bf by Richard Eisenberg at 2020-11-24T09:09:56-05:00
Don't fail eagerly on runaway Derived instances

- - - - -
47ca6411 by Richard Eisenberg at 2020-11-24T09:09:56-05:00
Improve some comments

- - - - -
5cee98a3 by Richard Eisenberg at 2020-11-24T09:09:57-05:00
Checkpoint before adding filterTM

- - - - -
71fa8a4c by Richard Eisenberg at 2020-11-24T09:09:57-05:00
remove stale givens from famapp-cache

- - - - -
18bee4b6 by Richard Eisenberg at 2020-11-24T09:09:57-05:00
Remove unused parameter

- - - - -
5bf18684 by Richard Eisenberg at 2020-11-24T09:09:57-05:00
Address points from Hécate.

- - - - -
758f674f by Richard Eisenberg at 2020-11-24T09:09:58-05:00
Reviews on GitLab

- - - - -
f94ad669 by Richard Eisenberg at 2020-11-24T09:09:58-05:00
Use tcSplitTyConApp_maybe in can_eq_nc'

- - - - -
e3be013e by Richard Eisenberg at 2020-11-24T09:09:58-05:00
Try removing (2b). Let's see what the testsuite says

- - - - -
1f1bc99b by Richard Eisenberg at 2020-11-24T09:09:59-05:00
Really remove (2b)

- - - - -
f068d2d4 by Richard Eisenberg at 2020-11-24T09:09:59-05:00
More reactions to reviews

- - - - -
68ad1a0a by Richard Eisenberg at 2020-11-24T09:09:59-05:00
Revisit [Prevent unification with type families]

- - - - -
61957259 by Richard Eisenberg at 2020-11-24T09:09:59-05:00
Don't flatten during instance lookup

- - - - -
1bdd8642 by Richard Eisenberg at 2020-11-24T09:10:00-05:00
Comments, etc., from Friday

- - - - -
5bf08b61 by Richard Eisenberg at 2020-11-24T09:10:00-05:00
Make the fast path work without roles

- - - - -
c73a7e6d by Richard Eisenberg at 2020-11-24T09:10:00-05:00
Use MCo

- - - - -
4112199a by Richard Eisenberg at 2020-11-24T09:10:00-05:00
Remove unused parameter

- - - - -
ebd6e660 by Richard Eisenberg at 2020-11-24T09:10:01-05:00
Add test case

- - - - -
a18f2ddd by Richard Eisenberg at 2020-11-24T09:10:01-05:00
s/flatten/rewrite`

- - - - -


30 changed files:

- compiler/GHC/Cmm/Dataflow/Label.hs
- compiler/GHC/Core/Coercion.hs
- compiler/GHC/Core/Coercion.hs-boot
- compiler/GHC/Core/Coercion/Axiom.hs
- compiler/GHC/Core/Coercion/Opt.hs
- compiler/GHC/Core/FamInstEnv.hs
- compiler/GHC/Core/InstEnv.hs
- compiler/GHC/Core/Map.hs
- compiler/GHC/Core/Map/Type.hs
- compiler/GHC/Core/TyCo/FVs.hs
- compiler/GHC/Core/TyCo/Rep.hs
- compiler/GHC/Core/TyCon.hs
- compiler/GHC/Core/TyCon/Env.hs
- compiler/GHC/Core/Type.hs
- compiler/GHC/Core/Unify.hs
- compiler/GHC/Data/Bag.hs
- compiler/GHC/Data/Maybe.hs
- compiler/GHC/Data/TrieMap.hs
- compiler/GHC/Driver/Flags.hs
- compiler/GHC/Driver/Session.hs
- compiler/GHC/HsToCore/Monad.hs
- compiler/GHC/HsToCore/Types.hs
- compiler/GHC/Stg/CSE.hs
- compiler/GHC/Tc/Errors.hs
- compiler/GHC/Tc/Gen/Bind.hs
- compiler/GHC/Tc/Gen/HsType.hs
- compiler/GHC/Tc/Gen/Pat.hs
- compiler/GHC/Tc/Instance/Family.hs
- compiler/GHC/Tc/Plugin.hs
- compiler/GHC/Tc/Solver.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/62d06215790ee056fbca69e6724a096bec00f8b0...a18f2dddfbb68800c8ce2fa18488d2d2e5eca983

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/62d06215790ee056fbca69e6724a096bec00f8b0...a18f2dddfbb68800c8ce2fa18488d2d2e5eca983
You're receiving this email because of your account on gitlab.haskell.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20201124/b863ed62/attachment-0001.html>


More information about the ghc-commits mailing list