[PATCH] D107286: [LV] Widen ExtractValue instructions instead of scalarizing.

David Sherwood via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 3 01:07:49 PDT 2021


david-arm added inline comments.


================
Comment at: llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:4966
+    for (unsigned Part = 0; Part < UF; ++Part) {
+      Value *Val = Builder.CreateExtractValue(EVI->getAggregateOperand(),
+                                              EVI->getIndices());
----------------
I think we can probably hoist this out of the for loop and just create it once.


================
Comment at: llvm/test/Transforms/LoopVectorize/AArch64/extractvalue-no-scalarization-required.ll:4
 ; RUN: opt -loop-vectorize -mtriple=arm64-apple-ios %s -S -debug -disable-output 2>&1 | FileCheck --check-prefix=CM %s
 ; RUN: opt -loop-vectorize -force-vector-width=2 -force-vector-interleave=1 %s -S | FileCheck --check-prefix=FORCED %s
 
----------------
Could you add at least one test for an interleave > 1 either here or in the SVE test, just to prove we've got the parts right?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D107286



More information about the llvm-commits mailing list