[PATCH] D95521: [SCEV] Apply loop guards to trailing zero bits
Gil Rapaport via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 27 06:04:25 PST 2021
gilr created this revision.
gilr added reviewers: fhahn, lebedev.ri, nikic.
Herald added subscribers: javed.absar, zzheng, hiraditya.
gilr requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
Extend applyLoopGuards() to take into account conditions/assumes which prove some trailing bits to be zero by rewriting such SCEV's to explicitly zero those bits. This lets the loop unroller and the loop vectorizer identify more loops as not requiring remainder loops.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D95521
Files:
llvm/include/llvm/Analysis/ScalarEvolution.h
llvm/lib/Analysis/ScalarEvolution.cpp
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
llvm/test/Analysis/ScalarEvolution/trip-multiple-guard-info.ll
llvm/test/Transforms/LoopUnroll/runtime-unroll-assume-no-remainder.ll
llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-divisible-TC.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D95521.319544.patch
Type: text/x-patch
Size: 12916 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210127/da215ec9/attachment-0001.bin>
More information about the llvm-commits
mailing list