Skip to content
Snippets Groups Projects
  1. Dec 02, 2023
  2. Dec 01, 2023
  3. Nov 30, 2023
    • Krzysztof Gogolewski's avatar
      Kind-check body of a required forall · bd8acc0c
      Krzysztof Gogolewski authored and Marge Bot's avatar Marge Bot committed
      We now require that in 'forall a -> ty', ty has kind TYPE r for some r.
      Fixes #24176
      bd8acc0c
    • Alan Zimmerman's avatar
      EPA: EpaDelta for comment has no comments · c7623b22
      Alan Zimmerman authored and Marge Bot's avatar Marge Bot committed
      EpaLocation is used to position things. It has two constructors,
      EpaSpan holding a SrcSpan, and EpaDelta with a delta position and a
      possible list of comments.  The comment list is needed because the
      location in EpaDelta has no absolute information to decide which
      comments should be emitted before them when printing.
      
      But it is also used for specifying the position of a comment.  To
      prevent the absurdity of a comment position having a list of comments
      in it, we make EpaLocation parameterisable, using comments for the
      normal case and a constant for within comments.
      
      Updates haddock submodule.
      
      aarch64-darwin
      Metric Decrease:
          MultiLayerModulesTH_OneShot
      c7623b22
    • Sebastian Graf's avatar
      perf tests: Move comments into new `Note [Sensitivity to unique increment]` (#19414) · cbc03fa0
      Sebastian Graf authored and Marge Bot's avatar Marge Bot committed
      And additionally to T12545, link from T8095, T13386 to this new Note.
      cbc03fa0
  4. Nov 29, 2023
  5. Nov 28, 2023
  6. Nov 27, 2023
    • Alan Zimmerman's avatar
      EPA: Remove SrcSpanAnn · 4e5ff6a4
      Alan Zimmerman authored and Marge Bot's avatar Marge Bot committed
      Now that we only have a single constructor for EpAnn, And it uses a
      SrcSpan for its location, we can do away with SrcSpanAnn completely.
      It only existed to wrap the original SrcSpan in a location, and
      provide a place for the exact print annotation.
      
      For darwin only:
      Metric Increase:
          MultiLayerModulesTH_OneShot
      
      Updates haddock submodule
      4e5ff6a4
    • ARATA Mizuki's avatar
      x86: Don't require -mavx2 when using 256-bit floating-point SIMD primitives · 7d9a2e44
      ARATA Mizuki authored and Marge Bot's avatar Marge Bot committed
      Fixes #24222
      7d9a2e44
    • Matthew Pickering's avatar
      testsuite: Add mechanism to collect generic metrics · b5213542
      Matthew Pickering authored and Marge Bot's avatar Marge Bot committed
      * Generalise the metric logic by adding an additional field which
        allows you to specify how to query for the actual value. Previously
        the method of querying the baseline value was abstracted (but always
        set to the same thing).
      
      * This requires rejigging how the stat collection works slightly but now
        it's more uniform and hopefully simpler.
      
      * Introduce some new "generic" helper functions for writing generic
        stats tests.
      
        - collect_size ( deviation, path )
          Record the size of the file as a metric
      
        - stat_from_file ( metric, deviation, path )
          Read a value from the given path, and store that as a metric
      
        - collect_generic_stat ( metric, deviation, get_stat)
          Provide your own `get_stat` function, `lambda way: <Int>`, which
          can be used to establish the current value of the metric.
      
        - collect_generic_stats ( metric_info ):
          Like collect_generic_stat but provide the whole dictionary of metric
          definitions.
      
          { metric: {
              deviation: <Int>
              current: lambda way: <Int>
              } }
      
      * Introduce two new "size" metrics for keeping track of build products.
          - `size_hello_obj` - The size of `hello.o` from compiling hello.hs
          - `libdir` - The total size of the `libdir` folder.
      
      * Track the number of modules in the AST tests
         - CountDepsAst
         - CountDepsParser
      
      This lays the infrastructure for #24191 #22256 #17129
      b5213542
  7. Nov 26, 2023
    • Vladislav Zavialov's avatar
      Update Note [hsScopedTvs and visible foralls] · da863d15
      Vladislav Zavialov authored and Marge Bot's avatar Marge Bot committed
      The Note was written before GHC gained support for visible forall in
      types of terms. Rewrite a few sentences and use a better example.
      da863d15
    • Vladislav Zavialov's avatar
      Term variable capture (#23740) · d1bf25c7
      Vladislav Zavialov authored and Marge Bot's avatar Marge Bot committed
      This patch changes type variable lookup rules (lookupTypeOccRn) and
      implicit quantification rules (filterInScope) so that variables bound
      in the term namespace can be captured at the type level
      
        {-# LANGUAGE RequiredTypeArguments #-}
        f1 x = g1 @x                -- `x` used in a type application
        f2 x = g2 (undefined :: x)  -- `x` used in a type annotation
        f3 x = g3 (type x)          -- `x` used in an embedded type
        f4 x = ...
          where g4 :: x -> x        -- `x` used in a type signature
                g4 = ...
      
      This change alone does not allow us to accept examples shown above,
      but at least it gets them past the renamer.
      d1bf25c7
    • Mario's avatar
      Bumped the upper bound of text to <2.2 · 471b2672
      Mario authored and Marge Bot's avatar Marge Bot committed
      471b2672
    • Alan Zimmerman's avatar
      EPA: Remove EpAnnNotUsed · 7902ebf8
      Alan Zimmerman authored and Marge Bot's avatar Marge Bot committed
      We no longer need the EpAnnNotUsed constructor for EpAnn, as we can
      represent an unused annotation with an anchor having a EpaDelta of
      zero, and empty comments and annotations.
      
      This simplifies code handling annotations considerably.
      
      Updates haddock submodule
      
      Metric Increase:
          parsing001
      7902ebf8
    • Vladislav Zavialov's avatar
      Add name for -Wdeprecated-type-abstractions (#24154) · 3ede659d
      Vladislav Zavialov authored and Marge Bot's avatar Marge Bot committed
      This warning had no name or flag and was triggered unconditionally.
      Now it is part of -Wcompat.
      3ede659d
  8. Nov 24, 2023
    • Alan Zimmerman's avatar
      EPA: Remove parenthesizeHsType · 34d86315
      Alan Zimmerman authored and Marge Bot's avatar Marge Bot committed
      This is called from PostProcess.hs, and adds spurious parens.
      With the looser version of exact printing we had before we could
      tolerate this, as they would be swallowed by the original at the same
      place.
      
      But with the next change (remove EpAnnNotUsed) they result in
      duplicates in the output.
      
      For Darwin build:
      
      Metric Increase:
          MultiLayerModulesTH_OneShot
      34d86315
    • Andreas Klebinger's avatar
      Fix FMA primops generating broken assembly on x86. · fa576eb8
      Andreas Klebinger authored and Marge Bot's avatar Marge Bot committed
      `genFMA3Code` assumed that we had to take extra precations to avoid overwriting
      the result of `getNonClobberedReg`. One of these special cases caused a bug resulting
      in broken assembly.
      
      I believe we don't need to hadle these cases specially at all, which means this MR simply
      deletes the special cases to fix the bug.
      
      Fixes #24160
      fa576eb8
  9. Nov 23, 2023
    • Alan Zimmerman's avatar
      EPA: empty tup_tail has noAnn · d2733a05
      Alan Zimmerman authored and Marge Bot's avatar Marge Bot committed
      In Parser.y, the tup_tail rule had the following option
                | {- empty -} %shift   { return [Left noAnn] }
      
      Once this works through PostProcess.hs, it means we add an extra
      Missing constructor if the last item was a comma.
      
      Change the annotation type to a Bool to indicate this, and use the
      EpAnn Anchor for the print location for the others.
      d2733a05
    • BinderDavid's avatar
      Unify the hpc testsuites · 121c9ab7
      BinderDavid authored and Marge Bot's avatar Marge Bot committed
      The hpc testsuite was split between testsuite/tests/hpc
      and the submodule libraries/hpc/test. This commit unifies
      the two testsuites in the GHC repository in the directory
      testsuite/tests/hpc.
      121c9ab7
  10. Nov 22, 2023
Loading