[Git][ghc/ghc][wip/t23103] 5 commits: Support 128-bit SIMD on AArch64 via LLVM backend

Finley McIlwaine (@FinleyMcIlwaine) gitlab at gitlab.haskell.org
Tue Aug 22 21:43:59 UTC 2023



Finley McIlwaine pushed to branch wip/t23103 at Glasgow Haskell Compiler / GHC


Commits:
015886ec by ARATA Mizuki at 2023-08-22T15:13:13-04:00
Support 128-bit SIMD on AArch64 via LLVM backend

- - - - -
52a6d868 by Krzysztof Gogolewski at 2023-08-22T15:13:51-04:00
Testsuite cleanup

- Remove misleading help text in perf_notes, ways are not metrics
- Remove no_print_summary - this was used for Phabricator
- In linters tests, run 'git ls-files' just once.
  Previously, it was called on each has_ls_files()
- Add ghc-prim.cabal to gitignore, noticed in #23726
- Remove ghc-prim.cabal, it was accidentally committed in 524c60c8cd

- - - - -
ab40aa52 by Alan Zimmerman at 2023-08-22T15:14:28-04:00
EPA: Use Introduce [DeclTag] in AnnSortKey

The AnnSortKey is used to keep track of the order of declarations for
printing when the container has split them apart.

This applies to HsValBinds and ClassDecl, ClsInstDecl.

When making modifications to the list of declarations, the new order
must be captured for when it must be printed. For each list of
declarations (binds and sigs for a HsValBind) we can just store the
list in order.

To recreate the list when printing, we must merge them, and this is
what the AnnSortKey records. It used to be indexed by SrcSpan, we now
simply index by a marker as to which list to take the next item from.

- - - - -
a6ec3d51 by Finley McIlwaine at 2023-08-22T14:15:57-06:00
Refactor estimation of stack info table provenance

This commit greatly refactors the way we compute estimated provenance for stack
info tables. Previously, this process was done using an entirely separate traversal
of the whole Cmm code stream to build the map from info tables to source locations.
The separate traversal is now fused with the Cmm code generation pipeline in
GHC.Driver.Main.

This results in very significant code generation speed ups when -finfo-table-map is
enabled. In testing, this patch reduces code generation times by almost 30% with
-finfo-table-map and -O0, and 60% with -finfo-table-map and -O1 or -O2 .

Fixes #23103

- - - - -
5b28aab2 by Finley McIlwaine at 2023-08-22T15:43:03-06:00
Add a test checking overhead of -finfo-table-map

We want to make sure we don't end up with poor codegen performance resulting from
-finfo-table-map again as in #23103. This test ensures the allocations overhead stays below
a new accepted overhead after !11023.

- - - - -


30 changed files:

- .gitignore
- compiler/CodeGen.Platform.h
- compiler/GHC/Cmm/CallConv.hs
- compiler/GHC/Driver/GenerateCgIPEStub.hs
- compiler/GHC/Driver/Main.hs
- compiler/GHC/Hs/Binds.hs
- compiler/GHC/Hs/Decls.hs
- compiler/GHC/Parser/Annotation.hs
- compiler/GHC/StgToCmm/Prim.hs
- − libraries/ghc-prim/ghc-prim.cabal
- rts/include/stg/MachRegs.h
- testsuite/driver/perf_notes.py
- testsuite/driver/runtests.py
- testsuite/driver/testglobals.py
- testsuite/driver/testlib.py
- testsuite/mk/test.mk
- testsuite/tests/codeGen/should_run/all.T
- testsuite/tests/diagnostic-codes/all.T
- + testsuite/tests/ghc-api/exactprint/AddClassMethod.expected.hs
- + testsuite/tests/ghc-api/exactprint/AddClassMethod.hs
- testsuite/tests/ghc-api/exactprint/Makefile
- testsuite/tests/ghc-api/exactprint/all.T
- testsuite/tests/linters/all.T
- + testsuite/tests/profiling/perf/Makefile
- + testsuite/tests/profiling/perf/T23103/Makefile
- + testsuite/tests/profiling/perf/T23103/all.T
- testsuite/tests/unboxedsums/all.T
- utils/check-exact/ExactPrint.hs
- utils/check-exact/Main.hs
- utils/check-exact/Transform.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/455b97022308debda3a14c6166f2493954068bbc...5b28aab2366a8b5c1f769c94e30b2c1b0aae29f9

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/455b97022308debda3a14c6166f2493954068bbc...5b28aab2366a8b5c1f769c94e30b2c1b0aae29f9
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/20230822/1f204c84/attachment.html>


More information about the ghc-commits mailing list