[PATCH] D68082: [LV] Emitting SCEV checks with OptForSize
Ayal Zaks via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat Oct 5 11:10:26 PDT 2019
Ayal added a comment.
The other suggested fix in LoopAccessInfo::collectStridedAccess() indeed deserves a separate patch, being an optimization opportunity rather than preventing an assert -- it's stride predicate is added early enough to be caught by CM.computeMaxVF()'s bailout conditions and avoid assert, as scev4stride1() test in above X86/optsize.ll checks.
================
Comment at: llvm/test/Transforms/LoopVectorize/X86/optsize.ll:7
; RUN: opt < %s -loop-vectorize -S -mtriple=x86_64-unknown-linux -mcpu=skx | FileCheck %s --check-prefix AUTOVF
+; RUN: opt < %s -loop-vectorize -S | FileCheck %s --check-prefix=NO-SCEV-PREDS
----------------
Can one or both existing RUN's above be (re)used instead of adding a third?
================
Comment at: llvm/test/Transforms/LoopVectorize/X86/optsize.ll:201
+
+; PR43371: don't run in an assert while emitting SCEV runtime checks
+; with OptForSize.
----------------
run in an >> run into an
while >> due to
================
Comment at: llvm/test/Transforms/LoopVectorize/X86/optsize.ll:232
+
+for.body29:
+ %i24.0170 = phi i16 [ 0, %for.cond.for.cond.cleanup_crit_edge ], [ %inc37, %for.inc36 ]
----------------
simplify the test: entry block can branch directly to the loop header block.
================
Comment at: llvm/test/Transforms/LoopVectorize/X86/optsize.ll:240
+
+for.inc36:
+ %inc37 = add i16 %i24.0170, 1
----------------
simplify the test: merge the two blocks of the loop into one.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D68082/new/
https://reviews.llvm.org/D68082
More information about the llvm-commits
mailing list