[PATCH] D98222: [SCEV] Use trip count information to improve shift recurrence ranges
Philip Reames via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 8 16:25:47 PST 2021
reames created this revision.
reames added reviewers: fhahn, nikic, gilr, mkazantsev.
Herald added subscribers: dantrushin, javed.absar, hiraditya, mcrosier.
Herald added a reviewer: bollu.
reames requested review of this revision.
Herald added a project: LLVM.
This patch exploits the knowledge that we may be running many fewer than bitwidth iterations of the loop, and may be able to disallow the overflow case. This patch specifically implements only the shl case, but this can be generalized to ashr and lshr without difficulty.
In my motivating example (a multiple dimension loop nest w/a shl recurrence at the outer level), this results in a massive improvement in scev-aa results.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D98222
Files:
llvm/include/llvm/Analysis/ScalarEvolution.h
llvm/lib/Analysis/ScalarEvolution.cpp
llvm/test/Analysis/ScalarEvolution/shift-recurrences.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D98222.329156.patch
Type: text/x-patch
Size: 18919 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210309/f7b1a2c4/attachment.bin>
More information about the llvm-commits
mailing list