[llvm] [GlobalISel] Add G_CONCAT_VECTOR handling in computeNumSignBits (PR #142355)

Jay Foad via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 4 04:03:40 PDT 2025


================
@@ -1958,6 +1958,31 @@ unsigned GISelValueTracking::computeNumSignBits(Register R,
     }
     break;
   }
+  case TargetOpcode::G_CONCAT_VECTORS: {
+    if (MRI.getType(MI.getOperand(0).getReg()).isScalableVector())
+      break;
+    FirstAnswer = TyBits;
+    // Determine the minimum number of sign bits across all demanded
+    // elts of the input vectors. Early out if the result is already 1.
+    unsigned NumSubVectorElts =
+        MRI.getType(MI.getOperand(1).getReg()).getNumElements();
+    unsigned NumSubVectors = MI.getNumOperands() - 1;
+    for (unsigned i = 0; i < NumSubVectors; ++i) {
----------------
jayfoad wrote:

```suggestion
    for (unsigned I = 0; I < NumSubVectors; ++I) {
```

https://github.com/llvm/llvm-project/pull/142355


More information about the llvm-commits mailing list