Skip to content
Snippets Groups Projects
  1. Aug 28, 2023
    • Zubin's avatar
      testsuite: Add regression test for #23864 · b6903f4d
      Zubin authored and Marge Bot's avatar Marge Bot committed
      Simon says this was fixed by
      
      commit 59202c80
      Author: Sebastian Graf <sebastian.graf@kit.edu>
      Date:   Fri Mar 31 17:35:22 2023 +0200
      
          CorePrep: Eliminate EmptyCase and unsafeEqualityProof in CoreToStg instead
      
          We eliminate EmptyCase by way of `coreToStg (Case e _ _ []) = coreToStg e` now.
          The main reason is that it plays far better in conjunction with eta expansion
          (as we aim to do for arguments in CorePrep, #23083), because we can discard
          any arguments, `(case e of {}) eta == case e of {}`, whereas in `(e |> co) eta`
          it's impossible to discard the argument.
      b6903f4d
    • Zubin's avatar
      testsuite: Add regression test for #23861 · 5248fdf7
      Zubin authored
      Simon says this was fixed by
      
      commit 8d686854
      Author: sheaf <sam.derbyshire@gmail.com>
      Date:   Fri Aug 4 15:28:45 2023 +0200
      
          Remove zonk in tcVTA
  2. Aug 27, 2023
  3. Aug 26, 2023
  4. Aug 25, 2023
  5. Aug 24, 2023
    • Finley McIlwaine's avatar
      Add a test checking overhead of -finfo-table-map · d3e0124c
      Finley McIlwaine authored and Marge Bot's avatar Marge Bot committed
      We want to make sure we don't end up with poor codegen performance resulting from
      -finfo-table-map again as in #23103. This test adds a performance test tracking
      total allocations while compiling ExactPrint with -finfo-table-map.
      d3e0124c
    • Finley McIlwaine's avatar
      Refactor estimation of stack info table provenance · d99c816f
      Finley McIlwaine authored and Marge Bot's avatar Marge Bot committed
      This commit greatly refactors the way we compute estimated provenance for stack
      info tables. Previously, this process was done using an entirely separate traversal
      of the whole Cmm code stream to build the map from info tables to source locations.
      The separate traversal is now fused with the Cmm code generation pipeline in
      GHC.Driver.Main.
      
      This results in very significant code generation speed ups when -finfo-table-map is
      enabled. In testing, this patch reduces code generation times by almost 30% with
      -finfo-table-map and -O0, and 60% with -finfo-table-map and -O1 or -O2 .
      
      Fixes #23103
      d99c816f
    • Antoine Leblanc's avatar
      Be more eager in TyCon boot validity checking · 1420b8cb
      Antoine Leblanc authored and Marge Bot's avatar Marge Bot committed
      This commit performs boot-file consistency checking for TyCons into
      checkValidTyCl. This ensures that we eagerly catch any mismatches,
      which prevents the compiler from seeing these inconsistencies and
      panicking as a result.
      
      See Note [TyCon boot consistency checking] in GHC.Tc.TyCl.
      
      Fixes #16127
      1420b8cb
  6. Aug 23, 2023
  7. Aug 22, 2023
    • Alan Zimmerman's avatar
      EPA: Use Introduce [DeclTag] in AnnSortKey · ab40aa52
      Alan Zimmerman authored and Marge Bot's avatar Marge Bot committed
      The AnnSortKey is used to keep track of the order of declarations for
      printing when the container has split them apart.
      
      This applies to HsValBinds and ClassDecl, ClsInstDecl.
      
      When making modifications to the list of declarations, the new order
      must be captured for when it must be printed. For each list of
      declarations (binds and sigs for a HsValBind) we can just store the
      list in order.
      
      To recreate the list when printing, we must merge them, and this is
      what the AnnSortKey records. It used to be indexed by SrcSpan, we now
      simply index by a marker as to which list to take the next item from.
      ab40aa52
Loading