[Git][ghc/ghc][wip/marge_bot_batch_merge_job] 18 commits: cmm: add word <-> double/float bitcast

Marge Bot (@marge-bot) gitlab at gitlab.haskell.org
Fri May 24 12:26:31 UTC 2024



Marge Bot pushed to branch wip/marge_bot_batch_merge_job at Glasgow Haskell Compiler / GHC


Commits:
bdcc0f37 by doyougnu at 2024-05-24T07:51:18-04:00
cmm: add word <-> double/float bitcast

- closes: #25331

This is the last step in the project plan described in #25331. This
commit:

- adds bitcast operands for x86_64, LLVM, aarch64
- For PPC and i386 we resort to using the cmm implementations
- renames conversion MachOps from Conv to Round|Truncate

- - - - -
f0d257f7 by Krzysztof Gogolewski at 2024-05-24T07:51:55-04:00
StgToByteCode: minor refactor

Some functions in StgToByteCode were filtering out void arguments.
However, StgToByteCode is called after unarisation: the void arguments
should have been removed earlier.
Instead of filtering out, we assert that the args are non-void.

- - - - -
03137fd2 by Krzysztof Gogolewski at 2024-05-24T07:51:55-04:00
StgToByteCode: minor refactor

`layoutNativeCall` was always called with a `primRepCmmType platform`
callback. Hence we can put it inside of `layoutNativeCall` rather than
repeat it.

- - - - -
27c430f3 by David Binder at 2024-05-24T07:52:38-04:00
haddock: Remove compatibility shims for GHC < 8.4 from haddock-library

- - - - -
8dd8a076 by Cheng Shao at 2024-05-24T07:53:14-04:00
compiler: avoid saving foreign call target to local when there are no caller-save GlobalRegs

This patch makes the STG->Cmm backend avoid saving foreign call target
to local when there are no caller-save GlobalRegs.

Since 321941a8ebe25192cdeece723e1058f2f47809ea, when we lower a
foreign call, we unconditionally save the foreign call target to a
temporary local first, then rely on cmmSink to clean it up later,
which only happens with -fcmm-sink (implied by -O) and not in
unoptimized code.

And this is troublesome for the wasm backend NCG, which needs to infer
a foreign call target symbol's type signature from the Cmm call site.
Previously, the NCG has been emitting incorrect type signatures for
unoptimized code, which happens to work with `wasm-ld` most of the
time, but this is never future-proof against upstream toolchain
updates, and it causes horrible breakages when LTO objects are
included in linker input. Hence this patch.

- - - - -
986df1ab by Cheng Shao at 2024-05-24T07:53:14-04:00
testsuite: add callee-no-local regression test

- - - - -
52d62e2a by Sylvain Henry at 2024-05-24T07:53:57-04:00
Fix HasCallStack leftovers from !12514 / #24726

- - - - -
c5e00c35 by crumbtoo at 2024-05-24T07:54:38-04:00
user_guide: Fix typo in MultiWayIf chapter

Close #24829

- - - - -
bd323b0e by Ben Gamari at 2024-05-24T07:55:15-04:00
base: Ensure that CHANGELOG is included in extra-source-files

This was missed in the `ghc-internal` split.

Closes #24831.

- - - - -
1bfd32e8 by Ben Gamari at 2024-05-24T07:55:15-04:00
base: Fix changelog reference to setBacktraceMechanismState

(cherry picked from commit b63f7ba01fdfd98a01d2f0dec8d9262b3e595c5d)

- - - - -
09840930 by Sylvain Henry at 2024-05-24T08:26:20-04:00
Float/double unboxed literal support for HexFloatLiterals (fix #22155)

- - - - -
c66fcd45 by Fendor at 2024-05-24T08:26:20-04:00
Improve test labels for binary interface file size tests

Test labels for binary interface file sizes are hard to read and overly
verbose at the same time. Extend the name for the metric title, but
shorten it in the actual comparison table.

- - - - -
c58a1276 by Zubin Duggal at 2024-05-24T08:26:21-04:00
Revert "Fix haskell/haddock#783 Don't show button if --quickjump not present"

This reverts commit 7776566531e72c415f66dd3b13da9041c52076aa.

- - - - -
6addce15 by Ben Gamari at 2024-05-24T08:26:21-04:00
Fix default hyperlinked sources pattern

Previously this didn't include the `%M` token which manifested as broken
links to the hyperlinked sources of reexports of declarations defined
in other packages.

Fixes haddock#1628.

(cherry picked from commit 1432bcc943d41736eca491ecec4eb9a6304dab36)

- - - - -
5840973d by Ben Gamari at 2024-05-24T08:26:21-04:00
Make DocPaths a proper data type

(cherry picked from commit 7f3a5c4da0023ae47b4c376c9b1ea2d706c94d8c)

- - - - -
cc42f52d by Ben Gamari at 2024-05-24T08:26:21-04:00
haddock: Bump version to 2.30

(cherry picked from commit 994989ed3d535177e57b778629726aeabe8c7602)

- - - - -
cd83d2fa by Zubin Duggal at 2024-05-24T08:26:21-04:00
haddock-api: allow base 4.20 and ghc 9.11

- - - - -
9a6e940a by PHO at 2024-05-24T08:26:21-04:00
Add a flag "threaded" for building haddock with the threaded RTS

GHC isn't guaranteed to have a threaded RTS. There should be a way to build
it with the vanilla one.

(cherry picked from commit 75a94e010fb5b0236c670d22b04f5472397dc15d)

- - - - -


30 changed files:

- compiler/GHC/Cmm/MachOp.hs
- compiler/GHC/Cmm/Opt.hs
- compiler/GHC/Cmm/Parser.y
- compiler/GHC/CmmToAsm/AArch64/CodeGen.hs
- compiler/GHC/CmmToAsm/AArch64/Instr.hs
- compiler/GHC/CmmToAsm/AArch64/Ppr.hs
- compiler/GHC/CmmToAsm/PPC/CodeGen.hs
- 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/CmmToC.hs
- compiler/GHC/CmmToLlvm/CodeGen.hs
- compiler/GHC/Core/SimpleOpt.hs
- compiler/GHC/Driver/Config/StgToCmm.hs
- compiler/GHC/Parser/Lexer.x
- compiler/GHC/Platform.hs
- compiler/GHC/StgToByteCode.hs
- compiler/GHC/StgToCmm/Config.hs
- compiler/GHC/StgToCmm/Foreign.hs
- compiler/GHC/StgToCmm/Prim.hs
- docs/users_guide/9.12.1-notes.rst
- docs/users_guide/exts/multiway_if.rst
- libraries/base/base.cabal
- libraries/base/changelog.md
- libraries/ghc-platform/src/GHC/Platform/ArchOS.hs
- rts/include/stg/Prim.h
- testsuite/driver/testutil.py
- testsuite/tests/codeGen/should_compile/all.T
- + testsuite/tests/codeGen/should_compile/callee-no-local.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/55cb9dafddf739a4074223d4badd58ec9545ec17...9a6e940a332b8508326e8c8f05c8ccead4112da0

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/55cb9dafddf739a4074223d4badd58ec9545ec17...9a6e940a332b8508326e8c8f05c8ccead4112da0
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/20240524/f7cdcc55/attachment-0001.html>


More information about the ghc-commits mailing list