1. 08 Nov, 2017 4 commits
  2. 07 Nov, 2017 12 commits
  3. 06 Nov, 2017 10 commits
  4. 03 Nov, 2017 8 commits
    • Andreas Klebinger's avatar
    • Julie Moronuki's avatar
      change example from msum to mfilter · df479f7c
      Julie Moronuki authored
    • cydparser's avatar
      Fix documentation and comment issues · 5d48f7ce
      cydparser authored
    • David Feuer's avatar
      Deserialize all function TypeReps · 19ca2cab
      David Feuer authored
      Previously, we could only deserialize `TypeRep (a -> b)` if
      both `a` and `b` had kind `Type`. Now, we do it regardless of
      their runtime representations.
      Reviewers: austin, bgamari
      Reviewed By: bgamari
      Subscribers: rwbarton, thomie
      Differential Revision: https://phabricator.haskell.org/D4137
    • David Feuer's avatar
      Name TypeRep constructor fields · 3c8e55ce
      David Feuer authored
      Give `TypeRep` constructor fields names, and use them when pattern
      matching and constructing values. This is a bit verbose, but makes
      it obvious which field means what.
      Reviewers: austin, hvr, bgamari
      Reviewed By: bgamari
      Subscribers: rwbarton, thomie
      Differential Revision: https://phabricator.haskell.org/D4136
    • alexbiehl's avatar
      Bump haddock submodule · eb371322
      alexbiehl authored
      Reviewers: austin, bgamari
      Subscribers: rwbarton, thomie
      Differential Revision: https://phabricator.haskell.org/D4144
    • Ben Gamari's avatar
      llvmGen: Pass vector arguments in vector registers by default · 15f788f5
      Ben Gamari authored
      Earlier this year Edward Kmett requested [1] that we enable passing of
      vector values in vector registers by default. The GHC calling convention
      changes have been in LLVM for a number of years now so let's just flip
      the switch.
      [1] https://mail.haskell.org/pipermail/ghc-devs/2017-March/013905.html
      Reviewers: austin
      Subscribers: rwbarton, thomie
      Differential Revision: https://phabricator.haskell.org/D4142
    • alexbiehl's avatar
      CmmSink: Use a IntSet instead of a list · 43537568
      alexbiehl authored
      CmmProcs which have *lots* of local variables take a considerable
      amount of time in CmmSink. This was noticed by @tdammers in #7258
      while compiling files with large records (~200-400 fields).
              Sun Oct 29 19:58 2017 Time and Allocation Profiling Report (Final)
                 ghc-stage2 +RTS -p -RTS
      -B/Users/alexbiehl/git/ghc/inplace/lib /Users/alexbiehl/Downloads/W2.hs
      -fforce-recomp -O2
              total time  =       26.00 secs   (25996 ticks @ 1000 us, 1 processor)
              total alloc = 14,921,627,912 bytes  (excludes profiling overheads)
      COST CENTRE     MODULE      SRC %time %alloc
      sink            CmmPipeline
      compiler/cmm/CmmPipeline.hs:(104,13)-(105,59)        55.7   15.9
      SimplTopBinds   SimplCore   compiler/simplCore/SimplCore.hs:761:39-74 19.5   30.6
      FloatOutwards   SimplCore   compiler/simplCore/SimplCore.hs:471:40-66 4.2    9.0
      RegAlloc-linear AsmCodeGen compiler/nativeGen/AsmCodeGen.hs:(658,27)-(660,55)    4.0   11.1
      pprNativeCode   AsmCodeGen compiler/nativeGen/AsmCodeGen.hs:(529,37)-(530,65)    2.8    6.3
      NewStranal      SimplCore   compiler/simplCore/SimplCore.hs:480:40-63 1.6    3.7
      OccAnal         SimplCore compiler/simplCore/SimplCore.hs:(739,22)-(740,67)     1.5    3.5
      StgCmm          HscMain compiler/main/HscMain.hs:(1426,13)-(1427,62)          1.2    2.4
      regLiveness     AsmCodeGen compiler/nativeGen/AsmCodeGen.hs:(591,17)-(593,52)    1.2    1.9
      genMachCode     AsmCodeGen compiler/nativeGen/AsmCodeGen.hs:(580,17)-(582,62)    0.9    1.8
      NativeCodeGen   CodeOutput  compiler/main/CodeOutput.hs:171:18-78 0.9    2.1
      CoreTidy        HscMain     compiler/main/HscMain.hs:1253:27-67 0.8    1.9
              Sun Oct 29 19:18 2017 Time and Allocation Profiling Report (Final)
                 ghc-stage2 +RTS -p -RTS
      -B/Users/alexbiehl/git/ghc/inplace/lib /Users/alexbiehl/Downloads/W2.hs
      -fforce-recomp -O2
              total time  =       13.31 secs   (13307 ticks @ 1000 us, 1 processor)
              total alloc = 15,772,184,488 bytes  (excludes profiling overheads)
      COST CENTRE     MODULE         SRC %time %alloc
      SimplTopBinds   SimplCore
      compiler/simplCore/SimplCore.hs:761:39-74            38.3   29.0
      sink            CmmPipeline compiler/cmm/CmmPipeline.hs:(104,13)-(105,59)        13.2   20.3
      RegAlloc-linear AsmCodeGen compiler/nativeGen/AsmCodeGen.hs:(658,27)-(660,55)    8.3   10.5
      FloatOutwards   SimplCore compiler/simplCore/SimplCore.hs:471:40-66             8.1    8.5
      pprNativeCode   AsmCodeGen compiler/nativeGen/AsmCodeGen.hs:(529,37)-(530,65)    5.4    5.9
      NewStranal      SimplCore compiler/simplCore/SimplCore.hs:480:40-63             3.1    3.5
      OccAnal         SimplCore compiler/simplCore/SimplCore.hs:(739,22)-(740,67)     2.9    3.3
      StgCmm          HscMain compiler/main/HscMain.hs:(1426,13)-(1427,62)          2.3    2.3
      regLiveness     AsmCodeGen compiler/nativeGen/AsmCodeGen.hs:(591,17)-(593,52)    2.1    1.8
      NativeCodeGen   CodeOutput     compiler/main/CodeOutput.hs:171:18-78 1.7    2.0
      genMachCode     AsmCodeGen compiler/nativeGen/AsmCodeGen.hs:(580,17)-(582,62)    1.6    1.7
      CoreTidy        HscMain        compiler/main/HscMain.hs:1253:27-67 1.4    1.8
      foldNodesBwdOO  Hoopl.Dataflow compiler/cmm/Hoopl/Dataflow.hs:(397,1)-(403,17)       1.1    0.8
      Reviewers: austin, bgamari, simonmar
      Reviewed By: bgamari
      Subscribers: duog, rwbarton, thomie, tdammers
      GHC Trac Issues: #7258
      Differential Revision: https://phabricator.haskell.org/D4145
  5. 02 Nov, 2017 6 commits
    • Sergei Trofimovich's avatar
      rts/PrimOps.cmm: add declaration for heapOverflow closure · 51321cf2
      Sergei Trofimovich authored
      Before the change UNREG ghc build failed as:
        rts_dist_HC rts/dist/build/PrimOps.o
      /tmp/ghc2370_0/ghc_4.hc: In function 'stg_newByteArrayzh':
      /tmp/ghc2370_0/ghc_4.hc:26:13: error:
           error: 'base_GHCziIOziException_heapOverflow_closure'
               undeclared (first use in this function)
           R1.w = (W_)&base_GHCziIOziException_heapOverflow_closure;
      26 | R1.w = (W_)&base_GHCziIOziException_heapOverflow_closure;
         |             ^
      It's an UNREG-specific failure because C backend always requires
      declarations to be known.
      Added missing declaration.
      Signed-off-by: default avatarSergei Trofimovich <slyfox@gentoo.org>
    • Ben Gamari's avatar
      Revert "Move check-ppr and check-api-annotations to testsuite/utils" · d9b6015d
      Ben Gamari authored
      Unfortunately this (ironically) ended up breaking bindist testing since
      we didn't have a package-data.mk. Unfortunately there is no easy way to
      fix this.
      This reverts commit 1e9f90af.
    • Peter Trommler's avatar
      Fix atomicread/write operations · bd765f4b
      Peter Trommler authored
      In `libraries/ghc-prim/cbits/atomic.c` no barriers were issued for
      atomic read and write operations. Starting with gcc 4.7 compiler
      intrinsics are offered. The atomic intrinisics are also available in
      clang. Use these to implement `hs_atomicread*` and `hs_atomicwrite`.
      Test Plan: validate on OSX and Windows
      Reviewers: austin, bgamari, simonmar, hvr, erikd, dfeuer
      Reviewed By: bgamari
      Subscribers: dfeuer, rwbarton, thomie
      GHC Trac Issues: #14244
      Differential Revision: https://phabricator.haskell.org/D4009
    • Ben Gamari's avatar
      Introduce -dsuppress-stg-free-vars flag · cbd6a4d0
      Ben Gamari authored
      This breaks out control over STG free variable list output from
      -dppr-debug into its own distinct flag. This makes it more discoverable
      and easier to change independently from other dump output.
      Test Plan: Validate
      Reviewers: austin
      Subscribers: rwbarton, thomie
      Differential Revision: https://phabricator.haskell.org/D4140
    • Ben Gamari's avatar
      TcRnDriver: Bracket family instance consistency output in -ddump-rn-trace · 36f0cb74
      Ben Gamari authored
      Reviewers: austin
      Subscribers: rwbarton, thomie
      Differential Revision: https://phabricator.haskell.org/D4141
    • David Feuer's avatar
      Add custom exception for fixIO · b938576d
      David Feuer authored
      Traditionally, `fixIO f` throws `BlockedIndefinitelyOnMVar` if
      `f` is strict. This is not particularly friendly, since the
      `MVar` in question is just part of the way `fixIO` happens to be
      implemented. Instead, throw a new `FixIOException` with a better
      explanation of the problem.
      Reviewers: austin, hvr, bgamari
      Subscribers: rwbarton, thomie
      GHC Trac Issues: #14356
      Differential Revision: https://phabricator.haskell.org/D4113