[Git][ghc/ghc][wip/T24359] 95 commits: rts: Fix size of StgOrigThunkInfo frames
Simon Peyton Jones (@simonpj)
gitlab at gitlab.haskell.org
Mon Jun 3 10:18:53 UTC 2024
Simon Peyton Jones pushed to branch wip/T24359 at Glasgow Haskell Compiler / GHC
Commits:
6d7e6ad8 by Ben Gamari at 2024-05-22T13:40:05-04:00
rts: Fix size of StgOrigThunkInfo frames
Previously the entry code of the `stg_orig_thunk` frame failed to
account for the size of the profiling header as it hard-coded the frame
size. Fix this.
Fixes #24809.
- - - - -
c645fe40 by Fendor at 2024-05-22T13:40:05-04:00
Add regression test T24809 for stg_orig_thunk_info_frame size
- - - - -
4181aa40 by Andreas Klebinger at 2024-05-22T13:40:42-04:00
bindists: Check for existence of share folder before trying to copy it.
This folder isn't distributed in windows bindists
A lack of doing so resulted us copying loads of files twice.
- - - - -
d216510e by Matthew Pickering at 2024-05-22T13:40:42-04:00
Remove ad-hoc installation of mingw toolchain in relocatable bindists
This reverts 616ac30026e8dd7d2ebb98d92dde071eedf5d951
The choice about whether to install mingw is taken in the installation
makefile.
This is also broken on non-windows systems.
The actual issue was the EnableDistroToolchain variable wasn't declared
in mk/config.mk and therefore the check to install mingw was failing.
- - - - -
7b4c1998 by Cheng Shao at 2024-05-22T21:52:52-04:00
testsuite: fix T17920 for wasm backend
T17920 was marked as fragile on wasm before; it can be trivially fixed
by avoiding calling variadic printf() in cmm.
- - - - -
c739383b by Cheng Shao at 2024-05-22T21:53:29-04:00
testsuite: bump T22744 timeout to 5x
- - - - -
c4c6d714 by Cheng Shao at 2024-05-22T21:54:06-04:00
testsuite: don't attempt to detect host cpu features when testing cross ghc
The testsuite driver CPU feature detection logic only detects host CPU
and only makes sense when we are not testing a cross GHC.
- - - - -
3d9e4ce6 by Simon Peyton Jones at 2024-05-22T21:54:43-04:00
Better skolemisation
As #24810 showed, it is (a little) better to skolemise en-bloc,
so that Note [Let-bound skolems] fires more often.
See Note [Skolemisation en bloc] in GHC.Tc.Utils.Instantiate.
- - - - -
a3cd3a1d by Ryan Scott at 2024-05-22T21:55:19-04:00
Add missing parenthesizePat in cvtp
We need to ensure that the output of `cvtp` is parenthesized (at precedence
`sigPrec`) so that any pattern signatures with a surrounding pattern signature
can parse correctly.
Fixes #24837.
- - - - -
4bb2a7cc by Hécate Moonlight at 2024-05-22T21:55:59-04:00
[base] Document the memory overhead of ByteArray
Add a diagram that shows the constituent parts of a ByteArray and their
memory overhead.
- - - - -
8b2a016a by Hécate Moonlight at 2024-05-22T21:56:38-04:00
Haddock: Add MR template for Haddock
- - - - -
ead75532 by Peter Trommler at 2024-05-23T02:28:05-04:00
PPC: Support ELF v2 on powerpc64 big-endian
Detect ELF v2 on PowerPC 64-bit systems. Check for `_CALL_ELF`
preprocessor macro.
Fixes #21191
- - - - -
9d4c10f2 by Hécate Kleidukos at 2024-05-23T02:28:44-04:00
gitlab: Add @Kleidukos to CODEOWNERS for utils/haddock
- - - - -
28e64170 by Preetham Gujjula at 2024-05-23T07:20:48-04:00
haddock: Add cabal-fmt to tools for `make style`
- - - - -
00126a89 by Andrei Borzenkov at 2024-05-23T07:21:24-04:00
haddock: fix verbosity option parsing
- - - - -
a3e0b68b by Ryan Hendrickson at 2024-05-23T15:52:03-04:00
base: specify tie-breaking behavior of min, max, and related list/Foldable functions
- - - - -
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)
- - - - -
43e8e4f3 by Sylvain Henry at 2024-05-24T12:16:43-04:00
Float/double unboxed literal support for HexFloatLiterals (fix #22155)
- - - - -
4a7f4713 by Fendor at 2024-05-24T12:17:19-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.
- - - - -
14e554cf by Zubin Duggal at 2024-05-24T12:17:55-04:00
Revert "Fix haskell/haddock#783 Don't show button if --quickjump not present"
This reverts commit 7776566531e72c415f66dd3b13da9041c52076aa.
- - - - -
f56838c3 by Ben Gamari at 2024-05-24T12:17:55-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)
- - - - -
42efa62c by Ben Gamari at 2024-05-24T12:17:55-04:00
Make DocPaths a proper data type
(cherry picked from commit 7f3a5c4da0023ae47b4c376c9b1ea2d706c94d8c)
- - - - -
53d9ceb3 by Ben Gamari at 2024-05-24T12:17:55-04:00
haddock: Bump version to 2.30
(cherry picked from commit 994989ed3d535177e57b778629726aeabe8c7602)
- - - - -
e4db1112 by Zubin Duggal at 2024-05-24T12:17:55-04:00
haddock-api: allow base 4.20 and ghc 9.11
- - - - -
e294f7a2 by PHO at 2024-05-24T12:17:55-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)
- - - - -
51165bc9 by Andreas Klebinger at 2024-05-25T10:58:03-04:00
Update ticky counter event docs.
Add the info about the info table address and json fields.
Fixes #23200
- - - - -
98597ad5 by Sylvain Henry at 2024-05-25T10:58:45-04:00
Export extractPromotedList (#24866)
This can be useful in plugins.
- - - - -
228dcae6 by Teo Camarasu at 2024-05-28T13:12:24+00:00
template-haskell: Move wired-ins to ghc-internal
Thus we make `template-haskell` reinstallable and keep it as the public
API for Template Haskell.
All of the wired-in identifiers are moved to `ghc-internal`.
This necessitates also moving much of `ghc-boot-th` into `ghc-internal`.
These modules are then re-exported from `ghc-boot-th` and
`template-haskell`.
To avoid a dependency on `template-haskell` from `lib:ghc`, we instead
depend on the TH ASTs via `ghc-boot-th`.
As `template-haskell` no longer has special status, we can drop the
logic adding an implicit dependency on `template-haskell` when using TH.
We can also drop the `template-haskell-next` package, which was
previously used when bootstrapping.
When bootstrapping, we need to vendor the TH AST modules from
`ghc-internal` into `ghc-boot-th`. This is controlled by the `bootstrap`
cabal flag as before. See Note [Bootstrapping Template Haskell].
We split out a GHC.Internal.TH.Lift module resolving #24752.
This module is only built when not bootstrapping.
Resolves #24703
-------------------------
Metric Increase:
ghc_boot_th_dir
ghc_boot_th_so
-------------------------
- - - - -
62dded28 by Teo Camarasu at 2024-05-28T13:12:24+00:00
testsuite: mark tests broken by #24886
Now that `template-haskell` is no longer wired-in.
These tests are triggering #24886, and so need to be marked broken.
- - - - -
3ca72ad9 by Cheng Shao at 2024-05-30T02:57:06-04:00
rts: fix missing function prototypes in ClosureMacros.h
- - - - -
e0029e3d by Andreas Klebinger at 2024-05-30T02:57:43-04:00
UnliftedFFITypes: Allow `(# #)` as argument when it's the only argument.
This allows representing functions like:
int foo(void);
to be imported like this:
foreign import ccall "a_number_c"
c_number :: (# #) -> Int64#
Which can be useful when the imported function isn't implicitly
stateful.
- - - - -
d0401335 by Matthew Pickering at 2024-05-30T02:58:19-04:00
ci: Update ci-images commit for fedora38 image
The fedora38 nightly job has been failing for quite a while because
`diff` was no longer installed. The ci-images bump explicitly installs
`diffutils` into these images so hopefully they now pass again.
- - - - -
3c97c74a by Jan Hrček at 2024-05-30T02:58:58-04:00
Update exactprint docs
- - - - -
77760cd7 by Jan Hrček at 2024-05-30T02:58:58-04:00
Incorporate review feedback
- - - - -
87591368 by Jan Hrček at 2024-05-30T02:58:58-04:00
Remove no longer relevant reference to comments
- - - - -
05f4f142 by Jan Hrček at 2024-05-30T02:58:59-04:00
Replace outdated code example
- - - - -
45a4a5f3 by Andreas Klebinger at 2024-05-30T02:59:34-04:00
Reword error resulting from missing -XBangPatterns.
It can be the result of either a bang pattern or strict binding,
so now we say so instead of claiming it must be a bang pattern.
Fixes #21032
- - - - -
e17f2df9 by Cheng Shao at 2024-05-30T03:00:10-04:00
testsuite: bump MultiLayerModulesDefsGhciReload timeout to 10x
- - - - -
7a660042 by Cheng Shao at 2024-05-30T14:42:29-04:00
rts: ensure gc_thread/gen_workspace is allocated with proper alignment
gc_thread/gen_workspace are required to be aligned by 64 bytes.
However, this property has not been properly enforced before, and
numerous alignment violations at runtime has been caught by
UndefinedBehaviorSanitizer that look like:
```
rts/sm/GC.c:1167:8: runtime error: member access within misaligned address 0x0000027a3390 for type 'gc_thread' (aka 'struct gc_thread_'), which requires 64 byte alignment
0x0000027a3390: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior rts/sm/GC.c:1167:8
rts/sm/GC.c:1184:13: runtime error: member access within misaligned address 0x0000027a3450 for type 'gen_workspace' (aka 'struct gen_workspace_'), which requires 64 byte alignment
0x0000027a3450: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior rts/sm/GC.c:1184:13
```
This patch fixes the gc_thread/gen_workspace misalignment issue by
explicitly allocating them with alignment constraint.
- - - - -
c77a48af by Cheng Shao at 2024-05-30T14:42:29-04:00
rts: fix an unaligned load in nonmoving gc
This patch fixes an unaligned load in nonmoving gc by ensuring the
closure address is properly untagged first before attempting to
prefetch its header. The unaligned load is reported by
UndefinedBehaviorSanitizer:
```
rts/sm/NonMovingMark.c:921:9: runtime error: member access within misaligned address 0x0042005f3a71 for type 'StgClosure' (aka 'struct StgClosure_'), which requires 8 byte alignment
0x0042005f3a71: note: pointer points here
00 00 00 98 43 13 8e 12 7f 00 00 50 3c 5f 00 42 00 00 00 58 17 b7 92 12 7f 00 00 89 cb 5e 00 42
^
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior rts/sm/NonMovingMark.c:921:9
```
This issue had previously gone unnoticed since it didn't really harm
runtime correctness, the invalid header address directly loaded from a
tagged pointer is only used as prefetch address and will not cause
segfaults. However, it still should be corrected because the prefetch
would be rendered useless by this issue, and untagging only involves a
single bitwise operation without memory access so it's cheap enough to
add.
- - - - -
05c4fafb by Cheng Shao at 2024-05-30T14:42:29-04:00
rts: use __builtin_offsetof to implement STG_FIELD_OFFSET
This patch fixes the STG_FIELD_OFFSET macro definition by using
__builtin_offsetof, which is what gcc/clang uses to implement offsetof
in standard C. The previous definition that uses NULL pointer involves
subtle undefined behavior in C and thus reported by
UndefinedBehaviorSanitizer as well:
```
rts/Capability.h:243:58: runtime error: member access within null pointer of type 'Capability' (aka 'struct Capability_')
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior rts/Capability.h:243:58
```
- - - - -
5ff83bfc by Sylvain Henry at 2024-05-30T14:43:10-04:00
JS: remove useless h$CLOCK_REALTIME (#23202)
- - - - -
95ef2d58 by Matthew Pickering at 2024-05-30T14:43:47-04:00
ghcup-metadata: Fix metadata generation
There were some syntax errors in the generation script which were
preventing it from running.
I have tested this with:
```
nix shell --extra-experimental-features nix-command -f .gitlab/rel_eng -c ghcup-metadata --metadata ghcup-0.0.7.yaml --date="2024-05-27" --pipeline-id=95534 --version=9.11.20240525
```
which completed successfully.
- - - - -
1bc66ee4 by Jakob Bruenker at 2024-05-30T14:44:22-04:00
Add diagrams to Arrows documentation
This adds diagrams to the documentation of Arrows, similar to the ones found on
https://www.haskell.org/arrows/.
It does not add diagrams for ArrowChoice for the time being, mainly because it's
not clear to me how to visually distinguish them from the ones for Arrow. Ideally,
you might want to do something like highlight the arrows belonging to the same
tuple or same Either in common colors, but that's not really possible with unicode.
- - - - -
d10a1c65 by Matthew Craven at 2024-05-30T23:35:48-04:00
Make UnsafeSNat et al. into pattern synonyms
...so that they do not cause coerce to bypass the nominal
role on the corresponding singleton types when they are imported.
See Note [Preventing unsafe coercions for singleton types] and
the discussion at #23478.
This also introduces unsafeWithSNatCo (and analogues for Char
and Symbol) so that users can still access the dangerous coercions
that importing the real constructors would allow, but only in a
very localized way.
- - - - -
0958937e by Cheng Shao at 2024-05-30T23:36:25-04:00
hadrian: build C/C++ with split sections when enabled
When split sections is enabled, ensure -fsplit-sections is passed to
GHC as well when invoking GHC to compile C/C++; and pass
-ffunction-sections -fdata-sections to gcc/clang when compiling C/C++
with the hadrian Cc builder. Fixes #23381.
- - - - -
02b1f91e by Cheng Shao at 2024-05-30T23:36:25-04:00
driver: build C/C++ with -ffunction-sections -fdata-sections when split sections is enabled
When -fsplit-sections is passed to GHC, pass -ffunction-sections
-fdata-sections to gcc/clang when building C/C++. Previously,
-fsplit-sections was only respected by the NCG/LLVM backends, but not
the unregisterised backend; the GHC driver did not pass
-fdata-sections and -ffunction-sections to the C compiler, which
resulted in excessive executable sizes.
Fixes #23381.
-------------------------
Metric Decrease:
size_hello_artifact
size_hello_unicode
-------------------------
- - - - -
fd47e2e3 by Cheng Shao at 2024-05-30T23:37:00-04:00
testsuite: mark process005 as fragile on JS
- - - - -
34a04ea1 by Matthew Pickering at 2024-05-31T06:08:36-04:00
Add -Wderiving-typeable to -Wall
Deriving `Typeable` does nothing, and it hasn't done for a long while.
There has also been a warning for a long while which warns you about
uselessly deriving it but it wasn't enabled in -Wall.
Fixes #24784
- - - - -
75fa7b0b by Matthew Pickering at 2024-05-31T06:08:36-04:00
docs: Fix formatting of changelog entries
- - - - -
303c4b33 by Preetham Gujjula at 2024-05-31T06:09:21-04:00
docs: Fix link to injective type families paper
Closes #24863
- - - - -
df97e9a6 by Ben Gamari at 2024-05-31T06:09:57-04:00
ghc-internal: Fix package description
The previous description was inherited from `base` and was inappropriate
for `ghc-internal`. Also fix the maintainer and bug reporting fields.
Closes #24906.
- - - - -
bf0737c0 by Cheng Shao at 2024-05-31T06:10:33-04:00
compiler: remove ArchWasm32 special case in cmmDoCmmSwitchPlans
This patch removes special consideration for ArchWasm32 in
cmmDoCmmSwitchPlans, which means the compiler will now disable
cmmImplementSwitchPlans for wasm unreg backend, just like unreg
backend of other targets. We enabled it in the past to workaround some
compile-time panic in older versions of LLVM, but those panics are no
longer present, hence no need to keep this workaround.
- - - - -
7eda4bd2 by Cheng Shao at 2024-05-31T15:52:04-04:00
utils: add hie.yaml config file for ghc-config
Add hie.yaml to ghc-config project directory so it can be edited using
HLS.
- - - - -
1e5752f6 by Cheng Shao at 2024-05-31T15:52:05-04:00
hadrian: handle findExecutable "" gracefully
hadrian may invoke findExecutable "" at run-time due to a certain
program is not found by configure script. Which is fine and
findExecutable is supposed to return Nothing in this case. However, on
Windows there's a directory bug that throws an exception (see
https://github.com/haskell/directory/issues/180), so we might as well
use a wrapper for findExecutable and handle exceptions gracefully.
- - - - -
4eb5ad09 by Cheng Shao at 2024-05-31T15:52:05-04:00
configure: do not set LLC/OPT/LLVMAS fallback values when FIND_LLVM_PROG fails
When configure fails to find LLC/OPT/LLVMAS within supported version
range, it used to set "llc"/"opt"/"clang" as fallback values. This
behavior is particularly troublesome when the user has llc/opt/clang
with other versions in their PATH and run the testsuite, since hadrian
will incorrectly assume have_llvm=True and pass that to the testsuite
driver, resulting in annoying optllvm test failures (#23186). If
configure determines llc/opt/clang wouldn't work, then we shouldn't
pretend it'll work at all, and the bindist configure will invoke
FIND_LLVM_PROG check again at install time anyway.
- - - - -
5f1afdf7 by Sylvain Henry at 2024-05-31T15:52:52-04:00
Introduce UniqueSet and use it to replace 'UniqSet Unique'
'UniqSet Unique' represents a set of uniques as a 'Map Unique Unique',
which is wasting space (associated key/value are always the same).
Fix #23572 and #23605
- - - - -
e0aa42b9 by crumbtoo at 2024-05-31T15:53:33-04:00
Improve template-haskell haddocks
Closes #15822
- - - - -
ae170155 by Olivier Benz at 2024-06-01T09:35:17-04:00
Bump max LLVM version to 19 (not inclusive)
- - - - -
92aa65ea by Matthew Pickering at 2024-06-01T09:35:17-04:00
ci: Update CI images to test LLVM 18
The debian12 image in this commit has llvm 18 installed.
- - - - -
adb1fe42 by Serge S. Gulin at 2024-06-01T09:35:53-04:00
Unicode: make ucd2haskell build-able again
ucd2haskell tool used streamly library which version in cabal was out of date. It is updated to the latest version at hackage with deprecated parts rewritten.
Also following fixes were applied to existing code in suppose that from its last run the code structure was changed and now it was required to be up to date with actual folder structures:
1. Ghc module path environment got a suffix with `src`.
2. Generated code got
2.1 `GHC.Internal` prefix for `Data.*`.
2.2 `GHC.Unicode.Internal` swapped on `GHC.Internal.Unicode` according to actual structure.
- - - - -
ad56fd84 by Jade at 2024-06-01T09:36:29-04:00
Replace 'NB' with 'Note' in error messages
- - - - -
6346c669 by Cheng Shao at 2024-06-01T09:37:04-04:00
compiler: fix -ddump-cmm-raw when compiling .cmm
This patch fixes missing -ddump-cmm-raw output when compiling .cmm,
which is useful for debugging cmm related codegen issues.
- - - - -
1c834ad4 by Ryan Scott at 2024-06-01T09:37:40-04:00
Print namespace specifiers in FixitySig's Outputable instance
For whatever reason, the `Outputable` instance for `FixitySig` simply did not
print out namespace specifiers, leading to the confusing `-ddump-splices`
output seen in #24911. This patch corrects this oversight.
Fixes #24911.
- - - - -
cf49fb5f by Sylvain Henry at 2024-06-01T09:38:19-04:00
Configure: display C++ compiler path
- - - - -
f9c1ae12 by Cheng Shao at 2024-06-02T14:01:55-04:00
hadrian: disable PIC for in-tree GMP on wasm32
This patch disables PIC for in-tree GMP on wasm32 target. Enabling PIC
unconditionally adds undesired code size and runtime overhead for
wasm32.
- - - - -
1a32f828 by Cheng Shao at 2024-06-02T14:01:55-04:00
hadrian: disable in-tree gmp fft code path for wasm32
This patch disables in-tree GMP FFT code paths for wasm32 target in
order to give up some performance of multiplying very large operands
in exchange for reduced code size.
- - - - -
06277d56 by Cheng Shao at 2024-06-02T14:01:55-04:00
hadrian: build in-tree GMP with malloc-notreentrant on wasm32
This patch makes hadrian build in-tree GMP with the
--enable-alloca=malloc-notreentrant configure option. We will only
need malloc-reentrant when we have threaded RTS and SMP support on
wasm32, which will take some time to happen, before which we should
use malloc-notreentrant to avoid undesired runtime overhead.
- - - - -
9f614270 by ARATA Mizuki at 2024-06-02T14:02:35-04:00
Set package include paths when assembling .S files
Fixes #24839.
Co-authored-by: Sylvain Henry <hsyl20 at gmail.com>
- - - - -
4998a6ed by Alex Mason at 2024-06-03T02:09:29-04:00
Improve performance of genericWordQuotRem2Op (#22966)
Implements the algorithm from compiler-rt's udiv128by64to64default. This
rewrite results in a roughly 24x improvement in runtime on AArch64 (and
likely any other arch that uses it).
- - - - -
ae50a8eb by Cheng Shao at 2024-06-03T02:10:05-04:00
testsuite: mark T7773 as fragile on wasm
- - - - -
606fb59d by Simon Peyton Jones at 2024-06-03T10:44:29+01:00
Just a start on specialising expressions
Addresses #24359. Just a start, does not compile.
- - - - -
b99b20fa by Simon Peyton Jones at 2024-06-03T10:44:29+01:00
More progress
(Still does not compile.)
- - - - -
b0e6290a by Simon Peyton Jones at 2024-06-03T10:44:29+01:00
More progress
- - - - -
75af0cf7 by Simon Peyton Jones at 2024-06-03T10:44:29+01:00
Wibble
- - - - -
cfc24b5a by Simon Peyton Jones at 2024-06-03T10:44:29+01:00
More progress
- - - - -
0e1dd1e2 by Simon Peyton Jones at 2024-06-03T10:44:29+01:00
More progress
- - - - -
50d1da38 by Simon Peyton Jones at 2024-06-03T10:44:29+01:00
Finally runnable!
- - - - -
66ed6431 by Simon Peyton Jones at 2024-06-03T10:44:29+01:00
Progress
- - - - -
1067eb65 by Simon Peyton Jones at 2024-06-03T10:44:29+01:00
Working I think
- - - - -
ad588459 by Andrei Borzenkov at 2024-06-03T10:44:29+01:00
Fix derivations conflict in parser, disambiguate them in post-process
- - - - -
fd9334d8 by Alan Zimmerman at 2024-06-03T10:44:29+01:00
Fix exact printing for RuleBndrs
This puts the exact print annotations inside a TTG extension point in
RuleBndrs.
It also adds an exact print case for SpecSigE
- - - - -
fbc86d8f by Simon Peyton Jones at 2024-06-03T10:44:29+01:00
Wibble imports
- - - - -
9133c781 by Simon Peyton Jones at 2024-06-03T10:44:29+01:00
Typo in comments
- - - - -
84483095 by Simon Peyton Jones at 2024-06-03T10:44:29+01:00
Wibbles
- - - - -
559e86ce by Simon Peyton Jones at 2024-06-03T11:18:25+01:00
Go via new route for simple SPECIALISE pragmas
- - - - -
30 changed files:
- .gitignore
- .gitlab-ci.yml
- + .gitlab/merge_request_templates/Haddock.md
- .gitlab/rel_eng/mk-ghcup-metadata/mk_ghcup_metadata.py
- CODEOWNERS
- compiler/GHC/Builtin/Names/TH.hs
- compiler/GHC/Builtin/Types.hs
- compiler/GHC/Cmm/LRegSet.hs
- compiler/GHC/Cmm/Liveness.hs
- compiler/GHC/Cmm/MachOp.hs
- compiler/GHC/Cmm/Opt.hs
- compiler/GHC/Cmm/Parser.y
- compiler/GHC/Cmm/Sink.hs
- 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/Asm.hs
- compiler/GHC/CmmToAsm/Wasm/FromCmm.hs
- compiler/GHC/CmmToAsm/Wasm/Types.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/DataCon.hs
- compiler/GHC/Core/Opt/Arity.hs
- compiler/GHC/Core/SimpleOpt.hs
- compiler/GHC/Core/TyCo/Rep.hs
- compiler/GHC/Core/TyCon.hs
The diff was not included because it is too large.
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/e764367be29d6a571c13fdf26f49b331748b38bc...559e86ce0b41c8e1b0b669824ba3b02e0c9c632e
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/e764367be29d6a571c13fdf26f49b331748b38bc...559e86ce0b41c8e1b0b669824ba3b02e0c9c632e
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/20240603/bc1d9a16/attachment-0001.html>
More information about the ghc-commits
mailing list