[PATCH] D141926: [WebAssembly] Add passes for GEP lowering

Sam Parker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 6 08:21:17 PST 2023


samparker added a comment.

Sorry for the delay in replying.

I found it impossible to reproduce my previously quoted numbers. I'm juggling an evolving benchmark suite, while modifying wasi-sdk and NodeJS, so I'm guessing I got //something// out-of-sync!

Below are my revised numbers, with the varying configuration options for completeness. I'm running on an Ampere Altra, with a modified version of NodeJS which uses trap handlers for OOB checks (the patch <https://chromium-review.googlesource.com/c/v8/v8/+/3913026> is currently in review for V8), and I'm only using the TurboFan compiler to reduce noise. The main takeaways are:

- LICM is no longer included.
- Running InstCombine increases code size a little, but I haven't included any of the patches to mitigate the known problems with running it late.
- Lowering GEPs, in SeparateConstOffsetFromGEP, increases code size and execution time.
- OptimizeGEPs still gives a useful improvement in size and execution time.



| Pass Config                                                            | Total code size (KB) | Speedup (%) |
| vanilla wasi-sdk-16                                                    | 7809.192             | -           |
| SeparateConstOffsetFromGEP(false), EarlyCSE                            | 7805.771             | 0.1         |
| SeparateConstOffsetFromGEP(false), EarlyCSE, InstCombine               | 7810.446             | 0.1         |
| SeparateConstOffsetFromGEP(true), EarlyCSE                             | 7819.303             | -0.22       |
| SeparateConstOffsetFromGEP(true), EarlyCSE, InstCombine                | 7819.988             | -0.24       |
| SeparateConstOffsetFromGEP(false), EarlyCSE, OptimizeGEPs              | 7798.139             | 1.78        |
| SeparateConstOffsetFromGEP(false), EarlyCSE, OptimizeGEPs, InstCombine | 7802.854             | 1.7         |
|


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D141926/new/

https://reviews.llvm.org/D141926



More information about the llvm-commits mailing list