[Git][ghc/ghc][wip/wasm32-native-tests] 5 commits: Add NCG support for common 64bit operations to the x86 backend.

Cheng Shao (@TerrorJack) gitlab at gitlab.haskell.org
Fri Nov 3 21:25:00 UTC 2023



Cheng Shao pushed to branch wip/wasm32-native-tests at Glasgow Haskell Compiler / GHC


Commits:
6755d833 by Jaro Reinders at 2023-11-03T10:54:42+01:00
Add NCG support for common 64bit operations to the x86 backend.

These used to be implemented via C calls which was obviously quite bad
for performance for operations like simple addition.

Co-authored-by: Andreas Klebinger

- - - - -
0dfb1fa7 by Vladislav Zavialov at 2023-11-03T14:08:41-04:00
T2T in Expressions (#23738)

This patch implements the T2T (term-to-type) transformation in
expressions. Given a function with a required type argument
	vfun :: forall a -> ...

the user can now call it as
	vfun (Maybe Int)

instead of
	vfun (type (Maybe Int))

The Maybe Int argument is parsed and renamed as a term (HsExpr), but then
undergoes a conversion to a type (HsType).
See the new function expr_to_type in compiler/GHC/Tc/Gen/App.hs
and Note [RequiredTypeArguments and the T2T mapping]

Left as future work: checking for puns.

- - - - -
eb06be9a by Cheng Shao at 2023-11-03T21:24:46+00:00
compiler: fix eager blackhole symbol in wasm32 NCG

- - - - -
f7104d19 by Cheng Shao at 2023-11-03T21:24:46+00:00
testsuite: fix optasm tests for wasm32

- - - - -
73bb1d99 by Matthew Pickering at 2023-11-03T21:24:52+00:00
testsuite: Add wasm32 to testsuite arches with NCG

The compiler --info reports that wasm32 compilers have a NCG, so we
should agree with that here.

- - - - -


30 changed files:

- compiler/GHC/CmmToAsm/Wasm/FromCmm.hs
- compiler/GHC/CmmToAsm/X86/CodeGen.hs
- compiler/GHC/CmmToAsm/X86/Instr.hs
- compiler/GHC/CmmToAsm/X86/Ppr.hs
- compiler/GHC/Driver/Config/StgToCmm.hs
- compiler/GHC/Hs/Expr.hs
- compiler/GHC/StgToCmm/Config.hs
- compiler/GHC/StgToCmm/Prim.hs
- compiler/GHC/Tc/Errors/Ppr.hs
- compiler/GHC/Tc/Errors/Types.hs
- compiler/GHC/Tc/Gen/App.hs
- compiler/GHC/Types/Error/Codes.hs
- compiler/GHC/Types/Hint.hs
- compiler/GHC/Types/Hint/Ppr.hs
- compiler/GHC/Types/Name/Occurrence.hs
- compiler/GHC/Utils/Unique.hs
- docs/users_guide/9.6.1-notes.rst
- docs/users_guide/exts/required_type_arguments.rst
- hadrian/src/Settings/Builders/RunTest.hs
- testsuite/tests/cmm/should_compile/all.T
- testsuite/tests/cmm/should_run/all.T
- testsuite/tests/diagnostic-codes/codes.stdout
- testsuite/tests/regalloc/all.T
- testsuite/tests/rts/T5644/all.T
- testsuite/tests/rts/all.T
- testsuite/tests/simplCore/prog003/simplCore.oneShot.stderr → testsuite/tests/simplCore/prog003/simplCore-oneShot.stderr
- testsuite/tests/simplCore/prog003/simplCore.oneShot.stdout → testsuite/tests/simplCore/prog003/simplCore-oneShot.stdout
- testsuite/tests/simplCore/prog003/test.T
- testsuite/tests/simplCore/should_run/all.T
- testsuite/tests/vdq-rta/should_compile/T22326_idv.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/0a4f49baa3e3728b17e7193536020cd1cc3107ec...73bb1d999667d7060553bdc9572e535699c1c1df

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/0a4f49baa3e3728b17e7193536020cd1cc3107ec...73bb1d999667d7060553bdc9572e535699c1c1df
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/20231103/d5ffd060/attachment-0001.html>


More information about the ghc-commits mailing list