1. 20 Mar, 2019 27 commits
  2. 18 Mar, 2019 4 commits
  3. 17 Mar, 2019 1 commit
    • Ben Gamari's avatar
      ghc-heap: Introduce closureSize · cb61371e
      Ben Gamari authored
      This function allows the user to compute the (non-transitive) size of a
      heap object in words. The "closure" in the name is admittedly confusing
      but we are stuck with this nomenclature at this point.
  4. 16 Mar, 2019 6 commits
    • Ben Gamari's avatar
      gitlab-ci: Generate source tarballs · 3f2291e4
      Ben Gamari authored
    • Ben Gamari's avatar
      gitlab-ci: Generate documentation tarball · ad79ccd9
      Ben Gamari authored
    • Ben Gamari's avatar
    • Ben Gamari's avatar
      compiler: Disable atomic renaming on Windows · 1c1b63d6
      Ben Gamari authored
      As discussed in #16450, this feature regresses CI on Windows, causing
      non-deterministic failures due to missing files.
    • Simon Peyton Jones's avatar
      Add location to the extra-constraints wildcard · 600a1ac3
      Simon Peyton Jones authored
      The extra-constraints wildcard had lost its location
      (issue #16431).
      Happily this is easy to fix.  Lots of error improvements.
    • Simon Peyton Jones's avatar
      Improve error recovery in the typechecker · 4927117c
      Simon Peyton Jones authored
      Issue #16418 showed that we were carrying on too eagerly after a bogus
      type signature was identified (a bad telescope in fact), leading to a
      subsequent crash.
      This led me in to a maze of twisty little passages in the typechecker's
      error recovery, and I ended up doing some refactoring in TcRnMonad.
      Some specfifics
      * TcRnMonad.try_m is now called attemptM.
      * I switched the order of the result pair in tryTc,
        to make it consistent with other similar functions.
      * The actual exception used in the Tc monad is irrelevant so,
        to avoid polluting type signatures, I made tcTryM, a simple
        wrapper around tryM, and used it.
      The more important changes are in
      * TcSimplify.captureTopConstraints, where we should have been calling
        simplifyTop rather than reportUnsolved, so that levity defaulting
        takes place properly.
      * TcUnify.emitResidualTvConstraint, where we need to set the correct
        status for a new implication constraint.  (Previously we ended up
        with an Insoluble constraint wrapped in an Unsolved implication,
        which meant that insolubleWC gave the wrong answer.
  5. 15 Mar, 2019 2 commits
    • Simon Peyton Jones's avatar
      Add flavours link · 57201beb
      Simon Peyton Jones authored
    • Peter Trommler's avatar
      PPC NCG: Use liveness information in CmmCall · 83e09d3c
      Peter Trommler authored
      We make liveness information for global registers
      available on `JMP` and `BCTR`, which were the last instructions
      missing. With complete liveness information we do not need to
      reserve global registers in `freeReg` anymore. Moreover we
      assign R9 and R10 to callee saves registers.
      Cleanup by removing `Reg_Su`, which was unused, from `freeReg`
      and removing unused register definitions.
      The calculation of the number of floating point registers is too
      conservative. Just follow X86 and specify the constants directly.
      Overall on PowerPC this results in 0.3 % smaller code size in nofib
      while runtime is slightly better in some tests.