1. 19 Oct, 2014 1 commit
  2. 18 Oct, 2014 3 commits
    • Herbert Valerio Riedel's avatar
      Generalise `Control.Monad.{foldM,foldM_}` to `Foldable` (#9586) · ce237451
      Herbert Valerio Riedel authored
      With this change `Control.Monad.foldM` becomes an alias for
      `Data.Foldable.foldlM`.
      
      Reviewed By: austin, ekmett
      
      Differential Revision: https://phabricator.haskell.org/D251
      ce237451
    • mgmeier's avatar
      Remove obsolete Data.OldTypeable (#9639) · 7369d259
      mgmeier authored
      This finally removes the `Data.OldTypeable` module (which
      has been deprecated in 7.8), from `base`, compiler and testsuite.
      
      The deprecated `Typeable{1..7}` aliases in `Data.Typeable` are not
      removed yet in order to give existing code a bit more time to adapt.
      
      Reviewed By: hvr, dreixel
      
      Differential Revision: https://phabricator.haskell.org/D311
      7369d259
    • Herbert Valerio Riedel's avatar
      Implement optimized NCG `MO_Ctz W64` op for i386 (#9340) · 612f3d12
      Herbert Valerio Riedel authored
      Summary:
      This is an optimization to the CTZ primops introduced for #9340
      
      Previously we called out to `hs_ctz64`, but we can actually generate
      better hand-tuned code while avoiding the FFI ccall.
      
      With this patch, the code
      
        {-# LANGUAGE MagicHash #-}
        module TestClz0 where
        import GHC.Prim
        ctz64 :: Word64# -> Word#
        ctz64 x = ctz64# x
      
      results in the following assembler generated by NCG on i386:
      
        TestClz.ctz64_info:
            movl (%ebp),%eax
            movl 4(%ebp),%ecx
            movl %ecx,%edx
            orl %eax,%edx
            movl $64,%edx
            je _nAO
      
            bsf %ecx,%ecx
            addl $32,%ecx
            bsf %eax,%eax
            cmovne %eax,%ecx
            movl %ecx,%edx
        _nAO:
            movl %edx,%esi
            addl $8,%ebp
            jmp *(%ebp)
      
      For comparision, here's what LLVM 3.4 currently generates:
      
        000000fc <TestClzz_ctzz64_info>:
          fc:   0f bc 45 04             bsf    0x4(%ebp),%eax
         100:   b9 20 00 00 00          mov    $0x20,%ecx
         105:   0f 45 c8                cmovne %eax,%ecx
         108:   83 c1 20                add    $0x20,%ecx
         10b:   8b 45 00                mov    0x0(%ebp),%eax
         10e:   8b 55 08                mov    0x8(%ebp),%edx
         111:   0f bc f0                bsf    %eax,%esi
         114:   85 c0                   test   %eax,%eax
         116:   0f 44 f1                cmove  %ecx,%esi
         119:   83 c5 08                add    $0x8,%ebp
         11c:   ff e2                   jmp    *%edx
      
      Reviewed By: austin
      
      Auditors: simonmar
      
      Differential Revision: https://phabricator.haskell.org/D163
      612f3d12
  3. 17 Oct, 2014 3 commits
    • Austin Seipp's avatar
      rts: fix unused parameter warning · 1c35f9f1
      Austin Seipp authored
      Summary:
      If `pthread_setname_np` is not available, then a regular
      ./validate will fail due to warnings; the `name` parameter to
      `createOSThread` becomes unused.
      Signed-off-by: default avatarAustin Seipp <austin@well-typed.com>
      
      Test Plan: iiam
      
      Reviewers: simonmar, nomeata, jstolarek, hvr
      
      Reviewed By: nomeata, jstolarek, hvr
      
      Subscribers: nomeata, thomie, carter, ezyang, simonmar
      
      Differential Revision: https://phabricator.haskell.org/D344
      1c35f9f1
    • Joachim Breitner's avatar
      Update T6056 output · 0e2bd03b
      Joachim Breitner authored
      according to travis (and proably Harbormaster), although I just cannot
      reproduce it here.
      0e2bd03b
    • Joachim Breitner's avatar
      Avoid printing uniques in specialization rules · a477e811
      Joachim Breitner authored
      Akio found an avoidable cause of non-determinisim: The names of RULES
      generated by Specialise had uniques in them:
          "SPEC $cshowsPrec_a2QX @ [GHC.Types.Char]" [ALWAYS] forall ...
      By using showSDocForUser instead of showSDocDump when building the rule
      name, this is avoided:
          "SPEC $cshowsPrec @ [Char]" [ALWAYS] forall ...
      See #4012, comments 61ff.
      a477e811
  4. 16 Oct, 2014 3 commits
  5. 14 Oct, 2014 2 commits
  6. 13 Oct, 2014 7 commits
  7. 12 Oct, 2014 1 commit
  8. 11 Oct, 2014 4 commits
    • Herbert Valerio Riedel's avatar
      Refactor to avoid need for `Unicode.hs-boot` · 1942fd6a
      Herbert Valerio Riedel authored
      This avoids the import-cycle caused by the import of `Foreign.C.Types`
      by using `Int` instead of `CInt` for the Unicode classification
      functions. This refactoring also allows to remove a couple of
      `fromIntegral`s.
      
      Reviewed By: rwbarton, ekmett
      
      Differential Revision: https://phabricator.haskell.org/D328
      1942fd6a
    • gintas's avatar
      Extend windows detection in testsuite to recognize MSYS target · 034b2035
      gintas authored
      Currently, the detection recognizes the following `uname -s` strings:
      
       - `CYGWIN_NT-6.3`
       - `MINGW32_NT-6.3`
       - `MINGW64_NT_6.3`
      
      However, MSYS2 provides an additional target, in which case `uname -s`
      returns a string such as `MSYS_NT-6.3`. In all these cases, the system
      ought to be recognized as being a `windows` os by the testsuite runner.
      
      See also #9604
      034b2035
    • gintas's avatar
      Fallback to `ctypes.cdll` if `ctypes.windll` unavailable · 1032554a
      gintas authored
      On Windows, we may be using a native build of Python or a mingw/msys build. The
      former exports `ctypes.windll`, the latter exports `cdll`. Previously the code
      threw an exception when using the msys Python because it expected `windll` to
      always be available on Windows.
      
      Differential Revision: https://phabricator.haskell.org/D308
      1032554a
    • Herbert Valerio Riedel's avatar
      Remove a few redundant `.hs-boot` files · ad4a7139
      Herbert Valerio Riedel authored
      There don't seem to be any corresponding `{-# SOURCE #-}` for the removed
      `.hs-boot`-files anymore (if there ever was any in the first place).
      
      This also removes a commented out `{-# SOURCE #-}` import which turns up when
      grepping the source for `{-# SOURCE #-}` occurences.
      ad4a7139
  9. 10 Oct, 2014 5 commits
  10. 08 Oct, 2014 6 commits
  11. 07 Oct, 2014 5 commits