[llvm] [VPlan] Fix broadcasted values using loop region during execution (PR #142594)

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 11 07:22:53 PDT 2025


================
@@ -97,8 +99,6 @@ define i8 @pr141968(i1 %cond, i8 %v) {
 ; CHECK:       [[PRED_SDIV_IF29]]:
 ; CHECK-NEXT:    br label %[[PRED_SDIV_CONTINUE30]]
 ; CHECK:       [[PRED_SDIV_CONTINUE30]]:
-; CHECK-NEXT:    [[BROADCAST_SPLATINSERT31:%.*]] = insertelement <16 x i8> poison, i8 [[V]], i64 0
-; CHECK-NEXT:    [[BROADCAST_SPLAT32:%.*]] = shufflevector <16 x i8> [[BROADCAST_SPLATINSERT31]], <16 x i8> poison, <16 x i32> zeroinitializer
 ; CHECK-NEXT:    [[PREDPHI:%.*]] = select <16 x i1> [[BROADCAST_SPLAT]], <16 x i8> zeroinitializer, <16 x i8> [[BROADCAST_SPLAT32]]
----------------
fhahn wrote:

Hm, is the only user a VPPredInstPHIRecipe? It uses the vector value, but has `usesScalars` returns true. Should it return false?

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


More information about the llvm-commits mailing list