Stream: git-wasmtime

Topic: wasmtime / PR #4652 Cranelift: MachBuffer: apply branch p...


view this post on Zulip Wasmtime GitHub notifications bot (Aug 09 2022 at 05:08):

cfallin requested alexcrichton for a review on PR #4652.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 09 2022 at 05:08):

cfallin opened PR #4652 from opt-branches-at-end to main:

The MachBuffer applies a set of peephole-optimization rules to do
branch threading, leverage fallthrough paths, eliminate empty blocks,
and flip conditional branches where needed to make branches more
efficient starting from naive always-branch-at-end-of-BB code.

This works by applying the rules at every label-bind, which is
equivalent to applying them at the end of every basic block, where
branches are usually inserted.

However, this misses one case: the end of the buffer! Currently we
don't optimize any redundant or foldable branches at the very end of
the machine code.

This usually doesn't matter when the function ends in an epilogue with
ret as the last instruction. However, when cold blocks exist, it can
actually matter.

Thanks to @mchesser for pointing out this issue in #4636.

<!--

Please ensure that the following steps are all taken care of before submitting
the PR.

Please ensure all communication adheres to the code of conduct.
-->

view this post on Zulip Wasmtime GitHub notifications bot (Aug 09 2022 at 05:08):

cfallin requested fitzgen for a review on PR #4652.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 09 2022 at 14:29):

alexcrichton submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 09 2022 at 17:38):

cfallin merged PR #4652.


Last updated: Oct 23 2024 at 20:03 UTC