[PATCH] D16908: Add a test case to show isKnownNonZero() returns correctly; NFC

Jun Bum Lim via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 11 09:14:04 PST 2016


junbuml updated this revision to Diff 47666.
junbuml added a comment.

Addressed Chad's comment.


http://reviews.llvm.org/D16908

Files:
  test/Transforms/InstSimplify/compare.ll

Index: test/Transforms/InstSimplify/compare.ll
===================================================================
--- test/Transforms/InstSimplify/compare.ll
+++ test/Transforms/InstSimplify/compare.ll
@@ -333,6 +333,21 @@
 ; CHECK: ret i1 false
 }
 
+; Do not simplify if we cannot guarantee that the ConstantExpr is a non-zero
+; constant.
+ at GV = common global i32* null
+define i1 @or_constexp(i32 %x) {
+; CHECK-LABEL: @or_constexp(
+entry:
+  %0 = and i32 ptrtoint (i32** @GV to i32), 32
+  %o = or i32 %x, %0
+  %c = icmp eq i32 %o, 0
+  ret i1 %c
+; CHECK: or
+; CHECK-NEXT: icmp eq
+; CHECK-NOT: ret i1 false
+}
+
 define i1 @shl1(i32 %x) {
 ; CHECK-LABEL: @shl1(
   %s = shl i32 1, %x


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D16908.47666.patch
Type: text/x-patch
Size: 695 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160211/bcd9df04/attachment-0001.bin>


More information about the llvm-commits mailing list