Skip to content
Snippets Groups Projects
  1. Jun 07, 2024
  2. Jun 06, 2024
  3. Jun 05, 2024
  4. Jun 04, 2024
    • Cheng Shao's avatar
      ci: enable +text_simdutf flavour transformer for wasm jobs · 077cb2e1
      Cheng Shao authored and Marge Bot's avatar Marge Bot committed
      This commit enables +text_simdutf flavour transformer for wasm jobs,
      so text is now built with simdutf support for wasm.
      077cb2e1
    • Cheng Shao's avatar
      hadrian: add +text_simdutf flavour transformer to allow building text with simdutf · 44e2abfb
      Cheng Shao authored and Marge Bot's avatar Marge Bot committed
      This patch adds a +text_simdutf flavour transformer to hadrian to
      allow downstream packagers and users that build from source to opt-in
      simdutf support for text, in order to benefit from SIMD speedup at
      run-time. It's still disabled by default for the time being.
      44e2abfb
    • Alex Mason's avatar
      Add AArch64 CLZ, CTZ, RBIT primop implementations. · 71010381
      Alex Mason authored and Marge Bot's avatar Marge Bot committed
      Adds support for emitting the clz and rbit instructions, which are
      used by GHC.Prim.clz*#, GHC.Prim.ctz*# and GHC.Prim.bitReverse*#.
      71010381
    • Cheng Shao's avatar
      hadrian: improve user settings documentation · 2aaea8a1
      Cheng Shao authored and Marge Bot's avatar Marge Bot committed
      This patch adds minor improvements to hadrian user settings documentation:
      
      - Add missing `ghc.cpp.opts` case
      - Remove non-existent `cxx` case
      - Clarify `cc.c.opts` also works for C++, while `cc.deps.opts` doesn't
      - Add example of passing configure argument to autoconf packages
      2aaea8a1
    • Cheng Shao's avatar
      docs: mention i386 Windows removal in 9.12 changelog · 54332437
      Cheng Shao authored and Marge Bot's avatar Marge Bot committed
      This commit mentions removal of i386 Windows support and stdcall
      related change in the 9.12 changelog.
      54332437
    • Cheng Shao's avatar
      docs: minor adjustments for stdcall removal · cef8f47a
      Cheng Shao authored and Marge Bot's avatar Marge Bot committed
      This commit include minor adjustments of documentation related to
      stdcall removal.
      cef8f47a
    • Cheng Shao's avatar
      testsuite: adapt the testsuite for stdcall removal · d2a83302
      Cheng Shao authored and Marge Bot's avatar Marge Bot committed
      This patch adjusts test cases to handle the stdcall removal:
      
      - Some stdcall usages are replaced with ccall since stdcall doesn't
        make sense anymore.
      - We also preserve some stdcall usages, and check in the expected
        warning messages to ensure GHC always warn about stdcall usages
        (-Wunsupported-calling-conventions) as expected.
      - Error code testsuite coverage is slightly improved,
        -Wunsupported-calling-conventions is now tested.
      - Obsolete code paths related to i386 windows are also removed.
      d2a83302
    • Cheng Shao's avatar
      libraries/utils: remove stdcall related legacy logic · 65fe75a4
      Cheng Shao authored and Marge Bot's avatar Marge Bot committed
      This commit removes stdcall related legacy logic in libraries and
      utils. ccall should be used uniformly for all supported windows hosts
      from now on.
      65fe75a4
    • Cheng Shao's avatar
      llvm-targets: remove i386 windows support · 91e5ac5e
      Cheng Shao authored and Marge Bot's avatar Marge Bot committed
      This commit removes i386 windows from llvm-targets and the script to
      generate it.
      91e5ac5e
    • Cheng Shao's avatar
      autoconf: remove i386 windows related logic · a605e4b2
      Cheng Shao authored and Marge Bot's avatar Marge Bot committed
      This commit removes legacy i386 windows logic in autoconf scripts.
      a605e4b2
    • Cheng Shao's avatar
      rts: remove legacy i386 windows code paths · d1fe9ab6
      Cheng Shao authored and Marge Bot's avatar Marge Bot committed
      This commit removes some legacy i386 windows related code paths in the
      RTS, given this target is no longer supported.
      d1fe9ab6
    • Cheng Shao's avatar
      compiler/ghci/rts: remove stdcall support completely · 395412e8
      Cheng Shao authored and Marge Bot's avatar Marge Bot committed
      We have formally dropped i386 windows support (#18487) a long time
      ago. The stdcall foreign call convention is only used by i386 windows,
      and the legacy logic around it is a significant maintenance burden for
      future work that adds arm64 windows support (#24603). Therefore, this
      patch removes stdcall support completely from the compiler as well as
      the RTS (#24883):
      
      - stdcall is still recognized as a FFI calling convention in Haskell
        syntax. GHC will now unconditionally emit a warning
        (-Wunsupported-calling-conventions) and treat it as ccall.
      - Apart from minimum logic to support the parsing and warning logic,
        all other code paths related to stdcall has been completely stripped
        from the compiler.
      - ghci only supports FFI_DEFAULT_ABI and ccall convention from now on.
      - FFI foreign export adjustor code on all platforms no longer handles
        the stdcall case and only handles ccall from now on.
      - The Win32 specific parts of RTS no longer has special code paths for
        stdcall.
      
      This commit is the final nail on the coffin for i386 windows support.
      Further commits will perform more housecleaning to strip the legacy
      code paths and pave way for future arm64 windows support.
      395412e8
    • David's avatar
      Implement Or Patterns (#22596) · 38757c30
      David authored and Marge Bot's avatar Marge Bot committed
      
      This commit introduces a new language extension, `-XOrPatterns`, as described in
      GHC Proposal 522.
      
      An or-pattern `pat1; ...; patk` succeeds iff one of the patterns `pat1`, ...,
      `patk` succeed, in this order.
      
      See also the summary `Note [Implmentation of OrPatterns]`.
      
      Co-Authored-By: default avatarSebastian Graf <sgraf1337@gmail.com>
      38757c30
    • Sebastian Graf's avatar
      Parser: Remove unused `apats` rule · 18f63970
      Sebastian Graf authored and Marge Bot's avatar Marge Bot committed
      18f63970
  5. Jun 03, 2024
    • Cheng Shao's avatar
      compiler: emit NaturallyAligned when element type & index type are the same width · 0cff083a
      Cheng Shao authored and Marge Bot's avatar Marge Bot committed
      This commit fixes a subtle mistake in alignmentFromTypes that used to
      generate Unaligned when element type & index type are the same width.
      Fixes #24930.
      0cff083a
    • Hannes Siebenhandl's avatar
      Migrate `Finder` component to `OsPath`, fixed #24616 · c8ece0df
      Hannes Siebenhandl authored and Marge Bot's avatar Marge Bot committed
      For each module in a GHCi session, we keep alive one `ModLocation`.
      A `ModLocation` is fairly inefficiently packed, as `String`s are
      expensive in memory usage.
      
      While benchmarking the agda codebase, we concluded that we keep alive
      around 11MB of `FilePath`'s, solely retained by `ModLocation`.
      
      We provide a more densely packed encoding of `ModLocation`, by moving
      from `FilePath` to `OsPath`. Further, we migrate the full `Finder`
      component to `OsPath` to avoid unnecessary transformations.
      As the `Finder` component is well-encapsulated, this requires only a
      minimal amount of changes in other modules.
      
      We introduce pattern synonym for 'ModLocation' which maintains backwards
      compatibility and avoids breaking consumers of 'ModLocation'.
      c8ece0df
    • Cheng Shao's avatar
      testsuite: mark T7773 as fragile on wasm · ae50a8eb
      Cheng Shao authored and Marge Bot's avatar Marge Bot committed
      ae50a8eb
    • Alex Mason's avatar
      Improve performance of genericWordQuotRem2Op (#22966) · 4998a6ed
      Alex Mason authored and Marge Bot's avatar Marge Bot committed
      Implements the algorithm from compiler-rt's udiv128by64to64default. This
      rewrite results in a roughly 24x improvement in runtime on AArch64 (and
      likely any other arch that uses it).
      4998a6ed
  6. Jun 02, 2024
Loading