[PATCH] D64422: [SCEV] teach SCEV symbolical execution about overflow intrinsics folding.

ChenZheng via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 9 08:48:45 PDT 2019


shchenz created this revision.
shchenz added reviewers: nikic, sanjoy, hfinkel.
Herald added subscribers: llvm-commits, wuzish, javed.absar, hiraditya.
Herald added a project: LLVM.

Teach SCEV `computeExitCountExhaustively()` function about folding overflow intrinsics, so we can get trip count.

With this patch, we can get trip count smaller than `MaxBruteForceIterations` in `computeExitCountExhaustively()`.

SCEV should also be able to get loop trip count for overflow intrinsics loop even the trip count is bigger than the MaxBruteForceIterations(default value is 100). Need another patch for it.


https://reviews.llvm.org/D64422

Files:
  llvm/lib/Analysis/ConstantFolding.cpp
  llvm/lib/Analysis/ScalarEvolution.cpp
  llvm/test/Analysis/ScalarEvolution/overflow-intrinsics-trip-count.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D64422.208702.patch
Type: text/x-patch
Size: 6683 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190709/9a95a547/attachment.bin>


More information about the llvm-commits mailing list