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/test/Transforms/LoopStrengthReduce | |
| parent | 95e72765c11fe22677e5922909520adbe7120e0b (diff) | |
| download | bcm5719-llvm-a1a4adf4b9195799c19e5787e7821f9cf200495a.tar.gz bcm5719-llvm-a1a4adf4b9195799c19e5787e7821f9cf200495a.zip | |
[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/test/Transforms/LoopStrengthReduce')
| -rw-r--r-- | llvm/test/Transforms/LoopStrengthReduce/2013-01-14-ReuseCast.ll | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/llvm/test/Transforms/LoopStrengthReduce/2013-01-14-ReuseCast.ll b/llvm/test/Transforms/LoopStrengthReduce/2013-01-14-ReuseCast.ll index ea3f6077231..d5232e1874c 100644 --- a/llvm/test/Transforms/LoopStrengthReduce/2013-01-14-ReuseCast.ll +++ b/llvm/test/Transforms/LoopStrengthReduce/2013-01-14-ReuseCast.ll @@ -14,8 +14,6 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3 ; current LSR cost model. ; CHECK-NOT: = ptrtoint i8* undef to i64 ; CHECK: .lr.ph -; CHECK: [[TMP:%[^ ]+]] = add i64 %tmp{{[0-9]+}}, -1 -; CHECK: sub i64 [[TMP]], %tmp{{[0-9]+}} ; CHECK: ret void define void @VerifyDiagnosticConsumerTest() unnamed_addr nounwind uwtable align 2 { bb: |

