[llvm] bb92074 - [SelectionDAG] Implement SDTCisEltOfVec in verifyNode. (#228519)

via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 2 15:10:38 PDT 2026


Author: Craig Topper
Date: 2026-10-02T22:10:29Z
New Revision: bb92074ca096f1ac80aa3555491c99333814faa8

URL: https://github.com/llvm/llvm-project/commit/bb92074ca096f1ac80aa3555491c99333814faa8
DIFF: https://github.com/llvm/llvm-project/commit/bb92074ca096f1ac80aa3555491c99333814faa8.diff

LOG: [SelectionDAG] Implement SDTCisEltOfVec in verifyNode. (#228519)

Assisted-by: Claude

Added: 
    

Modified: 
    llvm/lib/CodeGen/SelectionDAG/SDNodeInfo.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/CodeGen/SelectionDAG/SDNodeInfo.cpp b/llvm/lib/CodeGen/SelectionDAG/SDNodeInfo.cpp
index c493ead0e9b1d..87fd7ed8543e0 100644
--- a/llvm/lib/CodeGen/SelectionDAG/SDNodeInfo.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/SDNodeInfo.cpp
@@ -225,8 +225,21 @@ void SDNodeInfo::verifyNode(const SelectionDAG &DAG, const SDNode *N) const {
       break;
     case SDTCisOpSmallerThanOp:
       break;
-    case SDTCisEltOfVec:
+    case SDTCisEltOfVec: {
+      SDNodeValue VecVal = GetConstraintValue(C.ConstrainingValIdx);
+      EVT VecVT = VecVal.getValueType();
+
+      if (!VecVT.isVector()) {
+        SS << VecVal << " must have vector type, but has type " << VecVT;
+        reportNodeError(DAG, N, SS.str());
+      }
+      if (!VecVT.isVectorOf(VT)) {
+        SS << Val << " must have " << VecVT.getVectorElementType()
+           << " type (element type of " << VecVal << "), but has type " << VT;
+        reportNodeError(DAG, N, SS.str());
+      }
       break;
+    }
     case SDTCisSubVecOfVec:
       break;
     case SDTCVecEltisVT: {


        


More information about the llvm-commits mailing list