[llvm] PeepholeOpt: Remove dead checks for subregister def mismatch (PR #130084)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 6 04:15:39 PST 2025


https://github.com/arsenm created https://github.com/llvm/llvm-project/pull/130084

None

>From 90f1b58d77c124a3b4cc6f41c7745f61da27c501 Mon Sep 17 00:00:00 2001
From: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: Thu, 6 Mar 2025 18:49:39 +0700
Subject: [PATCH] PeepholeOpt: Remove dead checks for subregister def mismatch

---
 llvm/lib/CodeGen/PeepholeOptimizer.cpp | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/llvm/lib/CodeGen/PeepholeOptimizer.cpp b/llvm/lib/CodeGen/PeepholeOptimizer.cpp
index cced54fa72819..2a328039c3032 100644
--- a/llvm/lib/CodeGen/PeepholeOptimizer.cpp
+++ b/llvm/lib/CodeGen/PeepholeOptimizer.cpp
@@ -1904,11 +1904,8 @@ ValueTrackerResult ValueTracker::getNextSourceFromCopy() {
   assert(Def->getNumOperands() - Def->getNumImplicitOperands() == 2 &&
          "Invalid number of operands");
   assert(!Def->hasImplicitDef() && "Only implicit uses are allowed");
+  assert(!Def->getOperand(DefIdx).getSubReg() && "no subregister defs in SSA");
 
-  if (Def->getOperand(DefIdx).getSubReg() != DefSubReg)
-    // If we look for a different subreg, it means we want a subreg of src.
-    // Bails as we do not support composing subregs yet.
-    return ValueTrackerResult();
   // Otherwise, we want the whole source.
   const MachineOperand &Src = Def->getOperand(1);
   if (Src.isUndef())



More information about the llvm-commits mailing list