[Git][ghc/ghc][wip/primop-naming-consistency] Fix array and cleanup conversion primops (#19026)
John Ericson
gitlab at gitlab.haskell.org
Sat Dec 12 19:43:53 UTC 2020
John Ericson pushed to branch wip/primop-naming-consistency at Glasgow Haskell Compiler / GHC
Commits:
dc7171ee by Sylvain Henry at 2020-12-12T19:32:31+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/Float/ConversionUtils.hs
- 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
The diff was not included because it is too large.
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/dc7171ee7d5e26c2b2fe57b4cdf99cd5d58e1e88
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/dc7171ee7d5e26c2b2fe57b4cdf99cd5d58e1e88
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/20201212/db08fc06/attachment.html>
More information about the ghc-commits
mailing list