[PATCH] D95363: [SVE][LoopVectorize] Add support for scalable vectorization of loops with vector reverse
Caroline via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 10 12:16:48 PST 2021
CarolineConcatto marked an inline comment as done.
CarolineConcatto added inline comments.
================
Comment at: llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:2795
+ Value *NumElt =
+ Builder.CreateMul(ConstantInt::get(Builder.getInt32Ty(), -Part),
+ getRuntimeVF(Builder, Builder.getInt32Ty(), VF));
----------------
david-arm wrote:
> Maybe better to use `Builder.getInt32(-Part)` to be consistent with how it's done for the fixed width case?
Thank you David, you are correct things should be coherent.
================
Comment at: llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll:50
+for.body.preheader: ; preds = %entry
+ %0 = zext i32 %N to i64
+ br label %for.body
----------------
david-arm wrote:
> See comment about `N` - this line can be killed if you have "i64 N", then everywhere that uses %0 can just use %N instead. If you do this then the `for.body.preheader` block can be killed too and the branch above can jump straight to `for.body`
@david-arm
I've replaced the index to be 64 bits, but I could not remove the for.body.preheader.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D95363/new/
https://reviews.llvm.org/D95363
More information about the llvm-commits
mailing list