[llvm] [VPlan] Make simplifyRecipe more like InstCombine (PR #212968)

Ramkumar Ramachandra via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 3 01:34:41 PDT 2026


================
@@ -1658,7 +1613,16 @@ void VPlanTransforms::simplifyRecipes(VPlan &Plan) {
   for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>(RPOT)) {
     for (VPRecipeBase &R : make_early_inc_range(*VPBB))
       if (auto *Def = dyn_cast<VPSingleDefRecipe>(&R))
-        simplifyRecipe(Def);
+        if (VPValue *New = simplifyRecipe(Def)) {
+          if (New != Def) {
+            // Replace the recipe with a new one.
+            Def->replaceAllUsesWith(New);
+            Def->eraseFromParent();
+          } else if (vputils::isDeadRecipe(R)) {
+            // Recipe was modified - it may be dead now.
+            Def->eraseFromParent();
+          }
----------------
artagnon wrote:

Hm? New == Def in this case? Curious why we're running a variant of removeDeadRecipes now?

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


More information about the llvm-commits mailing list