[PATCH] D94088: [SCEV] Assumption context for GetMinTrailingZeros

Gil Rapaport via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 5 07:34:21 PST 2021


gilr created this revision.
gilr added reviewers: fhahn, nikic, lebedev.ri.
Herald added subscribers: javed.absar, zzheng, hiraditya.
gilr requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Let GetMinTrailingZeros() make better use of assumptions by taking an optional context instruction.
The context defaults to null, keeping the API backward-compatible. If a context is provided, the method will neither use nor update the trailing zeros cache.
The context argument is then used by the loop vectorizer and by SCEV::getSmallConstantTripMultiple() to set the context at their given loop.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D94088

Files:
  llvm/include/llvm/Analysis/ScalarEvolution.h
  llvm/lib/Analysis/ScalarEvolution.cpp
  llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
  llvm/test/Transforms/LoopUnroll/runtime-unroll-assume-no-remainder.ll
  llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-assumed-divisible-TC.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D94088.314595.patch
Type: text/x-patch
Size: 16237 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210105/6130af3a/attachment.bin>


More information about the llvm-commits mailing list