Navigation Menu

Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: ghc/ghc
base: master
Choose a base ref
...
head repository: michalt/ghc
compare: hoopl/no-hoopl
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 1 commit
  • 56 files changed
  • 1 contributor

Commits on May 28, 2017

  1. Hoopl: remove dependency on Hoopl package

    This copies the subset of Hoopl's functionality needed by GHC to
    `cmm/Hoopl` and removes the dependency on the Hoopl package.
    
    The main motivation for this change is the confusing/noisy interface
    between GHC and Hoopl:
    - Hoopl has `Label` which is GHC's `BlockId` but different than
      GHC's `CLabel`
    - Hoopl has `Unique` which is different than GHC's `Unique`
    - Hoopl has `Unique{Map,Set}` which are different than GHC's
      `Uniq{FM,Set}`
    - GHC has its own specialized copy of `Dataflow`, so `cmm/Hoopl` is
      needed just to filter the exposed functions (filter out some of the
      Hoopl's and add the GHC ones)
    With this change, we'll be able to simplify this significantly.
    It'll also be much easier to do invasive changes (Hoopl is a public
    package on Hackage with users that depend on the current behavior)
    
    Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
    michalt committed May 28, 2017
    Copy the full SHA
    d9c3fd2 View commit details
    Browse the repository at this point in the history