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

Rebased PR #4 onto llvm16 & Refactored the code #52

Closed
wants to merge 6 commits into from

Commits on Sep 10, 2024

  1. Target/Mips: Move LWM/SWM opt to standalone pass

    LoadStoreMultiple optimization has been moved to the standalone pass so
    it can be expanded. Potentially, its position in a pipeline could be
    changed.
    milica-lazarevic authored and Djordje Todorovic committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    c59c89c View commit details
    Browse the repository at this point in the history
  2. NanoMIPS: Recognize unsorted sequences for LWM/SWM

    Additional support is added to recognize more sequences. Before,
    a sequence like this wasn't accepted:
    
    lw a1, 4(a0)
    lw a3, 12(a0)
    lw a2, 8(a0)
    
    Now, when we're sorting instructions by the reg:offset pair internally,
    the above is accepted.
    milica-lazarevic authored and Djordje Todorovic committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    bc1028d View commit details
    Browse the repository at this point in the history
  3. NanoMIPS: NMLoadStoreMultiple add gap support

    Beside regular instruction sequence, we're also looking for an
    instruction sequence that's "missing" one(or more) instruction to be
    complete and interchangeable with lwm/swm instruction. The sequence is
    optimizable if the Rt register in missing instruction is available.
    milica-lazarevic authored and Djordje Todorovic committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    6a71f28 View commit details
    Browse the repository at this point in the history
  4. NanoMIPS: NMLoadStoreMultiple add reg gap support

    We're handling the situation where the instruction sequence is regular,
    except for one instruction having a "wrong" Rt register number. A
    sequence like that is optimizable if the register with the expected
    register number is available. In that case, we're emitting one
    additional move instruction after lwm/swm.
    milica-lazarevic authored and Djordje Todorovic committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    cbeb0a6 View commit details
    Browse the repository at this point in the history
  5. Addressing comments

    Djordje Todorovic committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    56895bc View commit details
    Browse the repository at this point in the history

Commits on Sep 12, 2024

  1. NanoMIPS: NMLoadStoreMultiple - address comments

    Addressed comments & refactored the code.
    milica-lazarevic committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    3fbfd58 View commit details
    Browse the repository at this point in the history