diff options
author | Alexis King <lexi.lambda@gmail.com> | 2020-04-17 16:43:49 -0500 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2020-04-22 23:11:12 -0400 |
commit | 6c9fae2342f19ab3e6ac688825a3817b23bf1fcc (patch) | |
tree | b996d1bdca3e275c77b61de77e54ea107b771d19 /libraries/parsec | |
parent | 401f7bb312aa6c570287d313f8b587aaebca72b2 (diff) | |
download | haskell-6c9fae2342f19ab3e6ac688825a3817b23bf1fcc.tar.gz |
Mark DataCon wrappers CONLIKE
Now that DataCon wrappers don’t inline until phase 0 (see commit
b78cc64e923716ac0512c299f42d4d0012306c05), it’s important that
case-of-known-constructor and RULE matching be able to see saturated
applications of DataCon wrappers in unfoldings. Making them conlike is a
natural way to do it, since they are, in fact, precisely the sort of
thing the CONLIKE pragma exists to solve.
Fixes #18012.
This also bumps the version of the parsec submodule to incorporate a
patch that avoids a metric increase on the haddock perf tests. The
increase was not really a flaw in this patch, as parsec was implicitly
relying on inlining heuristics. The patch to parsec just adds some
INLINABLE pragmas, and we get a nice performance bump out of it (well
beyond the performance we lost from this patch).
Metric Decrease:
T12234
WWRec
haddock.Cabal
haddock.base
haddock.compiler
Diffstat (limited to 'libraries/parsec')
m--------- | libraries/parsec | 0 |
1 files changed, 0 insertions, 0 deletions
diff --git a/libraries/parsec b/libraries/parsec -Subproject ee741870f028e036ab15ae6e2183f09b31e51ae +Subproject ce416997e15438ca616667995660e123ef7e219 |