diff options
author | Chris Lattner <sabre@nondot.org> | 2010-12-19 19:35:32 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-12-19 19:35:32 +0000 |
commit | 26b482d7a76df3f67675ce852daed0eba709c63e (patch) | |
tree | d8947c885f11c7b2e692448e1bbffdb60ca5e94f /test/Transforms/InstCombine/intrinsics.ll | |
parent | cc3029acdd4489c2cfe4c3e39fcb59241790d590 (diff) | |
download | llvm-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.ll | 10 |
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 |