summaryrefslogtreecommitdiff
path: root/compiler/GHC/Wasm
Commit message (Collapse)AuthorAgeFilesLines
* compiler: apply cmm node-splitting for wasm backendCheng Shao2023-04-111-3/+8
| | | | | This patch applies cmm node-splitting for wasm32 NCG, which is required when handling irreducible CFGs. Fixes #23237.
* compiler: properly handle non-word-sized CmmSwitch scrutinees in the wasm NCGwip/T21776Cheng Shao2023-01-311-1/+9
| | | | | | | | Currently, the wasm NCG has an implicit assumption: all CmmSwitch scrutinees are 32-bit integers. This is not always true; #22864 is one counter-example with a 64-bit scrutinee. This patch fixes the logic by explicitly converting the scrutinee to a word that can be used as a br_table operand. Fixes #22871. Also includes a regression test.
* compiler: add optional tail-call support in wasm NCGCheng Shao2022-12-162-7/+3
| | | | | | | | | When the `-mtail-call` clang flag is passed at configure time, wasm tail-call extension is enabled, and the wasm NCG will emit `return_call`/`return_call_indirect` instructions to take advantage of it and avoid the `StgRun` trampoline overhead. Closes #22461.
* Misc cleanupKrzysztof Gogolewski2022-11-161-2/+1
| | | | | | | * Replace catMaybes . map f with mapMaybe f * Use concatFS to concatenate multiple FastStrings * Fix documentation of -exclude-module * Cleanup getIgnoreCount in GHCi.UI
* add new modules for reducibility and WebAssembly translationNorman Ramsey2022-11-112-0/+406