[wasm][liftoff] Spill multi-used registers before branches
This extends the idea already used by "MaterializeMergedConstants": certain values have to be processed by every br*, so to protect against cascades of conditional jumps causing lots of repeated work, it makes sense to do such processing just once. For the module in the linked bug, this reduces Liftoff generated code size from 69MB to 181KB. Fixed: v8:13072 Change-Id: Ie9f98240e93751988067d4774d4a09b2b39bdad6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3760444Reviewed-by:Clemens Backes <clemensb@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#81722}
Showing
Please
register
or
sign in
to comment