[llvm] [VPlan] Use parameter packs to avoid unary/binary/ternary matchers. NFC (PR #152272)

Luke Lau via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 6 03:43:26 PDT 2025


================
@@ -254,7 +248,6 @@ struct Recipe_match {
     // Check for recipes that do not have opcodes.
     if constexpr (std::is_same<RecipeTy, VPScalarIVStepsRecipe>::value ||
                   std::is_same<RecipeTy, VPCanonicalIVPHIRecipe>::value ||
-                  std::is_same<RecipeTy, VPWidenSelectRecipe>::value ||
----------------
lukel97 wrote:

This was removed because `VPWidenSelectRecipe` was added to `AllRecipe_match` (to remove `TernaryRecipe_match`), and we don't want unary or binary matchers to unconditionally match on `VPWidenSelectRecipe`. 

`VPWidenSelectRecipe` defines getOpcode() to be Instruction::Select so just use that instead. 

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


More information about the llvm-commits mailing list