[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