[llvm] [VPlan] Ignore poison incoming values when creating blend (PR #180005)

Luke Lau via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 9 22:46:51 PST 2026


================
@@ -240,7 +240,9 @@ void VPPredicator::convertPhisToBlends(VPBasicBlock *VPBB) {
     // be duplications since this is a simple recursive scan, but future
     // optimizations will clean it up.
 
-    if (all_equal(PhiR->incoming_values())) {
+    if (all_equal(
+            make_filter_range(PhiR->incoming_values(),
+                              std::not_fn(match_fn<VPValue>(m_Poison()))))) {
       PhiR->replaceAllUsesWith(PhiR->getIncomingValue(0));
----------------
lukel97 wrote:

Yikes thanks for catching this, posted a fix at https://github.com/llvm/llvm-project/pull/180686

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


More information about the llvm-commits mailing list