diff options
author | David Bolvansky <david.bolvansky@gmail.com> | 2019-08-13 17:07:02 +0000 |
---|---|---|
committer | David Bolvansky <david.bolvansky@gmail.com> | 2019-08-13 17:07:02 +0000 |
commit | dde10cd7a968e57598726347b323348eceffeb05 (patch) | |
tree | 6a827da8bd812f074518316347b906e6a50b15bc | |
parent | 09967050098ea75a3b331c1d6ab21df7b2e2b4df (diff) | |
download | bcm5719-llvm-dde10cd7a968e57598726347b323348eceffeb05.tar.gz bcm5719-llvm-dde10cd7a968e57598726347b323348eceffeb05.zip |
[NFC] Revisited/updated tests
llvm-svn: 368722
-rw-r--r-- | llvm/test/Transforms/InstCombine/mem-deref-bytes.ll | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/llvm/test/Transforms/InstCombine/mem-deref-bytes.ll b/llvm/test/Transforms/InstCombine/mem-deref-bytes.ll index 87be8f57795..8eacd17c871 100644 --- a/llvm/test/Transforms/InstCombine/mem-deref-bytes.ll +++ b/llvm/test/Transforms/InstCombine/mem-deref-bytes.ll @@ -37,8 +37,8 @@ define i32 @memcmp_const_size_update_deref2(i8* nocapture readonly %d, i8* nocap ret i32 %call } -define i32 @memcmp_const_size_no_update_deref(i8* nocapture readonly %d, i8* nocapture readonly %s) { -; CHECK-LABEL: @memcmp_const_size_no_update_deref( +define i32 @memcmp_const_size_update_deref3(i8* nocapture readonly %d, i8* nocapture readonly %s) { +; CHECK-LABEL: @memcmp_const_size_update_deref3( ; CHECK-NEXT: [[CALL:%.*]] = tail call i32 @memcmp(i8* dereferenceable(40) [[D:%.*]], i8* dereferenceable(16) [[S:%.*]], i64 16) ; CHECK-NEXT: ret i32 [[CALL]] ; @@ -46,8 +46,17 @@ define i32 @memcmp_const_size_no_update_deref(i8* nocapture readonly %d, i8* noc ret i32 %call } -define i32 @memcmp_const_size_no_update_deref2(i8* nocapture readonly %d, i8* nocapture readonly %s) { -; CHECK-LABEL: @memcmp_const_size_no_update_deref2( +define i32 @memcmp_const_size_update_deref4(i8* nocapture readonly %d, i8* nocapture readonly %s) { +; CHECK-LABEL: @memcmp_const_size_update_deref4( +; CHECK-NEXT: [[CALL:%.*]] = tail call i32 @memcmp(i8* dereferenceable(16) [[D:%.*]], i8* dereferenceable(16) [[S:%.*]], i64 16) +; CHECK-NEXT: ret i32 [[CALL]] +; + %call = tail call i32 @memcmp(i8* dereferenceable_or_null(16) %d, i8* %s, i64 16) + ret i32 %call +} + +define i32 @memcmp_const_size_update_deref5(i8* nocapture readonly %d, i8* nocapture readonly %s) { +; CHECK-LABEL: @memcmp_const_size_update_deref5( ; CHECK-NEXT: [[CALL:%.*]] = tail call i32 @memcmp(i8* dereferenceable(40) [[D:%.*]], i8* dereferenceable(16) [[S:%.*]], i64 16) ; CHECK-NEXT: ret i32 [[CALL]] ; @@ -55,6 +64,15 @@ define i32 @memcmp_const_size_no_update_deref2(i8* nocapture readonly %d, i8* no ret i32 %call } +define i32 @memcmp_const_size_no_update_deref(i8* nocapture readonly %d, i8* nocapture readonly %s) { +; CHECK-LABEL: @memcmp_const_size_no_update_deref( +; CHECK-NEXT: [[CALL:%.*]] = tail call i32 @memcmp(i8* dereferenceable(40) [[D:%.*]], i8* dereferenceable(20) [[S:%.*]], i64 16) +; CHECK-NEXT: ret i32 [[CALL]] +; + %call = tail call i32 @memcmp(i8* dereferenceable(40) %d, i8* dereferenceable(20) %s, i64 16) + ret i32 %call +} + define i32 @memcmp_nonconst_size(i8* nocapture readonly %d, i8* nocapture readonly %s, i64 %n) { ; CHECK-LABEL: @memcmp_nonconst_size( ; CHECK-NEXT: [[CALL:%.*]] = tail call i32 @memcmp(i8* [[D:%.*]], i8* [[S:%.*]], i64 [[N:%.*]]) |