[llvm] [VPlan] Extract reverse operation for reverse accesses (PR #146525)
    Florian Hahn via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Thu Sep 11 06:24:30 PDT 2025
    
    
  
================
@@ -2623,6 +2646,34 @@ static void transformRecipestoEVLRecipes(VPlan &Plan, VPValue &EVL) {
       }
     }
     ToErase.push_back(CurRecipe);
+
+    // Convert general reverse operations on loaded result into vp.reverse, when
+    // the VPVectorEndPointerRecipe adjusting the access address uses EVL
+    // instead of VF.
+    if (auto *LoadR = dyn_cast<VPWidenLoadEVLRecipe>(EVLRecipe)) {
----------------
fhahn wrote:
Is there a reason we handle the load/store cases separately, instead of just converting all reverse operations? Could we mis-compile in the future if some other transform decides to create new reverse operations?
https://github.com/llvm/llvm-project/pull/146525
    
    
More information about the llvm-commits
mailing list