[llvm] [VPlan] Move EVL-based transforms to VPlanEVLTransforms.cpp (NFC) (PR #209883)

Luke Lau via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 15 21:23:32 PDT 2026


================
@@ -597,6 +599,43 @@ struct VPlanTransforms {
                                         VPCostContext &CostCtx);
 };
 
+/// Removes the permutation pattern \p Perm from any elementwise operations
+/// in the plan, by constructing a new permutation via \p Build.
+/// e.g. binop(perm(x), perm(y)) -> perm(binop(x,y)).
+template <typename Match_t, typename Builder>
+void pullOutPermutations(VPlan &Plan, Match_t Perm, Builder Build) {
----------------
lukel97 wrote:

I don't suppose we can easily move the implementation of this into VPUtils.cpp because of the templates?

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


More information about the llvm-commits mailing list