summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/InstCombine/assume-redundant.ll
diff options
context:
space:
mode:
authorArtur Pilipenko <apilipenko@azulsystems.com>2015-10-07 16:01:18 +0000
committerArtur Pilipenko <apilipenko@azulsystems.com>2015-10-07 16:01:18 +0000
commitd94903c9f80d9dfa2664caed8e35845b46a7b8f2 (patch)
tree0e22981dbc4cc26c322d666816440979713e1286 /llvm/test/Transforms/InstCombine/assume-redundant.ll
parentd45b205ed1a1f83529929de88feb0e63e5a27649 (diff)
downloadbcm5719-llvm-d94903c9f80d9dfa2664caed8e35845b46a7b8f2.tar.gz
bcm5719-llvm-d94903c9f80d9dfa2664caed8e35845b46a7b8f2.zip
Teach computeKnownBits to use new align attribute/metadata
Reviewed By: reames Differential Revision: http://reviews.llvm.org/D13470 llvm-svn: 249557
Diffstat (limited to 'llvm/test/Transforms/InstCombine/assume-redundant.ll')
-rw-r--r--llvm/test/Transforms/InstCombine/assume-redundant.ll26
1 files changed, 26 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstCombine/assume-redundant.ll b/llvm/test/Transforms/InstCombine/assume-redundant.ll
index 4b869ef2c50..4bdbcc8d086 100644
--- a/llvm/test/Transforms/InstCombine/assume-redundant.ll
+++ b/llvm/test/Transforms/InstCombine/assume-redundant.ll
@@ -47,6 +47,32 @@ for.end: ; preds = %for.body
ret void
}
+declare align 8 i8* @get()
+
+; Check that redundant align assume is removed
+; CHECK-LABEL: @test
+; CHECK-NOT: call void @llvm.assume
+define void @test1() {
+ %p = call align 8 i8* @get()
+ %ptrint = ptrtoint i8* %p to i64
+ %maskedptr = and i64 %ptrint, 7
+ %maskcond = icmp eq i64 %maskedptr, 0
+ call void @llvm.assume(i1 %maskcond)
+ ret void
+}
+
+; Check that redundant align assume is removed
+; CHECK-LABEL: @test
+; CHECK-NOT: call void @llvm.assume
+define void @test3() {
+ %p = alloca i8, align 8
+ %ptrint = ptrtoint i8* %p to i64
+ %maskedptr = and i64 %ptrint, 7
+ %maskcond = icmp eq i64 %maskedptr, 0
+ call void @llvm.assume(i1 %maskcond)
+ ret void
+}
+
; Function Attrs: nounwind
declare void @llvm.assume(i1) #1
OpenPOWER on IntegriCloud