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.
      0fd83405
    • Ingo Blechschmidt's avatar
      Fix a tiny typo · a86e68ce
      Ingo Blechschmidt authored
      a86e68ce
    • Ben Gamari's avatar
      testsuite: Add a NaN case to numrun015 · 2f8534b5
      Ben Gamari authored
      2f8534b5
    • Ben Gamari's avatar
      testsuite: Bump down allocations of T4029 · 96f5656d
      Ben Gamari authored
      96f5656d
    • 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
      0ce11aed
    • 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
      bit:
      ```
        .- This
        v
      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
        files.
      - 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
      d5e0b4bd
    • 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
      5ed56fc8
    • 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
      64462544
    • 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
      10d28d0a
    • 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
      c1dacb8a
    • 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
      shows,
      ```
              -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
      D3219),
      ```
      veritas
                Types             88800920         -18.945%         -21.480%
      
      veritas
              Tactics            540766744         -27.256%         -27.338%
      
      sched
                 Main            567013384          -4.947%          -5.358%
      
      listcompr
                 Main            532300000          -4.273%          -4.572%
      
      listcopy
                 Main            537785392          -4.382%          -4.635%
      
      anna
             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
      a694cee7