[GHC] #12988: Join points
GHC
ghc-devs at haskell.org
Thu Feb 2 08:30:45 UTC 2017
#12988: Join points
-------------------------------------+-------------------------------------
Reporter: lukemaurer | Owner: lukemaurer
Type: feature request | Status: closed
Priority: normal | Milestone: 8.2.1
Component: Compiler | Version: 8.0.1
Resolution: fixed | Keywords: JoinPoints
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s): Phab:D2853
Wiki Page: SequentCore |
-------------------------------------+-------------------------------------
Comment (by simonpj):
PS: there are a bunch of open tickets, listed on wiki:SequentCore, but the
main commit is done:
{{{
commit 8d5cf8bf584fd4849917c29d82dcf46ee75dd035
Author: Luke Maurer <maurerl at cs.uoregon.edu>
Date: Wed Feb 1 11:56:01 2017 -0500
Join points
This major patch implements Join Points, as described in
https://ghc.haskell.org/trac/ghc/wiki/SequentCore. You have
to read that page, and especially the paper it links to, to
understand what's going on; but it is very cool.
It's Luke Maurer's work, but done in close collaboration with Simon
PJ.
This Phab is a squash-merge of wip/join-points branch of
https://github.com/lukemaurer/ghc.
There are many, many interdependent changes.
Reviewers: goldfire, mpickering, bgamari, simonmar, dfeuer, austin
Subscribers: simonpj, dfeuer, mpickering, Mikolaj, thomie
Differential Revision: https://phabricator.haskell.org/D2853
>---------------------------------------------------------------
8d5cf8bf584fd4849917c29d82dcf46ee75dd035
compiler/backpack/RnModIface.hs | 4 +-
compiler/basicTypes/BasicTypes.hs | 126 ++-
compiler/basicTypes/Demand.hs | 8 +-
compiler/basicTypes/Id.hs | 62 +-
compiler/basicTypes/IdInfo.hs | 34 +-
compiler/basicTypes/IdInfo.hs-boot | 2 +
compiler/basicTypes/Var.hs | 18 +-
compiler/basicTypes/VarEnv.hs | 10 +-
compiler/coreSyn/CoreArity.hs | 158 +++-
compiler/coreSyn/CoreArity.hs-boot | 6 +
compiler/coreSyn/CoreLint.hs | 337 ++++++--
compiler/coreSyn/CorePrep.hs | 120 ++-
compiler/coreSyn/CoreStats.hs | 44 +-
compiler/coreSyn/CoreSubst.hs | 33 +-
compiler/coreSyn/CoreSyn.hs | 223 ++++-
compiler/coreSyn/CoreUnfold.hs | 47 +-
compiler/coreSyn/CoreUtils.hs | 19 +-
compiler/coreSyn/MkCore.hs | 1 +
compiler/coreSyn/PprCore.hs | 33 +-
compiler/deSugar/DsUtils.hs | 14 +
compiler/iface/IfaceSyn.hs | 36 +-
compiler/iface/TcIface.hs | 13 +-
compiler/iface/ToIface.hs | 5 +
compiler/simplCore/CSE.hs | 16 +-
compiler/simplCore/CoreMonad.hs | 2 +
compiler/simplCore/FloatIn.hs | 79 +-
compiler/simplCore/FloatOut.hs | 261 ++++--
compiler/simplCore/LiberateCase.hs | 24 +-
compiler/simplCore/OccurAnal.hs | 956
++++++++++++++++-----
compiler/simplCore/SetLevels.hs | 363 ++++++--
compiler/simplCore/SimplCore.hs | 17 +-
compiler/simplCore/SimplEnv.hs | 204 ++++-
compiler/simplCore/SimplUtils.hs | 29 +-
compiler/simplCore/Simplify.hs | 554 ++++++++----
compiler/specialise/Rules.hs | 6 +-
compiler/specialise/SpecConstr.hs | 23 +-
compiler/specialise/Specialise.hs | 23 +-
compiler/stgSyn/CoreToStg.hs | 286 +++---
compiler/stranal/DmdAnal.hs | 16 +-
compiler/stranal/WorkWrap.hs | 74 +-
compiler/stranal/WwLib.hs | 96 ++-
compiler/types/Type.hs | 66 ++
compiler/utils/Outputable.hs | 13 +
compiler/utils/UniqFM.hs | 10 +
.../tests/deSugar/should_compile/T2431.stderr | 29 +-
testsuite/tests/deriving/perf/all.T | 4 +-
.../tests/numeric/should_compile/T7116.stdout | 21 +-
testsuite/tests/perf/compiler/all.T | 18 +-
testsuite/tests/perf/haddock/all.T | 6 +-
.../should_compile => perf/join_points}/Makefile | 0
testsuite/tests/perf/join_points/all.T | 28 +
testsuite/tests/perf/join_points/join001.hs | 16 +
testsuite/tests/perf/join_points/join002.hs | 51 ++
.../tests/perf/join_points/join002.stdout | 0
testsuite/tests/perf/join_points/join003.hs | 69 ++
.../tests/perf/join_points/join003.stdout | 0
testsuite/tests/perf/join_points/join004.hs | 30 +
testsuite/tests/perf/join_points/join004.stdout | 1 +
testsuite/tests/perf/join_points/join005.hs | 23 +
testsuite/tests/perf/join_points/join006.hs | 22 +
testsuite/tests/perf/join_points/join007.hs | 42 +
testsuite/tests/perf/join_points/join007.stdout | 1 +
testsuite/tests/perf/should_run/all.T | 6 +-
.../tests/roles/should_compile/Roles13.stderr | 41 +-
testsuite/tests/simplCore/should_compile/Makefile | 3 +-
testsuite/tests/simplCore/should_compile/T13156.hs | 37 +-
.../tests/simplCore/should_compile/T13156.stdout | 4 +-
.../tests/simplCore/should_compile/T3717.stderr | 17 +-
.../tests/simplCore/should_compile/T3772.stdout | 17 +-
.../tests/simplCore/should_compile/T4908.stderr | 19 +-
.../tests/simplCore/should_compile/T4930.stderr | 28 +-
.../tests/simplCore/should_compile/T5658b.stdout | 2 +-
.../tests/simplCore/should_compile/T7360.stderr | 47 +-
.../tests/simplCore/should_compile/T9400.stderr | 15 +-
testsuite/tests/simplCore/should_compile/all.T | 3 +-
.../tests/simplCore/should_compile/par01.stderr | 15 +-
.../simplCore/should_compile/spec-inline.stderr | 29 +-
77 files changed, 3964 insertions(+), 1151 deletions(-)
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12988#comment:4>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list