[Git][ghc/ghc][wip/supersven/ghc-9.10-riscv-ncg] 10 commits: Add RISCV64 Native Code Generator (NCG)
Sven Tennie (@supersven)
gitlab at gitlab.haskell.org
Sun Aug 4 15:44:22 UTC 2024
Sven Tennie pushed to branch wip/supersven/ghc-9.10-riscv-ncg at Glasgow Haskell Compiler / GHC
Commits:
f257b937 by Sven Tennie at 2024-08-04T17:43:22+02:00
Add RISCV64 Native Code Generator (NCG)
This architecture wasn't supported before.
Co-authored-by: Moritz Angermann <moritz.angermann at gmail.com>
- - - - -
7b0b8aa7 by Sven Tennie at 2024-08-04T17:43:48+02:00
async001: Adjust for slower computers
Increase the delay a bit to be able to run this test on slower
computers (e.g. RISCV64 LicheePi 4a.)
- - - - -
4b2fdc43 by Sven Tennie at 2024-08-04T17:43:48+02:00
Add RTS linker for RISCV64
This architecture wasn't supported before.
- - - - -
6e0292bf by Sven Tennie at 2024-08-04T17:43:48+02:00
Ignore divbyzero test for RISCV64
The architecture's behaviour differs from the test's expectations. See
comment in code why this is okay.
- - - - -
39675a4f by Sven Tennie at 2024-08-04T17:43:48+02:00
Enable MulMayOflo_full test for RISCV64
It works and thus can be tested.
- - - - -
f1b65dad by Sven Tennie at 2024-08-04T17:43:48+02:00
LibffiAdjustor: Ensure code caches are flushed (RISCV64)
RISCV64 needs a specific code flushing sequence (involving fence.i) when
new code is created/loaded.
- - - - -
9e521b6c by Sven Tennie at 2024-08-04T17:43:48+02:00
Add additional linker symbols for builtins (RISCV64)
We're relying on some GCC/Clang builtins. These need to be visible to
the linker (and not be stripped away.)
- - - - -
601e3122 by Sven Tennie at 2024-08-04T17:43:48+02:00
Add GHCi support for RISCV64
As we got a RTS linker for this architecture now, we can enable GHCi for
it.
- - - - -
e6647776 by Sven Tennie at 2024-08-04T17:43:48+02:00
Set codeowners of the RISCV64 NCG
- - - - -
1b473a35 by Sven Tennie at 2024-08-04T17:43:48+02:00
Add test for C calling convention
Ensure that parameters and return values are correctly processed. A
dedicated test (like this) helps to get the subtleties of calling
conventions easily right.
- - - - -
10 changed files:
- CODEOWNERS
- compiler/CodeGen.Platform.h
- compiler/GHC/Cmm/CLabel.hs
- compiler/GHC/CmmToAsm.hs
- compiler/GHC/CmmToAsm/Dwarf/Constants.hs
- compiler/GHC/CmmToAsm/PIC.hs
- + compiler/GHC/CmmToAsm/RV64.hs
- + compiler/GHC/CmmToAsm/RV64/CodeGen.hs
- + compiler/GHC/CmmToAsm/RV64/Cond.hs
- + compiler/GHC/CmmToAsm/RV64/Instr.hs
The diff was not included because it is too large.
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/3f3f5a70ec30eb0eeefd3d7e80aed08cc3513ed9...1b473a3516a42c3e857eddb4f89e5330aa7e1143
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/3f3f5a70ec30eb0eeefd3d7e80aed08cc3513ed9...1b473a3516a42c3e857eddb4f89e5330aa7e1143
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/20240804/6d64f94f/attachment-0001.html>
More information about the ghc-commits
mailing list