[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