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

Disallow blockparams on branches with multiple successors #170

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Commits on Nov 22, 2023

  1. Disallow blockparams on branches with multiple successors

    Since the input CFG is required to not have critical edges, such
    blockparams are useless. The incoming blockparams can simply be replaced
    with the vreg from the (unique) predecessor.
    
    It's better to let the client's lowering code handle this so regalloc2
    doesn't need to.
    Amanieu committed Nov 22, 2023
    Configuration menu
    Copy the full SHA
    34f7a99 View commit details
    Browse the repository at this point in the history

Commits on Dec 6, 2023

  1. Also remove the inst argument on branch_blockparams

    It isn't needed when there is only one successor.
    Amanieu committed Dec 6, 2023
    Configuration menu
    Copy the full SHA
    09433ff View commit details
    Browse the repository at this point in the history

Commits on Dec 12, 2023

  1. Verify that branches with operands are properly supported

    This extends the fuzzer and checker to verify that branches that produce
    outputs are properly supported and no moves are inserted after a branch.
    
    This also checks the one edge case where a branch instruction may have
    both operands and blockparams: when there is only one successor and that
    successor only has one predecessor.
    Amanieu committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    22a5791 View commit details
    Browse the repository at this point in the history