[llvm] 3170978 - [InstSimplify] Add tests for pr49495 (NFC)

Juneyoung Lee via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 10 00:54:56 PST 2021


Author: Juneyoung Lee
Date: 2021-03-10T17:54:46+09:00
New Revision: 317097817325b31dbdbb26fb4ddf005da6ce7afc

URL: https://github.com/llvm/llvm-project/commit/317097817325b31dbdbb26fb4ddf005da6ce7afc
DIFF: https://github.com/llvm/llvm-project/commit/317097817325b31dbdbb26fb4ddf005da6ce7afc.diff

LOG: [InstSimplify] Add tests for pr49495 (NFC)

Added: 
    llvm/test/Transforms/InstSimplify/pr49495.ll

Modified: 
    

Removed: 
    


################################################################################
diff  --git a/llvm/test/Transforms/InstSimplify/pr49495.ll b/llvm/test/Transforms/InstSimplify/pr49495.ll
new file mode 100644
index 000000000000..f085de3b4a22
--- /dev/null
+++ b/llvm/test/Transforms/InstSimplify/pr49495.ll
@@ -0,0 +1,30 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
+; RUN: opt < %s -instsimplify -S | FileCheck %s
+
+; The first comparison (a != b) should not be dropped
+define i1 @test1(i8* %a, i8* %b) {
+; CHECK-LABEL: @test1(
+; CHECK-NEXT:    [[A2:%.*]] = getelementptr inbounds i8, i8* [[A:%.*]], i64 -1
+; CHECK-NEXT:    [[COND2:%.*]] = icmp ugt i8* [[A2]], [[B:%.*]]
+; CHECK-NEXT:    ret i1 [[COND2]]
+;
+  %cond1 = icmp ne i8* %a, %b
+  %a2 = getelementptr inbounds i8, i8* %a, i64 -1
+  %cond2 = icmp ugt i8* %a2, %b
+  %res = select i1 %cond1, i1 %cond2, i1 false
+  ret i1 %res
+}
+
+; The first comparison (a != b) should not be dropped
+define i1 @test2(i32 %a, i32 %b) {
+; CHECK-LABEL: @test2(
+; CHECK-NEXT:    [[A2:%.*]] = add nuw i32 [[A:%.*]], 1
+; CHECK-NEXT:    [[COND2:%.*]] = icmp ult i32 [[A2]], [[B:%.*]]
+; CHECK-NEXT:    ret i1 [[COND2]]
+;
+  %cond1 = icmp ne i32 %a, %b
+  %a2 = add nuw i32 %a, 1
+  %cond2 = icmp ult i32 %a2, %b
+  %res = select i1 %cond1, i1 %cond2, i1 false
+  ret i1 %res
+}


        


More information about the llvm-commits mailing list