[PATCH] D128073: [SROA] Try harder to find a vector promotion viable type when rewriting

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Jul 16 07:24:29 PDT 2022


arsenm added inline comments.


================
Comment at: llvm/lib/Transforms/Scalar/SROA.cpp:4270-4282
+                                                 P.beginOffset(), P.size())) {
+      VectorType *TypePartitionVecTy = dyn_cast<VectorType>(TypePartitionTy);
+      if (!SliceTy || (TypePartitionVecTy &&
+                       CheckVectorTypeForPromotion(P, TypePartitionVecTy, DL)))
+        SliceTy = TypePartitionTy;
+    }
   // If still not, can we use the largest bitwidth integer type used?
----------------
>From the flow here, it looks like it's trying to split vectors before arrays. Would this work better if moved after the array handling? Can you add some additional tests with structs and arrays of vectors?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D128073/new/

https://reviews.llvm.org/D128073



More information about the llvm-commits mailing list