Skip to content

Conversation

rastogishubham
Copy link

The LiveDebugValues pass and the instruction selector (which calls salvageCopySSA) need to be consistent on what they consider a copy instruction. With llvm#75184, the definition of what a copy instruction is was narrowed for AArch64 to exclude a w->x ORR and treat it as a zero-extend rather than a copy

However, to make sure LiveDebugValues still treats a w->x ORR as a copy, the new function, isCopyLikeInstr was created. We need to make sure that salvageCopySSA also calls that function.

This patch addresses this mismatch.

(cherry picked from commit 44c9e46)

…lvm#124233)

The LiveDebugValues pass and the instruction selector (which calls
salvageCopySSA) need to be consistent on what they consider a copy
instruction. With llvm#75184, the
definition of what a copy instruction is was narrowed for AArch64 to
exclude a w->x ORR and treat it as a zero-extend rather than a copy

However, to make sure LiveDebugValues still treats a w->x ORR as a copy,
the new function, isCopyLikeInstr was created. We need to make sure that
salvageCopySSA also calls that function.

This patch addresses this mismatch.

(cherry picked from commit 44c9e46)
@rastogishubham rastogishubham requested a review from a team as a code owner January 27, 2025 17:30
@rastogishubham
Copy link
Author

@swift-ci please test Linux

@rastogishubham
Copy link
Author

@swift-ci please test macOS

@adrian-prantl adrian-prantl merged commit 6d9fdaf into swiftlang:stable/20240723 Jan 29, 2025
2 checks passed
@rastogishubham rastogishubham deleted the FixDiffStable branch January 30, 2025 22:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants