1. 03 Aug, 2016 5 commits
  2. 02 Aug, 2016 1 commit
  3. 01 Aug, 2016 3 commits
  4. 30 Jul, 2016 1 commit
    • alexbiehl's avatar
      Add atomic operations to package.conf.in · c06e3f46
      alexbiehl authored
      This patch resulted from the discussion in D2431 and should be merged
      @erikd and @trommler reported errors like
      ): In function `c14_info':
      (.text+0x2b8): undefined reference to `hs_cmpxchg32'
      ): In function `c5e_info':
      (.text+0xac4): undefined reference to `hs_cmpxchg32'
      ): In function `c8b_info':
      (.text+0x1198): undefined reference to `hs_cmpxchg32'
      ): In function `c8b_info':
      (.text+0x122c): undefined reference to `hs_cmpxchg32'
      ): In function `c8b_info':
      (.text+0x12ec): undefined reference to `hs_cmpxchg32'
      on PowerPC. @simonmar suggests to add the specific exports to
      `rts/package.conf.in`. This patch does exactly that, including all
      other atomic ops as they probably (maybe someone can verify?) suffer
      from the same problem on PPC.
      Test Plan: Please make sure to build on PPC.
      Reviewers: erikd, austin, bgamari, simonmar, trommler
      Reviewed By: erikd, trommler
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D2435
  5. 28 Jul, 2016 1 commit
  6. 27 Jul, 2016 2 commits
  7. 26 Jul, 2016 4 commits
  8. 25 Jul, 2016 1 commit
  9. 24 Jul, 2016 1 commit
  10. 22 Jul, 2016 8 commits
  11. 21 Jul, 2016 8 commits
    • Gabor Greif's avatar
      More typos in comments · bbf36f89
      Gabor Greif authored
    • Gabor Greif's avatar
    • Ömer Sinan Ağacan's avatar
      Fix and document Unique generation for sum TyCon and DataCons · 8265c783
      Ömer Sinan Ağacan authored
      Test Plan: validate
      Reviewers: bgamari, austin
      Reviewed By: bgamari
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D2420
    • Ömer Sinan Ağacan's avatar
      Bump Haddock submodule · 6a4dc891
      Ömer Sinan Ağacan authored
    • Simon Peyton Jones's avatar
    • Simon Peyton Jones's avatar
    • Simon Peyton Jones's avatar
      Comments only · a09c0e3e
      Simon Peyton Jones authored
    • Ömer Sinan Ağacan's avatar
      Implement unboxed sum primitive type · 714bebff
      Ömer Sinan Ağacan authored
      This patch implements primitive unboxed sum types, as described in
      Main changes are:
      - Add new syntax for unboxed sums types, terms and patterns. Hidden
        behind `-XUnboxedSums`.
      - Add unlifted unboxed sum type constructors and data constructors,
        extend type and pattern checkers and desugarer.
      - Add new RuntimeRep for unboxed sums.
      - Extend unarise pass to translate unboxed sums to unboxed tuples right
        before code generation.
      - Add `StgRubbishArg` to `StgArg`, and a new type `CmmArg` for better
        code generation when sum values are involved.
      - Add user manual section for unboxed sums.
      Some other changes:
      - Generalize `UbxTupleRep` to `MultiRep` and `UbxTupAlt` to
        `MultiValAlt` to be able to use those with both sums and tuples.
      - Don't use `tyConPrimRep` in `isVoidTy`: `tyConPrimRep` is really
        wrong, given an `Any` `TyCon`, there's no way to tell what its kind
        is, but `kindPrimRep` and in turn `tyConPrimRep` returns `PtrRep`.
      - Fix some bugs on the way: #12375.
      Not included in this patch:
      - Update Haddock for new the new unboxed sum syntax.
      - `TemplateHaskell` support is left as future work.
      For reviewers:
      - Front-end code is mostly trivial and adapted from unboxed tuple code
        for type checking, pattern checking, renaming, desugaring etc.
      - Main translation routines are in `RepType` and `UnariseStg`.
        Documentation in `UnariseStg` should be enough for understanding
        what's going on.
      - Johan Tibell wrote the initial front-end and interface file
      - Simon Peyton Jones reviewed this patch many times, wrote some code,
        and helped with debugging.
      Reviewers: bgamari, alanz, goldfire, RyanGlScott, simonpj, austin,
                 simonmar, hvr, erikd
      Reviewed By: simonpj
      Subscribers: Iceland_jack, ggreif, ezyang, RyanGlScott, goldfire,
                   thomie, mpickering
      Differential Revision: https://phabricator.haskell.org/D2259
  12. 20 Jul, 2016 5 commits
    • Ben Gamari's avatar
      Revert "Clean up interaction between name cache and built-in syntax" · 83e4f495
      Ben Gamari authored
      This reverts commit 9513fe6b.
      Sadly this broke with -DDEBUG.
    • gcampax's avatar
      Compact Regions · cf989ffe
      gcampax authored
      This brings in initial support for compact regions, as described in the
      ICFP 2015 paper "Efficient Communication and Collection with Compact
      Normal Forms" (Edward Z. Yang et.al.) and implemented by Giovanni
      Some things may change before the 8.2 release, but I (Simon M.) wanted
      to get the main patch committed so that we can iterate.
      What documentation there is is in the Data.Compact module in the new
      compact package.  We'll need to extend and polish the documentation
      before the release.
      Test Plan:
      (new test cases included)
      Reviewers: ezyang, simonmar, hvr, bgamari, austin
      Subscribers: vikraman, Yuras, RyanGlScott, qnikst, mboes, facundominguez, rrnewton, thomie, erikd
      Differential Revision: https://phabricator.haskell.org/D1264
      GHC Trac Issues: #11493
    • Ben Gamari's avatar
      Add another testcase for #12082 · 93acc02f
      Ben Gamari authored
      Test Plan: Validate, should pass.
      Reviewers: austin
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D2399
      GHC Trac Issues: #12082
    • Ben Gamari's avatar
      testsuite: Add regression test for #12381 · a4f2b766
      Ben Gamari authored
      Test Plan: Validate
      Reviewers: austin
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D2408
      GHC Trac Issues: #12381, #11348
    • Ben Gamari's avatar
      Clean up interaction between name cache and built-in syntax · 9513fe6b
      Ben Gamari authored
      This cleans up various aspects of the handling of built-in syntax in the
      original name cache (hopefully resulting in a nice reduction in compiler
        * Remove tuple types from original name cache: There is really no
          reason for these to be in the name cache since we already handle
          them specially in interface files to ensure that we can resolve them
          directly to Names, avoiding extraneous name cache lookups.
        * Sadly it's not possible to remove all traces of tuples from the
          name cache, however. Namely we need to keep the tuple type
          representations in since otherwise they would need to be wired-in
        * Remove the special cases for (:), [], and (##) in isBuiltInOcc_maybe
          and rename it to isTupleOcc_maybe
        * Split lookupOrigNameCache into two variants,
           * lookupOrigNameCache': Merely looks up an OccName in the original
             name cache, making no attempt to resolve tuples
           * lookupOrigNameCache: Like the above but handles tuples as well.
             This is given the un-primed name since it does the "obvious"
             thing from the perspective of an API user, who knows nothing of
             our special treatment of tuples.
      Arriving at this design took a significant amount of iteration. The
      trail of debris leading here can be found in #11357.
      Thanks to ezyang and Simon for all of their help in coming to this
      Test Plan: Validate
      Reviewers: goldfire, simonpj, austin
      Reviewed By: simonpj
      Subscribers: thomie, ezyang
      Differential Revision: https://phabricator.haskell.org/D2414
      GHC Trac Issues: #11357