diff options
author | Florian Hahn <flo@fhahn.com> | 2020-09-24 11:06:55 +0100 |
---|---|---|
committer | Florian Hahn <flo@fhahn.com> | 2020-09-24 11:06:55 +0100 |
commit | d4ddf63fc40cfbbc348adcc45cdc6f6d78268c5c (patch) | |
tree | e30377405b189a3310b3919a1211a8698f2e049c /llvm/lib/Support/JSON.cpp | |
parent | 15c9af5618c8c4a810994df53543af9060086a8e (diff) | |
download | llvm-d4ddf63fc40cfbbc348adcc45cdc6f6d78268c5c.zip llvm-d4ddf63fc40cfbbc348adcc45cdc6f6d78268c5c.tar.gz llvm-d4ddf63fc40cfbbc348adcc45cdc6f6d78268c5c.tar.bz2 |
[SCEV] Use loop guard info when computing the max BE taken count in howFarToZero.
For some expressions, we can use information from loop guards when
we are looking for a maximum. This patch applies information from
loop guards to the expression used to compute the maximum backedge
taken count in howFarToZero. It currently replaces an unknown
expression X with UMin(X, Y), if the loop is guarded by
X ult Y.
This patch is minimal in what conditions it applies, and there
are a few TODOs to generalize.
This partly addresses PR40961. We will also need an update to
LV to address it completely.
Reviewed By: reames
Differential Revision: https://reviews.llvm.org/D67178
Diffstat (limited to 'llvm/lib/Support/JSON.cpp')
0 files changed, 0 insertions, 0 deletions