[llvm] Address Codegen bug related to marking subregister MachineOperand defines as undef (PR #134929)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Thu May 1 01:27:16 PDT 2025
================
@@ -1570,6 +1570,29 @@ void LiveIntervals::handleMove(MachineInstr &MI, bool UpdateFlags) {
HMEditor HME(*this, *MRI, *TRI, OldIndex, NewIndex, UpdateFlags);
HME.updateAllRanges(&MI);
+
+ // Check to make sure that there are no subreg defintions marked undef
+ // after the moved operation. If so, mark the current instruction as undef
+ // instead.
+ for (MachineOperand &MO : MI.operands()) {
----------------
arsenm wrote:
In theory the LiveIntervals are correct at this point, and the MIR is out of sync. It would probably be easier to express this in terms of operand-is-not-undef-but-not-live-at-this-point
https://github.com/llvm/llvm-project/pull/134929
More information about the llvm-commits
mailing list