fitzgen opened PR #14425 from fitzgen:alias-analysis-single-predecessor-state to bytecodealliance:main:
Following the same existing logic we use for determining memory "extents", if a block has a single predecessor, then entering it sees the same memory state that the single predecessor exited with. By reusing the single predecessor's exit state, we get strictly more-precise analysis results because the fixpoint's initial block entry states were computed on the function before optimization, and therefore can include dead stores that we have since eliminated, while the single predecessor's exit state reflects the post-optimization state.
This shaves off another ~13% of time from the increment-each-byte compile-time builtins benchmark. See the associated disas test output updates: inside the loop body, another redundant load was eliminated, which cascaded into another
trapzgetting deduplicated by GVN.On Sightglass, this actually speeds up compilation, shaving off 0.57% of instructions retired across the whole suite. It doesn't make any statistically significant difference to execution on Sightglass.
<!--
Please make sure you include the following information:
If this work has been discussed elsewhere, please include a link to that
conversation. If it was discussed in an issue, just mention "issue #...".Explain why this change is needed. If the details are in an issue already,
this can be brief.Our development process is documented in the Wasmtime book:
https://docs.wasmtime.dev/contributing-development-process.htmlPlease review the Bytecode Alliance's AI tool usage policy at
https://github.com/bytecodealliance/governance/blob/main/AI_TOOL_POLICY.mdPlease ensure all communication follows the code of conduct:
https://github.com/bytecodealliance/wasmtime/blob/main/CODE_OF_CONDUCT.md
-->
fitzgen requested cfallin for a review on PR #14425.
fitzgen requested wasmtime-compiler-reviewers for a review on PR #14425.
fitzgen requested wasmtime-core-reviewers for a review on PR #14425.
fitzgen updated PR #14425.
:thumbs_up: cfallin submitted PR review:
Seems reasonable to me; thanks!
cfallin added PR #14425 Alias analysis: Reuse the exit state of a block's single predecessor to the merge queue.
github-actions[bot] added the label cranelift on PR #14425.
:check: cfallin merged PR #14425.
cfallin removed PR #14425 Alias analysis: Reuse the exit state of a block's single predecessor from the merge queue.
Last updated: Oct 11 2026 at 04:10 UTC