diff options
author | Keno Fischer <keno@alumni.harvard.edu> | 2019-05-07 15:28:47 +0000 |
---|---|---|
committer | Keno Fischer <keno@alumni.harvard.edu> | 2019-05-07 15:28:47 +0000 |
commit | a1a4adf4b9195799c19e5787e7821f9cf200495a (patch) | |
tree | 4c9c00c6273b2dc733060727b5f3046d26c617d9 /llvm/unittests/Support/CommandLineTest.cpp | |
parent | 95e72765c11fe22677e5922909520adbe7120e0b (diff) | |
download | llvm-a1a4adf4b9195799c19e5787e7821f9cf200495a.zip llvm-a1a4adf4b9195799c19e5787e7821f9cf200495a.tar.gz llvm-a1a4adf4b9195799c19e5787e7821f9cf200495a.tar.bz2 |
[SCEV] Add explicit representations of umin/smin
Summary:
Currently we express umin as `~umax(~x, ~y)`. However, this becomes
a problem for operands in non-integral pointer spaces, because `~x`
is not something we can compute for `x` non-integral. However, since
comparisons are generally still allowed, we are actually able to
express `umin(x, y)` directly as long as we don't try to express is
as a umax. Support this by adding an explicit umin/smin representation
to SCEV. We do this by factoring the existing getUMax/getSMax functions
into a new function that does all four. The previous two functions were
largely identical.
Reviewed By: sanjoy
Differential Revision: https://reviews.llvm.org/D50167
llvm-svn: 360159
Diffstat (limited to 'llvm/unittests/Support/CommandLineTest.cpp')
0 files changed, 0 insertions, 0 deletions