Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handle unoptimized branches in CodeFolding #7111

Merged
merged 2 commits into from
Nov 25, 2024
Merged

Handle unoptimized branches in CodeFolding #7111

merged 2 commits into from
Nov 25, 2024

Commits on Nov 25, 2024

  1. Handle unoptimized branches in CodeFolding

    CodeFolding previously did not consider br_on_* instructions at all, so
    it would happily merge tails even if there were br_on_* branches to the
    same label with non-matching tails. Fix the bug by making any label
    targeted by any instruction not explicitly handled by CodeFolding
    unoptimizable. This will gracefully handle other branching instructions
    like `resume` and `resume_throw` as well. Folding these branches
    properly is left as future work.
    
    Also rename the test file from code-folding_enable-threads.wast to just
    code-folding.wast and enable all features instead of just threads. The
    old name was left over from when the test was originally ported to lit,
    and the new feature is necessary because the new test uses GC
    instructions.
    tlively committed Nov 25, 2024
    Configuration menu
    Copy the full SHA
    2d8a8bc View commit details
    Browse the repository at this point in the history
  2. Use BranchUtils

    tlively committed Nov 25, 2024
    Configuration menu
    Copy the full SHA
    4ba1882 View commit details
    Browse the repository at this point in the history