Skip to content

Conversation

@nasherm
Copy link
Contributor

@nasherm nasherm commented Nov 19, 2025

Downstream patch #406 caused build failures due to an upstream change to the ARM backend. This patch removes the support enabled by this downstream patch as I no longer think it's worth maintaining for performance improvements. Further work should be done upstream to regain any lost performance.

Removes downstream issue: #405

Downstream patch #406 caused build failures due to an upstream
change to the ARM backend. This patch removes the support enabled
by this downstream patch as I no longer think it's worth maintaining
for performance improvements. Further work should be done upstream
to regain any lost performance.

Change-Id: I2a477d56a8a6f08aba5731434e4362b205982606
@nasherm nasherm requested review from a team as code owners November 19, 2025 10:48
@nasherm nasherm requested review from Copilot, dcandler and stuij and removed request for a team November 19, 2025 10:48
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR removes downstream patch #406 which enabled inline memcpy optimization using load/store instructions for ARM v7-M targets. The patch was causing build failures due to upstream ARM backend changes, and the maintainer has decided the performance benefits no longer justify the maintenance burden.

Key changes:

  • Removed the -enable-inline-memcpy-ld-st command-line flag and associated implementation
  • Deleted test file memcpy-v7m.ll that validated the removed optimization
  • Removed EmitMemcpyAsLdSt method declaration and implementation

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
llvm/test/CodeGen/ARM/memcpy-v7m.ll Deleted entire test file that verified the inline memcpy optimization behavior
llvm/lib/Target/ARM/ARMSelectionDAGInfo.h Removed EmitMemcpyAsLdSt method declaration from class interface
llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp Removed command-line flag, helper method implementation, and call site for the optimization

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

stuij
stuij previously approved these changes Nov 19, 2025
Copy link
Contributor

@stuij stuij left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@github-actions github-actions bot added the downstream-change Downstream change to LLVM tree label Nov 19, 2025
@github-actions
Copy link

This pull review modifies files outside of the arm-software directory, so please ensure it follows the Downstream Patch Policy.
An automated check will test if the tagging requirements have been met. Please wait for approving reviews from both Arm Toolchain for Embedded and Arm Toolchain for Linux teams before merging.

@dcandler
Copy link
Contributor

In order to keep the downstream change tracking happy, I think this will need Removes downstream issue: #405 at the end of the PR message.

Thanks.

Change-Id: I331bd8cc54165fa76ab8cc0999298fdceb90a7c9
@nasherm nasherm merged commit 530603e into arm-software Nov 19, 2025
3 checks passed
@nasherm nasherm deleted the nashe/remove-no-inline-memcpy-patch branch November 19, 2025 12:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

downstream-change Downstream change to LLVM tree

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants