[llvm] [VPlan] Add initial anlysis to infer scalar type of VPValues. (PR #69013)

via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 26 17:12:47 PDT 2023


================
@@ -2702,8 +2703,17 @@ void InnerLoopVectorizer::scalarizeInstruction(const Instruction *Instr,
   bool IsVoidRetTy = Instr->getType()->isVoidTy();
 
   Instruction *Cloned = Instr->clone();
-  if (!IsVoidRetTy)
+  if (!IsVoidRetTy) {
     Cloned->setName(Instr->getName() + ".cloned");
+#if !defined(NDEBUG)
+    // Verify that VPlan type inference results agree with the type of the
+    // generated values.
+    VPTypeAnalysis A(State.Builder.GetInsertBlock()->getContext());
+    assert(A.inferScalarType(RepRecipe->getVPSingleValue()) ==
+               Cloned->getType() &&
+           "infered type and type from generated instructions do not match");
----------------
ayalz wrote:

```suggestion
           "inferred type and type from generated instructions do not match");
```

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


More information about the llvm-commits mailing list