[llvm] [RegAllocBase] Produce IMPLICIT_DEF instead of COPY undef during cleanupFailedVReg (PR #147392)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 10 02:50:23 PDT 2025
arsenm wrote:
I think this is a more correct fix:
```
diff --git a/llvm/lib/CodeGen/TargetInstrInfo.cpp b/llvm/lib/CodeGen/TargetInstrInfo.cpp
index 8b82deb2a9d8..a36c3e03e889 100644
--- a/llvm/lib/CodeGen/TargetInstrInfo.cpp
+++ b/llvm/lib/CodeGen/TargetInstrInfo.cpp
@@ -476,6 +476,9 @@ static const TargetRegisterClass *canFoldCopy(const MachineInstr &MI,
if (FoldOp.getSubReg() || LiveOp.getSubReg())
return nullptr;
+ if (LiveOp.isUndef())
+ return nullptr;
+
Register FoldReg = FoldOp.getReg();
Register LiveReg = LiveOp.getReg();
```
https://github.com/llvm/llvm-project/pull/147392
More information about the llvm-commits
mailing list