1. 28 Aug, 2014 7 commits
  2. 25 Aug, 2014 3 commits
  3. 24 Aug, 2014 1 commit
  4. 23 Aug, 2014 2 commits
  5. 22 Aug, 2014 4 commits
  6. 21 Aug, 2014 1 commit
  7. 19 Aug, 2014 8 commits
  8. 14 Aug, 2014 1 commit
    • Herbert Valerio Riedel's avatar
      Implement new CLZ and CTZ primops (re #9340) · e0c1767d
      Herbert Valerio Riedel authored
      This implements the new primops
      
        clz#, clz32#, clz64#,
        ctz#, ctz32#, ctz64#
      
      which provide efficient implementations of the popular
      count-leading-zero and count-trailing-zero respectively
      (see testcase for a pure Haskell reference implementation).
      
      On x86, NCG as well as LLVM generates code based on the BSF/BSR
      instructions (which need extra logic to make the 0-case well-defined).
      
      Test Plan: validate and succesful tests on i686 and amd64
      
      Reviewers: rwbarton, simonmar, ezyang, austin
      
      Subscribers: simonmar, relrod, ezyang, carter
      
      Differential Revision: https://phabricator.haskell.org/D144
      
      GHC Trac Issues: #9340
      e0c1767d
  9. 12 Aug, 2014 6 commits
  10. 11 Aug, 2014 1 commit
  11. 10 Aug, 2014 3 commits
  12. 09 Aug, 2014 2 commits
  13. 08 Aug, 2014 1 commit
    • Simon Peyton Jones's avatar
      Implement the final change to INCOHERENT from Trac #9242 · dff0623d
      Simon Peyton Jones authored
      The change here is to make INCOHERENT slightly more permissive:
      
        if the selected candidate is incoherent
        then ignore all unifying candidates
      
      This allows us to move the {-# INCOHERENT #-} pragma from
        from   instance Typeable (f a)
        to     Typeable (n:Nat) and Typable (s:Symbol)
      where it belongs, and where Trac #9242 said it should be.
      
      I don't think this will affect anyone.
      
      I've updated the user manual.
      dff0623d