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

[MIPS] Use generic isBlockOnlyReachableByFallthrough #80799

Merged
merged 1 commit into from
Feb 6, 2024
Merged

Commits on Feb 6, 2024

  1. [MIPS] Use generic isBlockOnlyReachableByFallthrough

    This should fix rust-lang/rust#108835
    
    FastISel may create a redundant BGTZ terminal which fallthroughes.
    ```
      BGTZ %2:gpr32, %bb.1, implicit-def $at
    
    bb.1.bb1:
    ; predecessors: %bb.0
    ```
    
    The `!I->isBarrier()` check in MipsAsmPrinter::isBlockOnlyReachableByFallthrough
    will incorrectly not print a label, leading to a `Undefined temporary symbol `
    error when we try assembling the output assembly file. See the updated
    `Fast-ISel/pr40325.ll` and rust-lang/rust#108835
    
    In addition, the `SwitchInst` condition is too conservative and prints
    many unneeded labels (see the updated tests).
    
    Just use the generic isBlockOnlyReachableByFallthrough, updated by
    commit 1995b9f for SPARC, which also
    handles MIPS.
    MaskRay committed Feb 6, 2024
    Configuration menu
    Copy the full SHA
    9ca9533 View commit details
    Browse the repository at this point in the history