1. 07 Mar, 2017 1 commit
  2. 06 Mar, 2017 21 commits
  3. 04 Mar, 2017 7 commits
  4. 03 Mar, 2017 11 commits
    • Ben Gamari's avatar
      testsuite: Fix double test of +Infinity · 0fd83405
      Ben Gamari authored
      The second set was supposed to be a NaN.
    • Ingo Blechschmidt's avatar
      Fix a tiny typo · a86e68ce
      Ingo Blechschmidt authored
    • Ben Gamari's avatar
      testsuite: Add a NaN case to numrun015 · 2f8534b5
      Ben Gamari authored
    • Ben Gamari's avatar
      testsuite: Bump down allocations of T4029 · 96f5656d
      Ben Gamari authored
    • Ben Gamari's avatar
      Add test to ensure that SPEC rules are named deterministically · 0ce11aed
      Ben Gamari authored
      Test Plan: Validate
      Reviewers: niteria, austin, dfeuer
      Reviewed By: dfeuer
      Subscribers: simonpj, thomie
      Differential Revision: https://phabricator.haskell.org/D3220
    • Moritz Angermann's avatar
      Allow iOS to load archives through the linker · d5e0b4bd
      Moritz Angermann authored
      This basically just adds ios where darwin already was, and is just one
      of the pieces for the rts linker support for ios (aarch64-macho)
      The following diagram and legend tries to explain the dependencies a
        .- This
      D3255 <- D3252 <- D3251 <- D3239
        '- D3238
      - In D3238 we started allowing preloading object code with mmap
        in iOS, where we can't have r+w+x.
      - In D3239 we introduced a richer extension of the object code
        data type to make working with mach-o files easier.
      - In D3240 we set the stage to allow loading archives (.a) on iOS
      - In D3251 we added init and deinit functions to populate and
        depopulate the enriched object code data structure for mach-o
      - In D3252 we refactored most of the MachO.c file to use the
        new types and data structure.
      - in D3255 we finally introduce the aarch64-mach-o linker.
      Reviewers: bgamari, austin, erikd, simonmar
      Reviewed By: bgamari
      Subscribers: thomie, ryantrinkle
      Differential Revision: https://phabricator.haskell.org/D3240
    • rwbarton's avatar
      Comments only, in CSE (#13340) · 5ed56fc8
      rwbarton authored
      Reviewers: simonpj, austin, bgamari, dfeuer
      Reviewed By: dfeuer
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D3268
    • rwbarton's avatar
      Deserialize IfaceId more lazily · 64462544
      rwbarton authored
      This change sped up the total validate --build-only time by 0.8%
      on my test system; hopefully a representative result.
      I didn't bother making the other constructors lazy because for
      IfaceData and IfaceClass we need to pull on some of the fields
      in loadDecl, and all the others seem much more rare than IfaceId.
      Test Plan: validate, perf
      Reviewers: austin, bgamari
      Reviewed By: bgamari
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D3269
    • Ben Gamari's avatar
      testsuite: Add test for floating-point abs (numrun015) · 10d28d0a
      Ben Gamari authored
      Test Plan: Validate
      Reviewers: idontgetoutmuch, austin
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D3273
    • Ben Gamari's avatar
      Produce KindReps for common kinds in GHC.Types · c1dacb8a
      Ben Gamari authored
      Unfortunately this comes with a fair bit of implementation cost. Perhaps
      some refactoring would help, but in the interest of getting 8.2 out the
      door I'm pushing as-is.
      While this doesn't have nearly the effect on compiler allocations
      that D3166 has, it's still nothing to sneeze at. nofib shows,
              Program               master           D3166            D3219
              -1 s.d.                -----          -3.555%          -4.081%
              +1 s.d.                -----          +1.937%          +1.593%
              Average                -----          -0.847%          -1.285%
      Test Plan: Validate
      Reviewers: austin
      Subscribers: thomie, simonmar
      Differential Revision: https://phabricator.haskell.org/D3219
    • Ben Gamari's avatar
      TcTypeable: Try to reuse KindReps · a694cee7
      Ben Gamari authored
      Here we rework the TcTypeable implementation to reuse KindRep bindings
      when possible. This is an attempt at minimizing the impact of Typeable
      binding generation by reducing the number of bindings that we produce.
      It turns out that this produces some pretty reasonable compiler
      allocations improvements. It seems to erase most of the increases
      initially introduced by TTypeable in the testsuite. Moreover, nofib
              -1 s.d.                -----          -3.555%
              +1 s.d.                -----          +1.937%
              Average                -----          -0.847%
      Here are a few of the high-scorers (ignore last column, which is for
                Types             88800920         -18.945%         -21.480%
              Tactics            540766744         -27.256%         -27.338%
                 Main            567013384          -4.947%          -5.358%
                 Main            532300000          -4.273%          -4.572%
                 Main            537785392          -4.382%          -4.635%
             BaseDefs           1984225032         -10.639%         -10.832%
      as expected, these tend to be modules with either very many or very
      large types.
      Test Plan: Validate
      Reviewers: austin, dfeuer
      Subscribers: simonmar, dfeuer, thomie
      Differential Revision: https://phabricator.haskell.org/D3166