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

Replace successive "ldr" and "str" instructions with "ldp" and "stp" #77540

Merged
merged 30 commits into from
Jan 27, 2023

Commits on Oct 27, 2022

  1. Replace successive "ldr" and "str" instructions with "ldp" and "stp"

    This change serves to address the following four Github tickets:
    
        1. ARM64: Optimize pair of "ldr reg, [fp]" to ldp dotnet#35130
        2. ARM64: Optimize pair of "ldr reg, [reg]" to ldp dotnet#35132
        3. ARM64: Optimize pair of "str reg, [reg]" to stp dotnet#35133
        4. ARM64: Optimize pair of "str reg, [fp]" to stp  dotnet#35134
    
    A technique was employed that involved detecting an optimisation
    opportunity as instruction sequences were being generated.
    The optimised instruction was then generated on top of the previous
    instruction, with no second instruction generated. Thus, there were no
    changes to instruction group size at “emission time” and no changes to
    jump instructions.
    AndyJGraham committed Oct 27, 2022
    Configuration menu
    Copy the full SHA
    b88ff31 View commit details
    Browse the repository at this point in the history

Commits on Oct 31, 2022

  1. Configuration menu
    Copy the full SHA
    f0c918c View commit details
    Browse the repository at this point in the history

Commits on Nov 1, 2022

  1. Configuration menu
    Copy the full SHA
    f1b236e View commit details
    Browse the repository at this point in the history

Commits on Nov 3, 2022

  1. Now optimizes ascending locations and decending locations with

    consecutive STR and LDR instructions.
    AndyJGraham committed Nov 3, 2022
    Configuration menu
    Copy the full SHA
    c0533bd View commit details
    Browse the repository at this point in the history

Commits on Nov 14, 2022

  1. Configuration menu
    Copy the full SHA
    372ee97 View commit details
    Browse the repository at this point in the history

Commits on Nov 15, 2022

  1. Merge branch 'main'

    AndyJGraham committed Nov 15, 2022
    Configuration menu
    Copy the full SHA
    12fc291 View commit details
    Browse the repository at this point in the history

Commits on Nov 29, 2022

  1. Ongoing improvements to remove previously-emitted instruction

    during ldr / str optimization.
    AndyJGraham committed Nov 29, 2022
    Configuration menu
    Copy the full SHA
    0b377ed View commit details
    Browse the repository at this point in the history

Commits on Dec 1, 2022

  1. Stopped optimization of consecutive instructions that straddled an in…

    …struction group boundary.
    AndyJGraham committed Dec 1, 2022
    Configuration menu
    Copy the full SHA
    46b85f8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e4741f9 View commit details
    Browse the repository at this point in the history
  3. Merge branch 'main'

    Change-Id: I074d23c9fed34f713522fe6967cfd1a7007f0e4a
    CustomizedGitHooks: yes
    AndyJGraham committed Dec 1, 2022
    Configuration menu
    Copy the full SHA
    2822f64 View commit details
    Browse the repository at this point in the history

Commits on Dec 2, 2022

  1. Various fixes to ldp/stp optimization

    Add code to update IP mappings when an instruction is removed.
    BruceForstall committed Dec 2, 2022
    Configuration menu
    Copy the full SHA
    10a4510 View commit details
    Browse the repository at this point in the history

Commits on Dec 5, 2022

  1. Merge pull request #1 from BruceForstall/LdpStp_Modifications_Fixes

    Various fixes to ldp/stp optimization
    AndyJGraham committed Dec 5, 2022
    Configuration menu
    Copy the full SHA
    d80a69a View commit details
    Browse the repository at this point in the history

Commits on Dec 7, 2022

  1. Configuration menu
    Copy the full SHA
    f6a49bf View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2 from BruceForstall/LdpStp_Modifications_FixAsse…

    …rtMappingKind
    
    Delete unnecessary and incorrect assert
    AndyJGraham committed Dec 7, 2022
    Configuration menu
    Copy the full SHA
    ed4d070 View commit details
    Browse the repository at this point in the history

Commits on Dec 9, 2022

  1. Diagnostic change only, to confirm whether a theory is correct or

    not when chasing an error.
    AndyJGraham committed Dec 9, 2022
    Configuration menu
    Copy the full SHA
    4b0e51e View commit details
    Browse the repository at this point in the history

Commits on Dec 14, 2022

  1. Configuration menu
    Copy the full SHA
    2997a8e View commit details
    Browse the repository at this point in the history
  2. Do not merge. Temporarily removed calls to

    "codeGen->genIPmappingUpdateForRemovedInstruction()".
    
    Also, corrected minor bug in instruction numbering
    when removing instructions during optimization.
    AndyJGraham committed Dec 14, 2022
    Configuration menu
    Copy the full SHA
    f0907cc View commit details
    Browse the repository at this point in the history

Commits on Dec 15, 2022

  1. Configuration menu
    Copy the full SHA
    c5c4234 View commit details
    Browse the repository at this point in the history

Commits on Dec 16, 2022

  1. Merge branch 'main' of ssh://gerrit.oss.arm.com/enterprise-llt/dotnet…

    …/runtime into LdpStp_Modifications
    
    Change-Id: I58ecdb18c6c89e0f08f114d40a4743e501f0646d
    CustomizedGitHooks: yes
    AndyJGraham committed Dec 16, 2022
    Configuration menu
    Copy the full SHA
    bb8fdea View commit details
    Browse the repository at this point in the history
  2. Minor formatting change.

    AndyJGraham committed Dec 16, 2022
    Configuration menu
    Copy the full SHA
    65eed90 View commit details
    Browse the repository at this point in the history

Commits on Jan 13, 2023

  1. Check for out of range offsets

    a74nh committed Jan 13, 2023
    Configuration menu
    Copy the full SHA
    e03b375 View commit details
    Browse the repository at this point in the history

Commits on Jan 16, 2023

  1. Configuration menu
    Copy the full SHA
    2cef6fc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    41a9828 View commit details
    Browse the repository at this point in the history
  3. Fix windows build error

    a74nh committed Jan 16, 2023
    Configuration menu
    Copy the full SHA
    ba89fd3 View commit details
    Browse the repository at this point in the history

Commits on Jan 19, 2023

  1. Merge branch main

    Change-Id: Id3c59864e556e19fe05d84a07853c5be0d5aafa5
    CustomizedGitHooks: yes
    a74nh committed Jan 19, 2023
    Configuration menu
    Copy the full SHA
    1fbf423 View commit details
    Browse the repository at this point in the history

Commits on Jan 20, 2023

  1. Configuration menu
    Copy the full SHA
    ca9a325 View commit details
    Browse the repository at this point in the history
  2. Add OptimizeLdrStr function

    a74nh committed Jan 20, 2023
    Configuration menu
    Copy the full SHA
    e66ad66 View commit details
    Browse the repository at this point in the history
  3. Fix formatting

    a74nh committed Jan 20, 2023
    Configuration menu
    Copy the full SHA
    8b44843 View commit details
    Browse the repository at this point in the history

Commits on Jan 24, 2023

  1. Configuration menu
    Copy the full SHA
    2e7aaf6 View commit details
    Browse the repository at this point in the history

Commits on Jan 25, 2023

  1. Don't peephole local variables

    a74nh committed Jan 25, 2023
    Configuration menu
    Copy the full SHA
    fe76782 View commit details
    Browse the repository at this point in the history