1. 15 Dec, 2016 17 commits
    • Ben Gamari's avatar
      base: Bump version to 4.10.0.0 · 4d683fa1
      Ben Gamari authored
      Updates a number of submodules.
      4d683fa1
    • Ben Gamari's avatar
      testsuite: Separate out Windows results for T5205 · d3981628
      Ben Gamari authored
      This test seems to have much different allocation behavior on Windows
      and Linux.  Previously we had widened the acceptance window to 7% to
      accomodate this, but even this isn't enough any more. Instead of further
      widening the window let's just give an expected number for each
      platform. Really, this is precisely the issue with our performance
      testing model which I've been complaining about in #12758.
      
      Fixes test for #5205 on 64-bit Windows.
      
      Test Plan: Validate on Windows
      
      Reviewers: austin
      
      Subscribers: thomie, Phyx
      
      Differential Revision: https://phabricator.haskell.org/D2848
      
      GHC Trac Issues: #5205
      d3981628
    • Ryan Scott's avatar
      Warn about missing instance methods that start with an underscore · 503219e3
      Ryan Scott authored
      Previously, GHC would not warn whenever there was a class instance that
      didn't implement a class method whose name begins with an underscore.
      
      Fixes #12959.
      
      Test Plan: make test TEST=WarnMinimal
      
      Reviewers: austin, bgamari, simonpj
      
      Reviewed By: bgamari, simonpj
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2849
      
      GHC Trac Issues: #12959
      503219e3
    • Matthew Pickering's avatar
      Fix pretty printing of MINIMAL signatures · 1ec632f8
      Matthew Pickering authored
      Reviewers: austin, alanz, bgamari
      
      Reviewed By: alanz, bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2836
      1ec632f8
    • Simon Marlow's avatar
      Fix cost-centre-stacks bug (#5654) · 394231b3
      Simon Marlow authored
      This fixes some cases of wrong stacks being generated by the profiler.
      For background and details on the fix see
      `Note [Evaluating functions with profiling]` in `rts/Apply.cmm`.
      
      This does have an impact on allocations for some programs when
      profiling.  nofib results:
      
      ```
         k-nucleotide          +0.0%     +8.8%    +11.0%    +11.0%      0.0%
               puzzle          +0.0%    +12.5%     0.244     0.246      0.0%
            typecheck           0.0%     +8.7%    +16.1%    +16.2%      0.0%
      ------------------------------------------------------------------------
      --------
                  Min          -0.0%     -0.0%    -34.4%    -35.5%    -25.0%
                  Max          +0.0%    +12.5%    +48.9%    +49.4%    +10.6%
       Geometric Mean          +0.0%     +0.6%     +2.0%     +1.8%     -0.3%
      
      ```
      
      But runtimes don't seem to be affected much, and the examples I looked
      at were completely legitimate.  For example, in puzzle we have this:
      
      ```
      position :: ItemType -> StateType ->  BankType
      position Bono = bonoPos
      position Edge = edgePos
      position Larry = larryPos
      position Adam = adamPos
      ```
      
      where the identifiers on the rhs are all record selectors.  Previously
      the profiler gave a stack that looked like
      
      ```
        position
        bonoPos
        ...
      ```
      
      i.e. `bonoPos` was at the same level of the call stack as `position`,
      but now it looks like
      
      ```
        position
         bonoPos
         ...
      ```
      
      I used the normaliser from the testsuite to diff the profiling output
      from other nofib programs and they all looked better.
      
      Test Plan:
      * the broken test passes
      * validate
      * compiled and ran all of nofib, measured perf, diff'd several .prof
      files
      
      Reviewers: niteria, erikd, austin, scpmw, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2804
      
      GHC Trac Issues: #5654, #10007
      394231b3
    • Ben Gamari's avatar
      check-ppr: Add a --dump flag to aid in debugging · 5c76f834
      Ben Gamari authored
      Currently tracking down where two ASTs disagree is quite difficult. Add a --dump
      flag to check-ppr which dumps the respective ASTs to files, which can then be
      easily compared with diff, etc.
      5c76f834
    • Ben Gamari's avatar
      testsuite: Specify expected allocations of T12877 for Windows · 2940a617
      Ben Gamari authored
      This deviated by 12% from the expected allocations on Windows.
      Yet another case of #12758.
      2940a617
    • Ryan Scott's avatar
      Make unboxedTuple{Type,Data}Name support 0- and 1-tuples · 9550b8d8
      Ryan Scott authored
      Previously, these functions were hardcoded so as to always `error`
      whenever given an argument of 0 or 1. This restriction can be lifted
      pretty easily, however.
      
      This requires a slight tweak to `isBuiltInOcc_maybe` in `TysWiredIn` to
      allow it to recognize `Unit#` (which is the hard-wired `OccName` for
      unboxed 1-tuples).
      
      Fixes #12977.
      
      Test Plan: make test TEST=12977
      
      Reviewers: austin, goldfire, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2847
      
      GHC Trac Issues: #12977
      9550b8d8
    • johnleo's avatar
      Add entry to .gitignore to for __.SYMDEF_SORTED · fe5d68ad
      johnleo authored
      libraries/integer-gmp/gmp/objs/__.SYMDEF SORTED is created by Mac OS
      builds.
      
      Test Plan: validate
      
      Reviewers: austin, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2840
      fe5d68ad
    • Michal Terepeta's avatar
      procPointAnalysis doesn't need UniqSM · 27287c80
      Michal Terepeta authored
      
      
      `procPointAnalysis` doesn't need to run in `UniqSM` (it consists of a
      single `return` and the call to `analyzeCmm` function which is pure).
      Making it non-monadic simplifies the code a bit.
      Signed-off-by: Michal Terepeta's avatarMichal Terepeta <michal.terepeta@gmail.com>
      
      Test Plan: validate
      
      Reviewers: austin, bgamari, simonmar
      
      Reviewed By: simonmar
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2837
      27287c80
    • Ben Gamari's avatar
      testsuite: Mark T9577 as broken due to #12965 · be5384ce
      Ben Gamari authored
      Test Plan: validate
      
      Reviewers: austin, Phyx
      
      Reviewed By: Phyx
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2835
      
      GHC Trac Issues: #12965
      be5384ce
    • shlevy's avatar
      Fix pprCLabel on platforms without native codegen. · 3c7cf18c
      shlevy authored
      D1290 added a panic in a code path that can be reached when
      !cGhcWithNativeCodeGen.  This reverts just that part of that patch.
      
      Reviewers: austin, simonmar, bgamari, xnyhps
      
      Reviewed By: simonmar
      
      Subscribers: xnyhps, thomie
      
      Differential Revision: https://phabricator.haskell.org/D2831
      3c7cf18c
    • shlevy's avatar
      Build terminfo on iOS. · 6370a564
      shlevy authored
      Reviewers: austin, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2830
      6370a564
    • Moritz Angermann's avatar
      Adds llvm-prof flavour · 8b2e5881
      Moritz Angermann authored
      Reviewers: austin, bgamari, RyanGlScott
      
      Reviewed By: bgamari, RyanGlScott
      
      Subscribers: RyanGlScott, thomie
      
      Differential Revision: https://phabricator.haskell.org/D2824
      8b2e5881
    • Tamar Christina's avatar
      Reset FPU precision back to MSVCRT defaults · 6f7d8279
      Tamar Christina authored
      Mingw-w64 does a stupid thing. They set the FPU precision to extended
      mode by default.  The reasoning is that it's for compatibility with GNU
      Linux ported libraries. However the problem is this is incompatible with
      the standard Windows double precision mode.  In fact, if we create a new
      OS thread then Windows will reset the FPU to double precision mode.  So
      we end up with a weird state where the main thread by default has a
      different precision than any child threads.
      
      Test Plan: ./validate new test T7289
      
      Reviewers: simonmar, austin, bgamari, erikd
      
      Reviewed By: simonmar
      
      Subscribers: thomie, #ghc_windows_task_force
      
      Differential Revision: https://phabricator.haskell.org/D2819
      
      GHC Trac Issues: #7289
      6f7d8279
    • Maciej Bielecki's avatar
      Show constraints when reporting typed holes · 0c3341b2
      Maciej Bielecki authored
      This patch implements the display of constraints in the error message
      for typed holes.
      
      Test Plan: validate, read docs
      
      Reviewers: simonpj, austin, bgamari
      
      Reviewed By: simonpj, bgamari
      
      Subscribers: simonpj, thomie
      
      Differential Revision: https://phabricator.haskell.org/D2767
      
      GHC Trac Issues: #10614
      0c3341b2
    • Sergei Trofimovich's avatar
      mk/config.mk.in: enable SMP on ARMv7+ (Trac #12981) · 52c5e553
      Sergei Trofimovich authored
      
      
      Before the change result of expression
          ArchSupportsSMP="$(if $(filter $(ARM_ISA),ARMv5 ARMv6),NO,YES)"
      to evaluate to
          ArchSupportsSMP="YES"
      
      After the change it's
          ArchSupportsSMP=YES
      
      Thanks to orion for the fix!
      
      Fixes Trac #12981
      Signed-off-by: default avatarSergei Trofimovich <siarheit@google.com>
      52c5e553
  2. 14 Dec, 2016 2 commits
  3. 13 Dec, 2016 9 commits
  4. 12 Dec, 2016 6 commits
    • Alan Zimmerman's avatar
      Add infix flag for class and data declarations · 8f6d241a
      Alan Zimmerman authored
      Summary:
      At the moment, data and type declarations using infix formatting produce the
      same AST as those using prefix.
      
      So
      
          type a ++ b = c
      
      and
      
          type (++) a b = c
      
      cannot be distinguished in the parsed source, without looking at the OccName
      details of the constructor being defined.
      
      Having access to the OccName requires an additional constraint which explodes
      out over the entire AST because of its recursive definitions.
      
      In keeping with moving the parsed source to more directly reflect the source
      code as parsed, add a specific flag to the declaration to indicate the fixity,
      as used in a Match now too.
      
      Note: this flag is to capture the fixity used for the lexical definition of the
      type, primarily for use by ppr and ghc-exactprint.
      
      Updates haddock submodule.
      
      Test Plan: ./validate
      
      Reviewers: mpickering, goldfire, bgamari, austin
      
      Reviewed By: mpickering
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2828
      
      GHC Trac Issues: #12942
      8f6d241a
    • Simon Peyton Jones's avatar
      Float unboxed expressions by boxing · bc3d37da
      Simon Peyton Jones authored
      This patch makes GHC's floating more robust, by allowing it
      to float unboxed expressions of at least some common types.
      
      See Note [Floating MFEs of unlifted type] in SetLevels.
      
      This was all provoked by Trac #12603
      bc3d37da
    • Simon Peyton Jones's avatar
      Fix a long-standing bug in CSE · d03dd237
      Simon Peyton Jones authored
      I had the environments wrong so that CSE could mis-clone
      an expression, if the uniques just happened to be badly
      arranged.  It's hard to trigger the bug, so I can't make
      a reliable test case.
      
      Happily the fix is easy.
      d03dd237
    • Tamar Christina's avatar
      Disable T12903 due to flakiness · 67203765
      Tamar Christina authored
      Test seems to randomly fail on harbormaster. Disabling it until it can be fixed.
      
      Test Plan: make test TEST=T12903
      
      Reviewers: austin, bgamari, simonmar, mpickering
      
      Reviewed By: mpickering
      
      Subscribers: mpickering, thomie, qnikst
      
      Differential Revision: https://phabricator.haskell.org/D2821
      
      GHC Trac Issues: #12903
      67203765
    • Simon Peyton Jones's avatar
      Make dropDerivedSimples restore [WD] constraints · f1036ad8
      Simon Peyton Jones authored
      I'd forgotten to turn [W] + [D] constraints back into [WD]
      in dropDerivedSimples; and that led to Trac #12936.
      
      Fortunately the fix is simple.
      f1036ad8
    • Simon Peyton Jones's avatar
      Refactor pruning of implication constraints · 818e027e
      Simon Peyton Jones authored
      We try to prune solved implication constraints, but it's a
      bit tricky because of our desire to correctly report unused
      'givens'.  This patch improves matters a bit... in tracig some
      other bug I saw lots of empty constraints lying around!
      818e027e
  5. 11 Dec, 2016 1 commit
    • Moritz Angermann's avatar
      Make globals use sharedCAF · c3c70244
      Moritz Angermann authored
      Summary:
      The use of globals is quite painful when multiple rts are loaded, e.g.
      when plugins are loaded, which bring in a second rts. The sharedCAF
      appraoch was employed for the FastStringTable; I've taken the libery
      to extend this to the other globals I could find.
      
      This is a reboot of D2575, that should hopefully not exhibit the same
      windows build issues.
      
      Reviewers: Phyx, simonmar, goldfire, bgamari, austin, hvr, erikd
      
      Reviewed By: Phyx, simonmar, bgamari
      
      Subscribers: mpickering, thomie
      
      Differential Revision: https://phabricator.haskell.org/D2773
      c3c70244
  6. 10 Dec, 2016 4 commits
  7. 09 Dec, 2016 1 commit