[PATCH] D133580: [VPlan] Only generate single instr for unpredicated stores of varying value to invariant address
Philip Reames via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Sep 9 08:29:57 PDT 2022
reames added inline comments.
================
Comment at: llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll:1088
; TF-FIXEDLEN-NEXT: [[TMP1:%.*]] = add i64 [[INDEX]], 1
-; TF-FIXEDLEN-NEXT: store i64 [[TMP0]], ptr [[B:%.*]], align 8
-; TF-FIXEDLEN-NEXT: store i64 [[TMP1]], ptr [[B]], align 8
+; TF-FIXEDLEN-NEXT: store i64 [[TMP1]], ptr [[B:%.*]], align 8
; TF-FIXEDLEN-NEXT: [[TMP2:%.*]] = getelementptr inbounds i64, ptr [[A:%.*]], i64 [[TMP0]]
----------------
This diff confused me at first since it seems to involve tail folding - which would involve predication. However, it looks like this is a case where an existing vectorizer bug causes a loop to be vectorized with a scalar epilogue even when the command line says to tail fold or don't vectorize. So, this isn't actually tail folded codegen.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D133580/new/
https://reviews.llvm.org/D133580
More information about the llvm-commits
mailing list