summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/InstCombine/builtin-dynamic-object-size.ll
diff options
context:
space:
mode:
authorDavid Green <david.green@arm.com>2019-11-30 16:39:29 +0000
committerDavid Green <david.green@arm.com>2019-11-30 16:58:01 +0000
commit59b56e5c579c51e1333b4c6e96d127f50f191c14 (patch)
tree105dd9f697ab4235e0a4c5c32e9e2d0a07e7d6f3 /llvm/test/Transforms/InstCombine/builtin-dynamic-object-size.ll
parent3a1bef5616c3eb466b5f8a076385ee09e5a9ad9a (diff)
downloadbcm5719-llvm-59b56e5c579c51e1333b4c6e96d127f50f191c14.tar.gz
bcm5719-llvm-59b56e5c579c51e1333b4c6e96d127f50f191c14.zip
[InstCombine] Expand usub_sat patterns to handle constants
The constants come through as add %x, -C, not a sub as would be expected. They need some extra matchers to canonicalise them towards usub_sat. Differential Revision: https://reviews.llvm.org/D69514
Diffstat (limited to 'llvm/test/Transforms/InstCombine/builtin-dynamic-object-size.ll')
-rw-r--r--llvm/test/Transforms/InstCombine/builtin-dynamic-object-size.ll6
1 files changed, 2 insertions, 4 deletions
diff --git a/llvm/test/Transforms/InstCombine/builtin-dynamic-object-size.ll b/llvm/test/Transforms/InstCombine/builtin-dynamic-object-size.ll
index 96d0772da38..4093a121060 100644
--- a/llvm/test/Transforms/InstCombine/builtin-dynamic-object-size.ll
+++ b/llvm/test/Transforms/InstCombine/builtin-dynamic-object-size.ll
@@ -48,10 +48,8 @@ entry:
; CHECK: define i64 @internal_pointer(i64 %sz)
; CHECK-NEXT: entry:
-; CHECK-NEXT: %0 = add i64 %sz, -2
-; CHECK-NEXT: %1 = icmp ult i64 %sz, 2
-; CHECK-NEXT: %2 = select i1 %1, i64 0, i64 %0
-; CHECK-NEXT: ret i64 %2
+; CHECK-NEXT: %0 = call i64 @llvm.usub.sat.i64(i64 %sz, i64 2)
+; CHECK-NEXT: ret i64 %0
; CHECK-NEXT: }
define i64 @uses_nullptr_no_fold() {
OpenPOWER on IntegriCloud