1. 23 Aug, 2019 2 commits
    • Ömer Sinan Ağacan's avatar
      Make non-streaming LLVM and C backends streaming · a8300520
      Ömer Sinan Ağacan authored
      This adds a Stream.consume function, uses it in LLVM and C code
      generators, and removes the use of Stream.collect function which was
      used to collect streaming Cmm generation results into a list.
      
      LLVM and C backends now properly use streamed Cmm generation, instead of
      collecting Cmm groups into a list before generating LLVM/C code.
      a8300520
    • Ömer Sinan Ağacan's avatar
      Remove special case in SRT generation with -split-sections · c3e26ab3
      Ömer Sinan Ağacan authored
      Previously we were using an empty ModuleSRTInfo for each Cmm group with
      -split-section. As far as I can see this has no benefits, and
      simplifying this makes another patch simpler (!1304).
      
      We also remove some outdated comments: we no longer generate one
      module-level SRT.
      c3e26ab3
  2. 22 Aug, 2019 4 commits
  3. 19 Aug, 2019 5 commits
  4. 18 Aug, 2019 5 commits
  5. 16 Aug, 2019 4 commits
  6. 15 Aug, 2019 1 commit
    • James Foster's avatar
      Remove unused imports of the form 'import foo ()' (Fixes #17065) · ca71d551
      James Foster authored
      These kinds of imports are necessary in some cases such as
      importing instances of typeclasses or intentionally creating
      dependencies in the build system, but '-Wunused-imports' can't
      detect when they are no longer needed. This commit removes the
      unused ones currently in the code base (not including test files
      or submodules), with the hope that doing so may increase
      parallelism in the build system by removing unnecessary
      dependencies.
      ca71d551
  7. 14 Aug, 2019 3 commits
    • Richard Eisenberg's avatar
      GHCi supports not-necessarily-lifted join points · 6329c70a
      Richard Eisenberg authored
      Fixes #16509.
      
      See Note [Not-necessarily-lifted join points] in ByteCodeGen,
      which tells the full story.
      
      This commit also adds some comments and cleans some code
      in the byte-code generator, as I was exploring around trying
      to understand it.
      
      (This commit removes an old test -- this is really a GHCi problem,
      not a pattern-synonym problem.)
      
      test case: ghci/scripts/T16509
      6329c70a
    • Andreas Klebinger's avatar
      Use os.devnull instead of '/dev/null' in the testsuite driver. · aa4d8b07
      Andreas Klebinger authored
      The later caused issues on windows by being translated into
      "\\dev\\null" and python then trying to open this non-existant file.
      
      So we now use os.devnull inside python and convert it to "/dev/null"
      when calling out to the shell, which is bound to run in a unix like
      environment.
      
      This fixes an issue a test producing unexpected stderr output failed
      with a framework failure instead of showing a diff of the output.
      aa4d8b07
    • Andreas Klebinger's avatar
      Rework the Binary Integer instance. · a38104b4
      Andreas Klebinger authored
      We used to serialise large integers as strings. Now they are serialized
      as a list of Bytes.
      
      This changes the size for a Integer in the higher 64bit range from 77 to
      9 bytes when written to disk.
      
      The impact on the general case is small (<1% for interface files) as we
      don't use many Integers. But for code that uses many this should be a
      nice benefit.
      a38104b4
  8. 13 Aug, 2019 2 commits
  9. 10 Aug, 2019 4 commits
    • Ömer Sinan Ağacan's avatar
      Reformat comments in StgSyn · 672cbab2
      Ömer Sinan Ağacan authored
      This does not make any changes in the contents -- formatting only.
      
      Previously the comments were too noisy and I've always found it very
      hard to read. Hopefully it's easier to read now.
      672cbab2
    • Ömer Sinan Ağacan's avatar
      Add test for #16893 · 0424de2d
      Ömer Sinan Ağacan authored
      0424de2d
    • Ben Gamari's avatar
      Add timing on loadInterface · 422ffce0
      Ben Gamari authored
      AndreasK recently mentioned that he thought that interface file loading
      may be a non-trivial cost. Let's measure.
      422ffce0
    • Joachim Breitner's avatar
      Consolidate `TablesNextToCode` and `GhcUnreigsterised` in configure (#15548) · 81860281
      Joachim Breitner authored
      `TablesNextToCode` is now a substituted by configure, where it has the
      correct defaults and error handling. Nowhere else needs to duplicate
      that, though we may want the compiler to to guard against bogus settings
      files.
      
      I renamed it from `GhcEnableTablesNextToCode` to `TablesNextToCode` to:
      
       - Help me guard against any unfixed usages
      
       - Remove any lingering connotation that this flag needs to be combined
         with `GhcUnreigsterised`.
      
      Original reviewers:
      
      Original subscribers: TerrorJack, rwbarton, carter
      
      Original Differential Revision: https://phabricator.haskell.org/D5082
      81860281
  10. 07 Aug, 2019 10 commits