LowerTypeTests: Add a test that covers "unsatisfiable" type metadata.
authorPeter Collingbourne <peter@pcc.me.uk>
Wed, 7 Dec 2016 03:04:34 +0000 (03:04 +0000)
committerPeter Collingbourne <peter@pcc.me.uk>
Wed, 7 Dec 2016 03:04:34 +0000 (03:04 +0000)
llvm-svn: 288881

llvm/test/Transforms/LowerTypeTests/unsat.ll [new file with mode: 0644]

diff --git a/llvm/test/Transforms/LowerTypeTests/unsat.ll b/llvm/test/Transforms/LowerTypeTests/unsat.ll
new file mode 100644 (file)
index 0000000..5bafc9e
--- /dev/null
@@ -0,0 +1,12 @@
+; FIXME: We should not require -O2 to simplify this to return false.
+; RUN: opt -S -lowertypetests -O2 < %s | FileCheck %s
+
+target datalayout = "e-p:32:32"
+
+declare i1 @llvm.type.test(i8* %ptr, metadata %bitset) nounwind readnone
+
+define i1 @foo(i8* %p) {
+  %x = call i1 @llvm.type.test(i8* %p, metadata !"typeid1")
+  ; CHECK: ret i1 false
+  ret i1 %x
+}