[Git][ghc/ghc][ghc-9.6] 14 commits: ncg/aarch64: Handle MULTILINE_COMMENT identically as COMMENTs

Ben Gamari (@bgamari) gitlab at gitlab.haskell.org
Fri Feb 24 15:52:13 UTC 2023



Ben Gamari pushed to branch ghc-9.6 at Glasgow Haskell Compiler / GHC


Commits:
850424e8 by Zubin Duggal at 2023-02-22T16:13:26-05:00
ncg/aarch64: Handle MULTILINE_COMMENT identically as COMMENTs

Commit 7566fd9de38c67360c090f828923d41587af519c with the fix for #22798 was
incomplete as it failed to handle MULTILINE_COMMENT pseudo-instructions, and
didn't completly fix the compiler panics when compiling with `-fregs-graph`.

Fixes #23002

(cherry picked from commit 0ea260da3c2b32778758737f6145b2b23ce5f776)

- - - - -
9eae6fbb by Andreas Klebinger at 2023-02-22T16:13:34-05:00
base: Correct @since annotation for FP<->Integral bit cast operations.

Fixes #22708

(cherry picked from commit 348181ddab0493575101784f1833834e03849643)

- - - - -
d11c0ec9 by Matthew Pickering at 2023-02-22T16:14:23-05:00
constant folding: Correct type of decodeDouble_Int64 rule

The first argument is Int64# unconditionally, so we better produce
something of that type. This fixes a core lint error found in the ad
package.

Fixes #23019

(cherry picked from commit 3c9b89adb0c953de02d301623b13541a9fe5feda)

- - - - -
9baeee3c by sheaf at 2023-02-22T16:15:28-05:00
Explicit migration timeline for loopy SC solving

This patch updates the warning message introduced in commit
9fb4ca89bff9873e5f6a6849fa22a349c94deaae to specify an explicit
migration timeline: GHC will no longer support this constraint solving
mechanism starting from GHC 9.10.

Fixes #22912

(cherry picked from commit daee5602f753372bd4b81589aacd3df4a00257e8)

- - - - -
fe681ecf by Ben Gamari at 2023-02-22T16:17:09-05:00
hadrian: Add dependency from lib/settings to mk/config.mk

In 81975ef375de07a0ea5a69596b2077d7f5959182 we attempted to fix #20253
by adding logic to the bindist Makefile to regenerate the `settings`
file from information gleaned by the bindist `configure` script.
However, this fix had no effect as `lib/settings` is shipped in the
binary distribution (to allow in-place use of the binary distribution).
As `lib/settings` already existed and its rule declared no dependencies,
`make` would fail to use the added rule to regenerate it.

Fix this by explicitly declaring a dependency from `lib/settings` on
`mk/config.mk`.

Fixes #22982.

(cherry picked from commit f8876261abebbbac2454e2335f728916ba7c959b)

- - - - -
88b18b0f by Alexis King at 2023-02-22T16:18:12-05:00
rts: Fix `prompt#` when profiling is enabled

This commit also adds a new -Dk RTS option to the debug RTS to assist
debugging continuation captures. Currently, the printed information is
quite minimal, but more can be added in the future if it proves to be
useful when debugging future issues.

fixes #23001

(cherry picked from commit e5794ede9e2af208669438a7f72958aeecbec111)

- - - - -
7dc43beb by Cheng Shao at 2023-02-22T16:18:56-05:00
compiler: fix cost centre profiling breakage in wasm NCG due to incorrect register mapping

The wasm NCG used to map CCCS to a wasm global, based on the
observation that CCCS is a transient register that's already handled
by thread state load/store logic, so it doesn't need to be backed by
the rCCCS field in the register table.

Unfortunately, this is wrong, since even when Cmm execution hasn't
yielded back to the scheduler, the Cmm code may call enterFunCCS,
which does use rCCCS.

This breaks cost centre profiling in a subtle way, resulting in
inaccurate stack traces in some test cases. The fix is simple though:
just remove the CCCS mapping.

(cherry picked from commit 2592ab6924ee34ed0f0d82a7cb0aed393d93bb14)

- - - - -
447a39fc by Matthew Pickering at 2023-02-22T16:19:53-05:00
Add INLINABLE pragmas to `generic*` functions in Data.OldList

These functions are

* recursive
* overloaded

So it's important to add an `INLINABLE` pragma to each so that they can be
specialised at the use site when the specific numeric type is known.
Adding these pragmas improves the LazyText replicate benchmark (see https://gitlab.haskell.org/ghc/ghc/-/issues/22886#note_481020)

https://github.com/haskell/core-libraries-committee/issues/129
(cherry picked from commit be0b7209c6aef22798fc4ba7baacd2099b5cb494)

- - - - -
e0cfea59 by Sylvain Henry at 2023-02-23T14:05:44-05:00
Testsuite: decrease length001 timeout for JS (#22921)

- - - - -
54fc7394 by Luite Stegeman at 2023-02-23T14:05:44-05:00
Check for platform support for JavaScript foreign imports

GHC was accepting `foreign import javascript` declarations
on non-JavaScript platforms. This adds a check so that these
are only supported on an platform that supports the JavaScript
calling convention.

Fixes #22774

(cherry picked from commit 1d7c2e4c9d63a7b392024cfcde299849b8d667a8)

- - - - -
81020431 by Ben Gamari at 2023-02-23T14:05:44-05:00
Bump terminfo submodule to 0.4.1.6

- - - - -
55cfa7c7 by Ben Gamari at 2023-02-23T14:05:44-05:00
Bump unix submodule to preliminary 2.8 release

- - - - -
fba19572 by Ben Gamari at 2023-02-23T14:05:44-05:00
Bump haskeline submodule to 0.8.2.1

- - - - -
feccc865 by Ben Gamari at 2023-02-23T14:05:44-05:00
Bump unix submodule to 2.8.1.0

- - - - -


30 changed files:

- compiler/GHC/CmmToAsm/AArch64/Instr.hs
- compiler/GHC/CmmToAsm/Wasm/FromCmm.hs
- compiler/GHC/Core/Opt/ConstantFold.hs
- compiler/GHC/Tc/Errors/Ppr.hs
- compiler/GHC/Tc/Gen/Foreign.hs
- docs/users_guide/runtime_control.rst
- hadrian/bindist/Makefile
- libraries/base/GHC/Float.hs
- libraries/base/changelog.md
- libraries/base/tests/all.T
- libraries/haskeline
- libraries/terminfo
- libraries/unix
- rts/Continuation.c
- rts/ContinuationOps.cmm
- rts/RtsFlags.c
- rts/Trace.h
- rts/include/rts/Flags.h
- rts/wasm/Wasm.S
- testsuite/driver/testlib.py
- + testsuite/tests/codeGen/should_compile/T23002.hs
- testsuite/tests/codeGen/should_compile/all.T
- + testsuite/tests/ffi/should_compile/T22774.hs
- testsuite/tests/ffi/should_compile/all.T
- + testsuite/tests/numeric/should_compile/T23019.hs
- testsuite/tests/numeric/should_compile/all.T
- testsuite/tests/rts/continuations/all.T
- testsuite/tests/typecheck/should_compile/T20666b.stderr
- testsuite/tests/typecheck/should_compile/T22891.stderr
- testsuite/tests/typecheck/should_compile/T22912.stderr


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/9a7478066983cbc819f3a9bb103b1fab308eebc1...feccc865db4645d02c6326cb9363df8441525950

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/9a7478066983cbc819f3a9bb103b1fab308eebc1...feccc865db4645d02c6326cb9363df8441525950
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/20230224/8a50f965/attachment-0001.html>


More information about the ghc-commits mailing list