This project is mirrored from https://gitlab.haskell.org/ghc/ghc.git. Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
Last successful update .
  1. 13 Dec, 2016 4 commits
    • Ben Gamari's avatar
      base: Make raw buffer IO operations more strict · cc2e3ec0
      Ben Gamari authored
      Ticket #9696 reported that `readRawBufferPtr` and `writeRawBufferPtr`
      allocated unnecessarily. The binding is question was,
      ```
      let {
        buf_s4VD [Dmd=<L,U(U)>] :: GHC.Ptr.Ptr GHC.Word.Word8
        [LclId, Unf=OtherCon []] =
            NO_CCS GHC.Ptr.Ptr! [ds1_s4Vy];
      } in
        case
            GHC.IO.FD.$wreadRawBufferPtr
                Main.main5
                0#
                0#
                buf_s4VD
                Main.main4
                Main.main3
                GHC.Prim.void#
        of ...
      ```
      The problem was that GHC apparently couldn't tell that
      `readRawBufferPtr` would always demand the buffer. Here we simple add
      bang patterns on all of the small arguments of these functions to ensure
      that worker/wrappers can eliminate these allocations.
      
      Test Plan: Look at STG produced by testcase in #9696, verify no
      allocations
      
      Reviewers: austin, hvr, simonmar
      
      Reviewed By: simonmar
      
      Subscribers: RyanGlScott, simonmar, thomie
      
      Differential Revision: https://phabricator.haskell.org/D2813
      
      GHC Trac Issues: #9696
      cc2e3ec0
    • Ben Gamari's avatar
      Revert "Float unboxed expressions by boxing" · f723ba2f
      Ben Gamari authored
      This reverts commit bc3d37da.
      f723ba2f
    • Edward Z. Yang's avatar
      Fix recompilation detection when set of signatures to merge changes. · db23ccfa
      Edward Z. Yang authored
      
      
      Summary:
      Previously, we only checked to recompile if a signature we
      previously depended on changed; however, if the -unit-id
      settings changed, this could have resulted in more or less
      signatures needing to be merged in; we weren't checking
      for this case.
      
      (Note that this logic is irrelevant for normal module imports,
      which we also check using -unit-id, as we record each import
      and redo it, forcing a recompile if the result changed.)
      Signed-off-by: default avatarEdward Z. Yang <ezyang@cs.stanford.edu>
      
      Test Plan: validate
      
      Reviewers: simonpj, austin, bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2832
      db23ccfa
    • Edward Z. Yang's avatar
      Sanity check if we pick up an hsig file without -instantiated-with. · 24f6bec9
      Edward Z. Yang authored
      
      
      Summary:
      Previously we would just let compilation proceed along until
      we tried to pull up the Module for the hsig file, and get
      main:A instead of <A>, and get a mysterious error.  Check
      for this earlier!
      
      Fixes #12955.
      Signed-off-by: default avatarEdward Z. Yang <ezyang@cs.stanford.edu>
      
      Test Plan: validate
      
      Reviewers: simonpj, austin, bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2815
      
      GHC Trac Issues: #12955
      24f6bec9
  2. 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
  3. 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
  4. 10 Dec, 2016 4 commits
  5. 09 Dec, 2016 13 commits
    • Ben Gamari's avatar
      testsuite: Mark prog003 as broken on Windows · 24a4fe29
      Ben Gamari authored
      Due to #11317.
      24a4fe29
    • Ryan Scott's avatar
      Rename TH constructors for deriving strategies · 5349d648
      Ryan Scott authored
      After talking to Richard, he and I concluded that choosing the rather
      common name `Newtype` to represent the corresponding deriving strategy
      in Template Haskell was a poor choice of name. I've opted to rename it
      to something less common (`NewtypeStrategy`) while we still have time. I
      also renamed the corrsponding datatype in the GHC internals so as to
      match it.
      
      Reviewers: austin, goldfire, hvr, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie, mpickering
      
      Differential Revision: https://phabricator.haskell.org/D2814
      
      GHC Trac Issues: #10598
      5349d648
    • Rufflewind's avatar
      Ensure each test inherits the TEST_HC_OPTS · d1df8d1c
      Rufflewind authored
      This is so that global test flags that control the error formatting are
      propagated correctly.  This patch is kind of related to: D2718
      
      The stderr for API annotations is ignored entirely now per @alanz's
      suggestion.
      
      Test Plan: validate
      
      Reviewers: thomie, alanz, austin, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: alanz
      
      Differential Revision: https://phabricator.haskell.org/D2808
      d1df8d1c
    • Rufflewind's avatar
      testsuite: make tests respond to SIGINT properly · ca593c7d
      Rufflewind authored
      The `std*_buffer` need to be bytes to avoid breaking Python 3.
      
      Also, using a blanket `except` in Python without specifying the
      exception types will catch special exceptions such as
      `KeyboardInterrupt`, which can prevent the program from being
      interrupted properly.
      
      Test Plan: validate
      
      Reviewers: thomie, austin, bgamari
      
      Reviewed By: bgamari
      
      Differential Revision: https://phabricator.haskell.org/D2805
      ca593c7d
    • Peter Trommler's avatar
      NCG: Implement trivColorable for PowerPC 64-bit · 2823492e
      Peter Trommler authored
      Define constants for 64-bit PowerPC in graph coloring register
      allocator.
      
      Test Plan: ./validate
      
      Reviewers: simonmar, austin, erikd, bgamari, hvr
      
      Reviewed By: bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2791
      2823492e
    • dobenour's avatar
      Fix LLVM TBAA metadata · 90fae01c
      dobenour authored
      Accesses through a Cmm local are currently reported as having the
      "other" type, which can only alias other "other" accesses.  However,
      this assumption is incorrect, which can result in silent bad LLVM
      codegen.
      
      Fixes #9308.
      Fixes #9504.
      
      Test Plan: GHC CI
      
      Reviewers: rwbarton, austin, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: michalt, thomie
      
      Differential Revision: https://phabricator.haskell.org/D2758
      
      GHC Trac Issues: #9125, #9308, #9504
      90fae01c
    • Ben Gamari's avatar
      Mark T12903 as broken on OS X · 62418b87
      Ben Gamari authored
      Something has recently broken it. See #12956.
      62418b87
    • Sylvain Henry's avatar
      Export `warningGroups' and `warningHierarchies' · 1c296c0c
      Sylvain Henry authored
      Reviewers: austin, mpickering, bgamari
      
      Reviewed By: mpickering, bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2806
      1c296c0c
    • Rufflewind's avatar
      Disable colors unless printing to stderr · cee72d5c
      Rufflewind authored
      Only print colors when mkLocMessageAnn is called directly from
      defaultLogAction.  This prevents ANSI error codes from cluttering up the
      dump files.
      
      Test Plan: validate
      
      Reviewers: austin, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2792
      
      GHC Trac Issues: #12927
      cee72d5c
    • Sylvain Henry's avatar
      Scrutinee Constant Folding · d3b546b1
      Sylvain Henry authored
      This patch introduces new rules to perform constant folding through
      case-expressions.
      
      E.g.,
      ```
      case t -# 10# of _ {  ===> case t of _ {
               5#      -> e1              15#     -> e1
               8#      -> e2              18#     -> e2
               DEFAULT -> e               DEFAULT -> e
      ```
      
      The initial motivation is that it allows "Merge Nested Cases"
      optimization to kick in and to further simplify the code
      (see Trac #12877).
      
      Currently we recognize the following operations for Word# and Int#: Add,
      Sub, Xor, Not and Negate (for Int# only).
      
      Test Plan: validate
      
      Reviewers: simonpj, austin, bgamari
      
      Reviewed By: simonpj, bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2762
      
      GHC Trac Issues: #12877
      d3b546b1
    • Ben Gamari's avatar
      Bump haddock submodule · 61932cd3
      Ben Gamari authored
      Fixes Windows build.
      61932cd3
    • Ryan Scott's avatar
      Disambiguate reified closed type family kinds in TH · f65ff2c4
      Ryan Scott authored
      Summary:
      A continuation of #8953. This fixes an oversight in which the
      left-hand sides of closed type families, when reified in Template Haskell,
      would not be given kind annotations, even when they are necessary for
      disambiguation purposes in the presence of `PolyKinds`.
      
      Fixes #8953 and #12646.
      
      Test Plan: ./validate
      
      Reviewers: hvr, bgamari, austin, goldfire
      
      Reviewed By: goldfire
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2795
      
      GHC Trac Issues: #8953, #12646
      f65ff2c4
    • Ben Gamari's avatar
      rts/PosixSource.h: Define __USE_MINGW_ANSI_STDIO on Windows · 6da62535
      Ben Gamari authored
      This was removed in 8dc72f3c which cleaned up
      PosixSource.h. Strangely, this only started breaking for me now.
      
      Test Plan: Validate on Windows
      
      Reviewers: simonmar, erikd, austin, Phyx
      
      Reviewed By: Phyx
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2812
      
      GHC Trac Issues: #12951
      6da62535
  6. 08 Dec, 2016 10 commits
  7. 07 Dec, 2016 2 commits