summaryrefslogtreecommitdiff
path: root/test/Transforms/InstCombine/intrinsics.ll
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-12-19 19:35:32 +0000
committerChris Lattner <sabre@nondot.org>2010-12-19 19:35:32 +0000
commit26b482d7a76df3f67675ce852daed0eba709c63e (patch)
treed8947c885f11c7b2e692448e1bbffdb60ca5e94f /test/Transforms/InstCombine/intrinsics.ll
parentcc3029acdd4489c2cfe4c3e39fcb59241790d590 (diff)
downloadllvm-26b482d7a76df3f67675ce852daed0eba709c63e.tar.gz
llvm-26b482d7a76df3f67675ce852daed0eba709c63e.tar.bz2
llvm-26b482d7a76df3f67675ce852daed0eba709c63e.tar.xz
optimize uadd(x, cst) into a comparison when the normal
result is dead. This is required for my next patch to not regress the testsuite. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122181 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/InstCombine/intrinsics.ll')
-rw-r--r--test/Transforms/InstCombine/intrinsics.ll10
1 files changed, 10 insertions, 0 deletions
diff --git a/test/Transforms/InstCombine/intrinsics.ll b/test/Transforms/InstCombine/intrinsics.ll
index d672d8c153..ed9c7b3840 100644
--- a/test/Transforms/InstCombine/intrinsics.ll
+++ b/test/Transforms/InstCombine/intrinsics.ll
@@ -71,6 +71,16 @@ define i8 @uaddtest5(i8 %A, i1* %overflowPtr) {
; CHECK: ret i8 %A
}
+define i1 @uaddtest6(i8 %A, i8 %B) {
+ %x = call %overflow.result @llvm.uadd.with.overflow.i8(i8 %A, i8 -4)
+ %z = extractvalue %overflow.result %x, 1
+ ret i1 %z
+; CHECK: @uaddtest6
+; CHECK-NEXT: %z = icmp ugt i8 %A, 3
+; CHECK-NEXT: ret i1 %z
+}
+
+
define i8 @umultest1(i8 %A, i1* %overflowPtr) {
%x = call %overflow.result @llvm.umul.with.overflow.i8(i8 0, i8 %A)
%y = extractvalue %overflow.result %x, 0