[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


================
@@ -738,7 +739,19 @@ void VPWidenRecipe::execute(VPTransformState &State) {
                       << Instruction::getOpcodeName(Opcode));
     llvm_unreachable("Unhandled instruction!");
   } // end of switch.
+
+#if !defined(NDEBUG)
+  // Verify that VPlan type inference results agree with the type of the
+  // generated values.
+  VPTypeAnalysis A(State.Builder.GetInsertBlock()->getContext());
+  for (unsigned Part = 0; Part < State.UF; ++Part) {
+    assert(VectorType::get(A.inferScalarType(getVPSingleValue()), State.VF) ==
----------------
ayalz wrote:

VPWidenRecipe inherits from VPValue, suffice to use `this` instead of `getVPSingleValue()` (which may in general return null)?

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


More information about the llvm-commits mailing list