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. 06 Feb, 2017 1 commit
    • David Feuer's avatar
      Add liftA2 to Applicative class · a2f39da0
      David Feuer authored
      * Make `liftA2` a method of `Applicative`.
      
      * Add explicit `liftA2` definitions to instances in `base`.
      
      * Add explicit invocations in `base`.
      
      Reviewers: ekmett, bgamari, RyanGlScott, austin, hvr
      
      Reviewed By: RyanGlScott
      
      Subscribers: ekmett, RyanGlScott, rwbarton, thomie
      
      Differential Revision: https://phabricator.haskell.org/D3031
      a2f39da0
  2. 04 Feb, 2017 12 commits
    • Joachim Breitner's avatar
      Expose cseExpr from CSE · 54b9b064
      Joachim Breitner authored
      for the benefit of GHC API users who want to CSE single expressions.
      
      Differential Revision: https://phabricator.haskell.org/D3069
      54b9b064
    • Joachim Breitner's avatar
      New internal dynamic flag: Very aggressive inlining · 82121357
      Joachim Breitner authored
      This flag overrides the inliner heuristics to inline something
      independent of cost, size, expected gains or boringness of the context.
      
      It still adheres to arity, simplifier phase control and loop breakers.
      
      This is not exposed via a command line flag and added for the benefit of
      GHC API users.
      
      Differential Revision: https://phabricator.haskell.org/D3069
      82121357
    • Takenobu Tani's avatar
      Fix comment (old file names) in mk/ and utils/ · bd818a7c
      Takenobu Tani authored
      There ware some old file names (.lhs, ...) at comments.
      
      * mk/config.mk.in
        - compiler/hsSyn/HsExpr.lhs -> HsExpr.hs
      
      * utils/ghc-pkg/Main.hs
        - compiler/main/Packages.lhs -> Packages.hs
      
      * utils/genapply/Main.hs
        - CgRetConv.lhs -> * REMOVE THIS COMMENT (OLDER FILE THAN GHC6) *
        - Constants.lhs -> Constants.hs
        - compiler/codeGen/CgCallConv.lhs -> compiler/codeGen/StgCmmLayout.hs
        - Apply.hc -> Apply.cmm
        - HeapStackCheck.hc -> HeapStackCheck.cmm
      
      Reviewers: mpickering, austin, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D3077
      bd818a7c
    • Matthew Pickering's avatar
      Don't panic when printing match with RecUpd context · 68cbe52f
      Matthew Pickering authored
      Reviewers: bgamari, austin
      
      Reviewed By: bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D3065
      
      GHC Trac Issues: #12957
      68cbe52f
    • Peter Wortmann's avatar
      Improve wrapTicks performance with lots of redundant source notes · 29122312
      Peter Wortmann authored
      The old version had O(n^3) performance for n non-overlapping source
      notes and let floats each, which is exactly what happens with -g if we
      compile a list literal of length n.
      
      The idea here is simply to establish early which source notes will
      actually survive (e.g. use a left fold). The new code should be O(n) for
      list literals.
      
      Reviewers: austin, dfeuer, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D3037
      
      GHC Trac Issues: #11095
      29122312
    • Ben Gamari's avatar
      Update binary submodule to 0.8.4.1 · 157a46fb
      Ben Gamari authored
      157a46fb
    • Oleg Grenrus's avatar
      Fix minusNatural exception to be Underflow · 18cdef38
      Oleg Grenrus authored
      18cdef38
    • rwbarton's avatar
      Make split sections by default work again · 283acec1
      rwbarton authored
      Commit 266a9dc4 changed = to := in one place in mk/config.mk.in.
      This broke SupportsSplitSections because the variable LdIsGNULd
      that it depends on is not defined until later in the file.
      
      Test Plan: pushed to a wip/ branch for perf to build
      
      Reviewers: DemiMarie, austin, bgamari, mpickering
      
      Reviewed By: mpickering
      
      Subscribers: mpickering, thomie
      
      Differential Revision: https://phabricator.haskell.org/D3070
      
      GHC Trac Issues: #13230
      283acec1
    • Takenobu Tani's avatar
      Fix comment (old filename '.lhs') in libraries/ · 4d31880a
      Takenobu Tani authored
      [skip ci]
      
      There are some old file names (*.lhs) at comments.
      (I'm fixing to read source code by newcomers.)
      
      * libraries/base/GHC/Base.hs
        - compiler/deSugar/DsListComp.lhs
        - PrelRules.lhs x2
        - Base.lhs
      
      * libraries/base/GHC/IO.hs
        - PrimOp.lhs
        - GHC.IO.lhs
        - GHC.Exception.lhs
      
      * libraries/base/GHC/Real.hs
        - compiler/prelude/PrelRules.lhs
      
      * libraries/ghc-prim/GHC/Magic.hs
        - MkId.lhs x2
      
      Reviewers: austin, hvr, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D3060
      4d31880a
    • Takenobu Tani's avatar
      Fix comment (old file names) in compiler/ · 8d60d739
      Takenobu Tani authored
      [skip ci]
      
      There ware some old file names (.lhs, ...) at comments.
      
      * compiler/ghc.mk
        - prelude/PrimOp.lhs -> prelude/PrimOp.hs
      
      * compiler/parser/cutils.h
        - PrimPacked.lhs -> compiler/utils/FastString.hs
      
      Reviewers: bgamari, austin
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D3076
      8d60d739
    • Takenobu Tani's avatar
      Fix comment (old file names) in rts/ · 31bb85ff
      Takenobu Tani authored
      [skip ci]
      
      There ware some old file names (.lhs, ...) at comments.
      
      * rts/win32/ThrIOManager.c
        - Conc.lhs -> Conc.hs
      
      * rts/PrimOps.cmm
        - ByteCodeLink.lhs -> ByteCodeLink.hs
        - StgMiscClosures.hc -> StgMiscClosures.cmm
      
      * rts/AutoApply.h
        - AutoApply.hc -> AutoApply.cmm
      
      * rts/HeapStackCheck.cmm
        - PrimOps.hc -> PrimOps.cmm
      
      * rts/LdvProfile.h
        - Updates.hc -> Updates.cmm
      
      * rts/Schedule.c
        - StgStartup.hc -> StgStartup.cmm
      
      * rts/Weak.c
        - StgMiscClosures.hc -> StgMiscClosures.cmm
      
      Reviewers: bgamari, austin, erikd, simonmar
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D3075
      31bb85ff
    • Takenobu Tani's avatar
      Fix comment (old file names) in includes/ · 9984024a
      Takenobu Tani authored
      [skip ci]
      
      There ware some old file names (.lhs, ...) at comments.
      
      * includes/rts/Bytecodes.h
        - ghc/compiler/ghci/ByteCodeGen.lhs -> ByteCodeAsm.hs
      
      * includes/rts/Constants.h
        - libraries/base/GHC/Conc.lhs -> libraries/base/GHC/Conc/Sync.hs
      
      * includes/rts/storage/FunTypes.h
        - utils/genapply/GenApply.hs -> utils/genappl/Main.hs
        - compiler/codeGen/CgCallConv.lhs -> compiler/codeGen/StgCmmLayout.hs
      
      * includes/stg/MiscClosures.h
        - compiler/codeGen/CgStackery.lhs -> compiler/codeGen/StgCmmArgRep.hs
        - HeapStackCheck.hc  -> HeapStackCheck.cmm
      
      Reviewers: bgamari, austin, simonmar, erikd
      
      Reviewed By: erikd
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D3074
      9984024a
  3. 03 Feb, 2017 6 commits
    • David Feuer's avatar
      Attempt to make lazy ST thread safe · 2f5cb3d4
      David Feuer authored
      Use `noDuplicate#` to prevent lazy `ST` thunks from
      being evaluated in multiple GHC threads.
      
      Some lazy `ST` functions added laziness that did not seem to be useful
      (e.g.,
      creating lazy pairs that will never be matched unless one of their
      components
      is demanded). Stripped that out.
      
      Reviewers: ekmett, simonpj, bgamari, simonmar, austin, hvr
      
      Subscribers: rwbarton, thomie
      
      Differential Revision: https://phabricator.haskell.org/D3038
      
      GHC Trac Issues: #11760
      2f5cb3d4
    • Simon Peyton Jones's avatar
      Use tyCoVarsOfType for CTyEqCan in shouldSplitWD · afa409fa
      Simon Peyton Jones authored
      An ASSERT failure in rewritableTyVars made me realise
      that there was an outright bug in shouldSplitWD.  See
      the long Note [Splitting WD constraints].
      afa409fa
    • Joachim Breitner's avatar
      Bump performance mark for T9020 · c2becee4
      Joachim Breitner authored
      according to the graph at perf.haskell.org, it has regressed due to join
      points, which moved it very very close to the +10% mark and hence made it
      fail just sometimes.
      c2becee4
    • Joachim Breitner's avatar
      Get rid of ProbOneShot · 09b8332d
      Joachim Breitner authored
      This fixes #13227. It remains to be seen what the performance impacts
      are. Pushing as a branch to get perf.haskell.org answer that for us.
      
      Differential Revision: https://phabricator.haskell.org/D3067
      09b8332d
    • Sylvain Henry's avatar
      Ditch static flags · bbd3c399
      Sylvain Henry authored
      This patch converts the 4 lasting static flags (read from the command
      line and unsafely stored in immutable global variables) into dynamic
      flags. Most use cases have been converted into reading them from a DynFlags.
      
      In cases for which we don't have easy access to a DynFlags, we read from
      'unsafeGlobalDynFlags' that is set at the beginning of each 'runGhc'.
      It's not perfect (not thread-safe) but it is still better as we can
      set/unset these 4 flags before each run when using GHC API.
      
      Updates haddock submodule.
      
      Rebased and finished by: bgamari
      
      Test Plan: validate
      
      Reviewers: goldfire, erikd, hvr, austin, simonmar, bgamari
      
      Reviewed By: simonmar
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2839
      
      GHC Trac Issues: #8440
      bbd3c399
    • Ben Gamari's avatar
  4. 02 Feb, 2017 10 commits
    • Matthew Pickering's avatar
      Remove INLINE pragma on loopbreaker · 5728f4b8
      Matthew Pickering authored
      5728f4b8
    • Ben Gamari's avatar
      Bump haskeline submodule · 895aa6d1
      Ben Gamari authored
      895aa6d1
    • Georgios Karachalias's avatar
      Exhaustiveness check for EmptyCase (Trac #10746) · b1035321
      Georgios Karachalias authored
      Empty case expressions have strict semantics so the problem boils down
      to inhabitation checking for the type of the scrutinee. 3 main functions
      added:
      
      - pmTopNormaliseType_maybe for the normalisation of the scrutinee type
      
      - inhabitationCandidates for generating the possible patterns of the
        appropriate type
      
      - checkEmptyCase' to filter out the candidates that give rise to
        unsatisfiable constraints.
      
      See Note [Checking EmptyCase Expressions] in Check
      and Note [Type normalisation for EmptyCase] in FamInstEnv
      
      Test Plan: validate
      
      Reviewers: simonpj, goldfire, dfeuer, austin, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: mpickering, thomie
      
      Differential Revision: https://phabricator.haskell.org/D2105
      
      GHC Trac Issues: #10746
      b1035321
    • Joachim Breitner's avatar
      Add a testcase for #13227 · d8ac64e7
      Joachim Breitner authored
      where an expected float-out is not happening.
      d8ac64e7
    • Gabor Greif's avatar
      Spelling fixes · 8dd82ead
      Gabor Greif authored
      8dd82ead
    • Ben Gamari's avatar
      Add support for StaticPointers in GHCi · eedb3df0
      Ben Gamari authored
      Here we add support to GHCi for StaticPointers. This process begins by
      adding remote GHCi messages for adding entries to the static pointer
      table. We then collect binders needing SPT entries after linking and
      send the interpreter a message adding entries with the appropriate
      fingerprints.
      
      Test Plan: `make test TEST=StaticPtr`
      
      Reviewers: facundominguez, mboes, simonpj, simonmar, goldfire, austin,
      hvr, erikd
      
      Reviewed By: simonpj, simonmar
      
      Subscribers: RyanGlScott, simonpj, thomie
      
      Differential Revision: https://phabricator.haskell.org/D2504
      
      GHC Trac Issues: #12356
      eedb3df0
    • Matthew Pickering's avatar
      Make interface loading for COMPLETE pragmas lazy · b16239a9
      Matthew Pickering authored
      Without this additional laziness we will loop forever trying
      to find the definitions of the conlikes referenced in the pragma.
      
      Fixes #13188
      
      Reviewers: austin, RyanGlScott, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D3058
      
      GHC Trac Issues: #13188
      b16239a9
    • Oleg Grenrus's avatar
      Introduce GHC.TypeNats module, change KnownNat evidence to be Natural · 1fcede43
      Oleg Grenrus authored
      Reviewers: dfeuer, austin, hvr, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D3024
      
      GHC Trac Issues: #13181
      1fcede43
    • Ben Gamari's avatar
      Don't tick top-level string literals · f5b275a2
      Ben Gamari authored
      This fixes a regression due to D2605 (see #8472) wherein top-level primitive
      strings would fail to be noticed by CoreToStg as they were wrapped in a
      tick. This resulted in a panic in CoreToStg due to inconsistent CAF information
      (or a Core Lint failure, if enabled). Here we document the invariant that
      unlifted expressions can only sit at top-level if of the form `Lit (MachStr
      ...)` with no ticks or other embellishments. Moreover, we fix instance of
      this in `Simplify.prepareRhs` and `FloatOut.wrapTick` where this
      invariant was being broken.
      
      Test Plan: Validate with `-g`. Run testsuite with `WAY=ghci`.
      
      Reviewers: austin, simonpj
      
      Reviewed By: simonpj
      
      Subscribers: simonpj, akio, scpmw, thomie
      
      Differential Revision: https://phabricator.haskell.org/D3051
      f5b275a2
    • Ben Gamari's avatar
      base: Derive Enum, Bounded for VecCount, VecElem · 5cb5b7a5
      Ben Gamari authored
      
      Test Plan: Validate
      
      Reviewers: RyanGlScott, austin, hvr
      
      Reviewed By: RyanGlScott
      
      Subscribers: goldfire, RyanGlScott, thomie
      
      Differential Revision: https://phabricator.haskell.org/D3059
      5cb5b7a5
  5. 01 Feb, 2017 6 commits
  6. 31 Jan, 2017 5 commits
    • Ben Gamari's avatar
      Export callStackDoc · 25e0cfc6
      Ben Gamari authored
      It's generally a pretty useful thing to have around.
      
      [skip ci]
      
      Test Plan: Build it
      
      Reviewers: austin, dfeuer
      
      Reviewed By: dfeuer
      
      Subscribers: dfeuer, thomie
      
      Differential Revision: https://phabricator.haskell.org/D3048
      25e0cfc6
    • Takenobu Tani's avatar
      user-guide: fix links and file names (fixes #13198) · b15136af
      Takenobu Tani authored
      There are some incorrect links and file names in GHC user's guide.
      
        * docs/users_guide/glasgow_exts.rst
          - GHC/Base.lhs
          - GHC/List.lhs
      
        * docs/users_guide/ffi-chap.rst
          - :base-ref:`Foreign`
          - :base-ref:`Control.Concurrent`
      
      I fixed them.
      
      Reviewers: austin, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D3035
      
      GHC Trac Issues: #13198
      b15136af
    • alexbiehl's avatar
      Abstract over the way eventlogs are flushed · 4dfc6d1c
      alexbiehl authored
      Currently eventlog data is always written to a file `progname.eventlog`.
      This patch introduces the `flushEventLog` field in `RtsConfig` which
      allows to customize the writing of eventlog data.
      
      One possible scenario is the ongoing live-profile-monitor effort by
      @NCrashed which slurps all eventlog data through `fluchEventLog`.
      
      `flushEventLog` takes a buffer with eventlog data and its size and
      returns `false` (0) in case eventlog data could not be procesed.
      
      Reviewers: simonmar, austin, erikd, bgamari
      
      Reviewed By: simonmar, bgamari
      
      Subscribers: qnikst, thomie, NCrashed
      
      Differential Revision: https://phabricator.haskell.org/D2934
      4dfc6d1c
    • Ben Gamari's avatar
      FloatOut: Allow floating through breakpoint ticks · 44f079f7
      Ben Gamari authored
      I believe this is actually a completely valid thing to do, despite the
      arguments put forth in #10052. All that was missing was logic in
      SetLevels to correctly substitute the cloned binders into the
      breakpoint's free variable list.
      
      This is a prerequisite for enabling StaticPointer support in the
      interpreter.
      
      Test Plan: Validate
      
      Reviewers: austin, scpmw
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D3049
      44f079f7
    • Ben Gamari's avatar
      afc05c76