[all-commits] [llvm/llvm-project] 22687a: [CodeGen] Correctly handle non-standard cases in R...
Stephen Tozer via All-commits
all-commits at lists.llvm.org
Tue Jan 28 06:00:04 PST 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 22687aa97bdae2f0ea0be9baf208247c18d69c06
https://github.com/llvm/llvm-project/commit/22687aa97bdae2f0ea0be9baf208247c18d69c06
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/RemoveLoadsIntoFakeUses.cpp
A llvm/test/CodeGen/X86/fake-use-remove-loads.mir
Log Message:
-----------
[CodeGen] Correctly handle non-standard cases in RemoveLoadsIntoFakeUses (#111551)
In the RemoveLoadsIntoFakeUses pass, we try to remove loads that are
only used by fake uses, as well as the fake use in question. There are
two existing errors with the pass however: it incorrectly examines every
operand of each FAKE_USE, when only the first is relevant (extra
operands will just be "killed" regs assigned by a previous pass), and it
ignores cases where the FAKE_USE register is not an exact match for the
loaded register, which is incorrect as regalloc may choose to load a
wider value than the FAKE_USE required pre-regalloc. This patch fixes
both of these cases.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list