[Git][ghc/ghc][wip/primop-naming-consistency] Fix array and cleanup conversion primops (#19026)

John Ericson gitlab at gitlab.haskell.org
Fri Dec 11 17:10:43 UTC 2020



John Ericson pushed to branch wip/primop-naming-consistency at Glasgow Haskell Compiler / GHC


Commits:
3600633a by Sylvain Henry at 2020-12-11T17:05:56+00:00
Fix array and cleanup conversion primops (#19026)

The first change makes the array ones use the proper fixed-size types,
which also means that just like before, they can be used without
explicit conversions with the boxed sized types. (Before, it was Int# /
Word# on both sides, now it is fixed sized on both sides).

For the second change, don't use "extend" or "narrow" in some of the
user-facing primops names for conversions.

  - Names like `narrowInt32#` are misleading when `Int` is 32-bits.

  - Names like `extendInt64#` are flat-out wrong when `Int is
    32-bits.

  - `narrow{Int,Word}<N>#` however map a type to itself, and so don't
    suffer from this problem. They are left as-is.

These changes are batched together because Alex happend to use the array
ops. We can only use released versions of Alex at this time, sadly, and
I don't want to have to have a release thatwon't work for the final GHC
9.2. So by combining these we get all the changes for Alex done at once.

Bump Cabal, array, bytestring, text, and binary submodules

TODO bump alex version

- - - - -


30 changed files:

- compiler/GHC/Builtin/bytearray-ops.txt.pp
- compiler/GHC/Builtin/primops.txt.pp
- compiler/GHC/CmmToAsm/Ppr.hs
- compiler/GHC/Core/Opt/ConstantFold.hs
- compiler/GHC/Data/FastString.hs
- compiler/GHC/StgToCmm/Prim.hs
- compiler/GHC/Tc/Deriv/Generate.hs
- libraries/Cabal
- libraries/array
- libraries/base/GHC/IO/Encoding/CodePage.hs
- libraries/base/GHC/IO/Encoding/UTF16.hs
- libraries/base/GHC/IO/Encoding/UTF32.hs
- libraries/base/GHC/IO/Encoding/UTF8.hs
- libraries/base/GHC/Int.hs
- libraries/base/GHC/Storable.hs
- libraries/base/GHC/Word.hs
- libraries/binary
- libraries/bytestring
- libraries/ghc-bignum/src/GHC/Num/Backend/GMP.hs
- libraries/ghc-bignum/src/GHC/Num/Primitives.hs
- libraries/ghc-boot/GHC/Utils/Encoding.hs
- libraries/ghc-heap/tests/tso_and_stack_closures.hs
- libraries/ghci/GHCi/BreakArray.hs
- libraries/text
- testsuite/tests/array/should_run/arr020.hs
- testsuite/tests/cmm/opt/T18141.hs
- testsuite/tests/codeGen/should_compile/T18614.hs
- testsuite/tests/codeGen/should_run/cgrun070.hs
- testsuite/tests/codeGen/should_run/cgrun072.hs
- testsuite/tests/codeGen/should_run/cgrun075.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/3600633a6af4b78234eb820cce710d2d4bce1743

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/3600633a6af4b78234eb820cce710d2d4bce1743
You're receiving this email because of your account on gitlab.haskell.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20201211/4ec693b2/attachment.html>


More information about the ghc-commits mailing list