summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/LowerBitSets
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/Transforms/LowerBitSets')
-rw-r--r--llvm/test/Transforms/LowerBitSets/constant.ll34
-rw-r--r--llvm/test/Transforms/LowerBitSets/function-ext.ll22
-rw-r--r--llvm/test/Transforms/LowerBitSets/function.ll35
-rw-r--r--llvm/test/Transforms/LowerBitSets/layout.ll35
-rw-r--r--llvm/test/Transforms/LowerBitSets/nonglobal.ll19
-rw-r--r--llvm/test/Transforms/LowerBitSets/nonstring.ll34
-rw-r--r--llvm/test/Transforms/LowerBitSets/pr25902.ll21
-rw-r--r--llvm/test/Transforms/LowerBitSets/section.ll26
-rw-r--r--llvm/test/Transforms/LowerBitSets/simple.ll137
-rw-r--r--llvm/test/Transforms/LowerBitSets/single-offset.ll40
-rw-r--r--llvm/test/Transforms/LowerBitSets/unnamed.ll20
11 files changed, 0 insertions, 423 deletions
diff --git a/llvm/test/Transforms/LowerBitSets/constant.ll b/llvm/test/Transforms/LowerBitSets/constant.ll
deleted file mode 100644
index 99c925914f7..00000000000
--- a/llvm/test/Transforms/LowerBitSets/constant.ll
+++ /dev/null
@@ -1,34 +0,0 @@
-; RUN: opt -S -lowerbitsets < %s | FileCheck %s
-
-target datalayout = "e-p:32:32"
-
-@a = constant i32 1
-@b = constant [2 x i32] [i32 2, i32 3]
-
-!0 = !{!"bitset1", i32* @a, i32 0}
-!1 = !{!"bitset1", [2 x i32]* @b, i32 4}
-
-!llvm.bitsets = !{ !0, !1 }
-
-declare i1 @llvm.bitset.test(i8* %ptr, metadata %bitset) nounwind readnone
-
-; CHECK: @foo(
-define i1 @foo() {
- ; CHECK: ret i1 true
- %x = call i1 @llvm.bitset.test(i8* bitcast (i32* @a to i8*), metadata !"bitset1")
- ret i1 %x
-}
-
-; CHECK: @bar(
-define i1 @bar() {
- ; CHECK: ret i1 true
- %x = call i1 @llvm.bitset.test(i8* bitcast (i32* getelementptr ([2 x i32], [2 x i32]* @b, i32 0, i32 1) to i8*), metadata !"bitset1")
- ret i1 %x
-}
-
-; CHECK: @baz(
-define i1 @baz() {
- ; CHECK-NOT: ret i1 true
- %x = call i1 @llvm.bitset.test(i8* bitcast (i32* getelementptr ([2 x i32], [2 x i32]* @b, i32 0, i32 0) to i8*), metadata !"bitset1")
- ret i1 %x
-}
diff --git a/llvm/test/Transforms/LowerBitSets/function-ext.ll b/llvm/test/Transforms/LowerBitSets/function-ext.ll
deleted file mode 100644
index 2a83bef2f07..00000000000
--- a/llvm/test/Transforms/LowerBitSets/function-ext.ll
+++ /dev/null
@@ -1,22 +0,0 @@
-; RUN: opt -S -lowerbitsets < %s | FileCheck %s
-
-; Tests that we correctly handle external references, including the case where
-; all functions in a bitset are external references.
-
-target triple = "x86_64-unknown-linux-gnu"
-
-declare void @foo()
-
-; CHECK: @[[JT:.*]] = private constant [1 x <{ i8, i32, i8, i8, i8 }>] [<{ i8, i32, i8, i8, i8 }> <{ i8 -23, i32 trunc (i64 sub (i64 sub (i64 ptrtoint (void ()* @foo to i64), i64 ptrtoint ([1 x <{ i8, i32, i8, i8, i8 }>]* @[[JT]] to i64)), i64 5) to i32), i8 -52, i8 -52, i8 -52 }>], section ".text"
-
-define i1 @bar(i8* %ptr) {
- ; CHECK: icmp eq i64 {{.*}}, ptrtoint ([1 x <{ i8, i32, i8, i8, i8 }>]* @[[JT]] to i64)
- %p = call i1 @llvm.bitset.test(i8* %ptr, metadata !"void")
- ret i1 %p
-}
-
-declare i1 @llvm.bitset.test(i8* %ptr, metadata %bitset) nounwind readnone
-
-!0 = !{!"void", void ()* @foo, i64 0}
-
-!llvm.bitsets = !{!0}
diff --git a/llvm/test/Transforms/LowerBitSets/function.ll b/llvm/test/Transforms/LowerBitSets/function.ll
deleted file mode 100644
index bf4043d61c4..00000000000
--- a/llvm/test/Transforms/LowerBitSets/function.ll
+++ /dev/null
@@ -1,35 +0,0 @@
-; RUN: opt -S -lowerbitsets < %s | FileCheck %s
-
-; Tests that we correctly create a jump table for bitsets containing 2 or more
-; functions.
-
-target triple = "x86_64-unknown-linux-gnu"
-target datalayout = "e-p:64:64"
-
-; CHECK: @[[JT:.*]] = private constant [2 x <{ i8, i32, i8, i8, i8 }>] [<{ i8, i32, i8, i8, i8 }> <{ i8 -23, i32 trunc (i64 sub (i64 sub (i64 ptrtoint (void ()* @[[FNAME:.*]] to i64), i64 ptrtoint ([2 x <{ i8, i32, i8, i8, i8 }>]* @[[JT]] to i64)), i64 5) to i32), i8 -52, i8 -52, i8 -52 }>, <{ i8, i32, i8, i8, i8 }> <{ i8 -23, i32 trunc (i64 sub (i64 sub (i64 ptrtoint (void ()* @[[GNAME:.*]] to i64), i64 ptrtoint ([2 x <{ i8, i32, i8, i8, i8 }>]* @[[JT]] to i64)), i64 13) to i32), i8 -52, i8 -52, i8 -52 }>], section ".text"
-
-; CHECK: @f = alias void (), bitcast ([2 x <{ i8, i32, i8, i8, i8 }>]* @[[JT]] to void ()*)
-; CHECK: @g = alias void (), bitcast (<{ i8, i32, i8, i8, i8 }>* getelementptr inbounds ([2 x <{ i8, i32, i8, i8, i8 }>], [2 x <{ i8, i32, i8, i8, i8 }>]* @[[JT]], i64 0, i64 1) to void ()*)
-
-; CHECK: define private void @[[FNAME]]() {
-define void @f() {
- ret void
-}
-
-; CHECK: define private void @[[GNAME]]() {
-define void @g() {
- ret void
-}
-
-!0 = !{!"bitset1", void ()* @f, i32 0}
-!1 = !{!"bitset1", void ()* @g, i32 0}
-
-!llvm.bitsets = !{ !0, !1 }
-
-declare i1 @llvm.bitset.test(i8* %ptr, metadata %bitset) nounwind readnone
-
-define i1 @foo(i8* %p) {
- ; CHECK: sub i64 {{.*}}, ptrtoint ([2 x <{ i8, i32, i8, i8, i8 }>]* @[[JT]] to i64)
- %x = call i1 @llvm.bitset.test(i8* %p, metadata !"bitset1")
- ret i1 %x
-}
diff --git a/llvm/test/Transforms/LowerBitSets/layout.ll b/llvm/test/Transforms/LowerBitSets/layout.ll
deleted file mode 100644
index a0c6e77a57f..00000000000
--- a/llvm/test/Transforms/LowerBitSets/layout.ll
+++ /dev/null
@@ -1,35 +0,0 @@
-; RUN: opt -S -lowerbitsets < %s | FileCheck %s
-
-target datalayout = "e-p:32:32"
-
-; Tests that this set of globals is laid out according to our layout algorithm
-; (see GlobalLayoutBuilder in include/llvm/Transforms/IPO/LowerBitSets.h).
-; The chosen layout in this case is a, e, b, d, c.
-
-; CHECK: private constant { i32, [0 x i8], i32, [0 x i8], i32, [0 x i8], i32, [0 x i8], i32 } { i32 1, [0 x i8] zeroinitializer, i32 5, [0 x i8] zeroinitializer, i32 2, [0 x i8] zeroinitializer, i32 4, [0 x i8] zeroinitializer, i32 3 }
-@a = constant i32 1
-@b = constant i32 2
-@c = constant i32 3
-@d = constant i32 4
-@e = constant i32 5
-
-!0 = !{!"bitset1", i32* @a, i32 0}
-!1 = !{!"bitset1", i32* @b, i32 0}
-!2 = !{!"bitset1", i32* @c, i32 0}
-
-!3 = !{!"bitset2", i32* @b, i32 0}
-!4 = !{!"bitset2", i32* @d, i32 0}
-
-!5 = !{!"bitset3", i32* @a, i32 0}
-!6 = !{!"bitset3", i32* @e, i32 0}
-
-!llvm.bitsets = !{ !0, !1, !2, !3, !4, !5, !6 }
-
-declare i1 @llvm.bitset.test(i8* %ptr, metadata %bitset) nounwind readnone
-
-define void @foo() {
- %x = call i1 @llvm.bitset.test(i8* undef, metadata !"bitset1")
- %y = call i1 @llvm.bitset.test(i8* undef, metadata !"bitset2")
- %z = call i1 @llvm.bitset.test(i8* undef, metadata !"bitset3")
- ret void
-}
diff --git a/llvm/test/Transforms/LowerBitSets/nonglobal.ll b/llvm/test/Transforms/LowerBitSets/nonglobal.ll
deleted file mode 100644
index 7591e31e352..00000000000
--- a/llvm/test/Transforms/LowerBitSets/nonglobal.ll
+++ /dev/null
@@ -1,19 +0,0 @@
-; RUN: opt -S -lowerbitsets < %s | FileCheck %s
-
-target datalayout = "e-p:32:32"
-
-; CHECK-NOT: @b = alias
-@a = constant i32 1
-@b = constant [2 x i32] [i32 2, i32 3]
-
-!0 = !{!"bitset1", i32* @a, i32 0}
-!1 = !{!"bitset1", i32* bitcast ([2 x i32]* @b to i32*), i32 0}
-
-!llvm.bitsets = !{ !0, !1 }
-
-declare i1 @llvm.bitset.test(i8* %ptr, metadata %bitset) nounwind readnone
-
-define i1 @foo(i8* %p) {
- %x = call i1 @llvm.bitset.test(i8* %p, metadata !"bitset1")
- ret i1 %x
-}
diff --git a/llvm/test/Transforms/LowerBitSets/nonstring.ll b/llvm/test/Transforms/LowerBitSets/nonstring.ll
deleted file mode 100644
index e61c9123e08..00000000000
--- a/llvm/test/Transforms/LowerBitSets/nonstring.ll
+++ /dev/null
@@ -1,34 +0,0 @@
-; RUN: opt -S -lowerbitsets < %s | FileCheck %s
-
-; Tests that non-string metadata nodes may be used as bitset identifiers.
-
-target datalayout = "e-p:32:32"
-
-; CHECK: @[[ANAME:.*]] = private constant { i32 }
-; CHECK: @[[BNAME:.*]] = private constant { [2 x i32] }
-
-@a = constant i32 1
-@b = constant [2 x i32] [i32 2, i32 3]
-
-!0 = !{!2, i32* @a, i32 0}
-!1 = !{!3, [2 x i32]* @b, i32 0}
-!2 = distinct !{}
-!3 = distinct !{}
-
-!llvm.bitsets = !{ !0, !1 }
-
-declare i1 @llvm.bitset.test(i8* %ptr, metadata %bitset) nounwind readnone
-
-; CHECK-LABEL: @foo
-define i1 @foo(i8* %p) {
- ; CHECK: icmp eq i32 {{.*}}, ptrtoint ({ i32 }* @[[ANAME]] to i32)
- %x = call i1 @llvm.bitset.test(i8* %p, metadata !2)
- ret i1 %x
-}
-
-; CHECK-LABEL: @bar
-define i1 @bar(i8* %p) {
- ; CHECK: icmp eq i32 {{.*}}, ptrtoint ({ [2 x i32] }* @[[BNAME]] to i32)
- %x = call i1 @llvm.bitset.test(i8* %p, metadata !3)
- ret i1 %x
-}
diff --git a/llvm/test/Transforms/LowerBitSets/pr25902.ll b/llvm/test/Transforms/LowerBitSets/pr25902.ll
deleted file mode 100644
index b9a1203ec0e..00000000000
--- a/llvm/test/Transforms/LowerBitSets/pr25902.ll
+++ /dev/null
@@ -1,21 +0,0 @@
-; PR25902: gold plugin crash.
-; RUN: opt -mtriple=i686-pc -S -lowerbitsets < %s
-
-define void @f(void ()* %p) {
-entry:
- %a = bitcast void ()* %p to i8*, !nosanitize !1
- %b = call i1 @llvm.bitset.test(i8* %a, metadata !"_ZTSFvvE"), !nosanitize !1
- ret void
-}
-
-define void @g() {
-entry:
- ret void
-}
-
-declare i1 @llvm.bitset.test(i8*, metadata)
-
-!llvm.bitsets = !{!0}
-
-!0 = !{!"_ZTSFvvE", void ()* @g, i64 0}
-!1 = !{}
diff --git a/llvm/test/Transforms/LowerBitSets/section.ll b/llvm/test/Transforms/LowerBitSets/section.ll
deleted file mode 100644
index d5f94148676..00000000000
--- a/llvm/test/Transforms/LowerBitSets/section.ll
+++ /dev/null
@@ -1,26 +0,0 @@
-; Test that functions with "section" attribute are accepted, and jumptables are
-; emitted in ".text".
-
-; RUN: opt -S -lowerbitsets < %s | FileCheck %s
-
-target triple = "x86_64-unknown-linux-gnu"
-
-; CHECK: @[[A:.*]] = private constant {{.*}} section ".text"
-; CHECK: @f = alias void (), bitcast ({{.*}}* @[[A]] to void ()*)
-; CHECK: define private void {{.*}} section "xxx"
-
-define void @f() section "xxx" {
-entry:
- ret void
-}
-
-define i1 @g() {
-entry:
- %0 = call i1 @llvm.bitset.test(i8* bitcast (void ()* @f to i8*), metadata !"_ZTSFvE")
- ret i1 %0
-}
-
-declare i1 @llvm.bitset.test(i8*, metadata) nounwind readnone
-
-!llvm.bitsets = !{!0}
-!0 = !{!"_ZTSFvE", void ()* @f, i64 0}
diff --git a/llvm/test/Transforms/LowerBitSets/simple.ll b/llvm/test/Transforms/LowerBitSets/simple.ll
deleted file mode 100644
index a22d998e200..00000000000
--- a/llvm/test/Transforms/LowerBitSets/simple.ll
+++ /dev/null
@@ -1,137 +0,0 @@
-; RUN: opt -S -lowerbitsets < %s | FileCheck %s
-; RUN: opt -S -lowerbitsets -mtriple=x86_64-apple-macosx10.8.0 < %s | FileCheck -check-prefix=CHECK-DARWIN %s
-; RUN: opt -S -O3 < %s | FileCheck -check-prefix=CHECK-NODISCARD %s
-
-target datalayout = "e-p:32:32"
-
-; CHECK: [[G:@[^ ]*]] = private constant { i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] } { i32 1, [0 x i8] zeroinitializer, [63 x i32] zeroinitializer, [4 x i8] zeroinitializer, i32 3, [0 x i8] zeroinitializer, [2 x i32] [i32 4, i32 5] }
-@a = constant i32 1
-@b = hidden constant [63 x i32] zeroinitializer
-@c = protected constant i32 3
-@d = constant [2 x i32] [i32 4, i32 5]
-
-; CHECK: [[BA:@[^ ]*]] = private constant [68 x i8] c"\03\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\01"
-
-; Offset 0, 4 byte alignment
-!0 = !{!"bitset1", i32* @a, i32 0}
-; CHECK-NODISCARD-DAG: !{!"bitset1", i32* @a, i32 0}
-!1 = !{!"bitset1", [63 x i32]* @b, i32 0}
-; CHECK-NODISCARD-DAG: !{!"bitset1", [63 x i32]* @b, i32 0}
-!2 = !{!"bitset1", [2 x i32]* @d, i32 4}
-; CHECK-NODISCARD-DAG: !{!"bitset1", [2 x i32]* @d, i32 4}
-
-; Offset 4, 256 byte alignment
-!3 = !{!"bitset2", [63 x i32]* @b, i32 0}
-; CHECK-NODISCARD-DAG: !{!"bitset2", [63 x i32]* @b, i32 0}
-!4 = !{!"bitset2", i32* @c, i32 0}
-; CHECK-NODISCARD-DAG: !{!"bitset2", i32* @c, i32 0}
-
-; Entries whose second operand is null (the result of a global being DCE'd)
-; should be ignored.
-!5 = !{!"bitset2", null, i32 0}
-
-; Offset 0, 4 byte alignment
-!6 = !{!"bitset3", i32* @a, i32 0}
-; CHECK-NODISCARD-DAG: !{!"bitset3", i32* @a, i32 0}
-!7 = !{!"bitset3", i32* @c, i32 0}
-; CHECK-NODISCARD-DAG: !{!"bitset3", i32* @c, i32 0}
-
-!llvm.bitsets = !{ !0, !1, !2, !3, !4, !5, !6, !7 }
-
-; CHECK: @bits_use{{[0-9]*}} = private alias i8, i8* @bits{{[0-9]*}}
-; CHECK: @bits_use.{{[0-9]*}} = private alias i8, i8* @bits{{[0-9]*}}
-; CHECK: @bits_use.{{[0-9]*}} = private alias i8, i8* @bits{{[0-9]*}}
-
-; CHECK: @a = alias i32, getelementptr inbounds ({ i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }, { i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }* [[G]], i32 0, i32 0)
-; CHECK: @b = hidden alias [63 x i32], getelementptr inbounds ({ i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }, { i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }* [[G]], i32 0, i32 2)
-; CHECK: @c = protected alias i32, getelementptr inbounds ({ i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }, { i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }* [[G]], i32 0, i32 4)
-; CHECK: @d = alias [2 x i32], getelementptr inbounds ({ i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }, { i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }* [[G]], i32 0, i32 6)
-
-; CHECK-DARWIN: @aptr = constant i32* getelementptr inbounds ({ i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }, { i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }* [[G:@[^ ]*]], i32 0, i32 0)
-@aptr = constant i32* @a
-
-; CHECK-DARWIN: @bptr = constant [63 x i32]* getelementptr inbounds ({ i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }, { i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }* [[G]], i32 0, i32 2)
-@bptr = constant [63 x i32]* @b
-
-; CHECK-DARWIN: @cptr = constant i32* getelementptr inbounds ({ i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }, { i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }* [[G]], i32 0, i32 4)
-@cptr = constant i32* @c
-
-; CHECK-DARWIN: @dptr = constant [2 x i32]* getelementptr inbounds ({ i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }, { i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }* [[G]], i32 0, i32 6)
-@dptr = constant [2 x i32]* @d
-
-; CHECK-DARWIN: [[G]] = private constant
-
-; CHECK: @bits{{[0-9]*}} = private alias i8, getelementptr inbounds ([68 x i8], [68 x i8]* [[BA]], i32 0, i32 0)
-; CHECK: @bits.{{[0-9]*}} = private alias i8, getelementptr inbounds ([68 x i8], [68 x i8]* [[BA]], i32 0, i32 0)
-
-declare i1 @llvm.bitset.test(i8* %ptr, metadata %bitset) nounwind readnone
-
-; CHECK: @foo(i32* [[A0:%[^ ]*]])
-define i1 @foo(i32* %p) {
- ; CHECK-NOT: llvm.bitset.test
-
- ; CHECK: [[R0:%[^ ]*]] = bitcast i32* [[A0]] to i8*
- %pi8 = bitcast i32* %p to i8*
- ; CHECK: [[R1:%[^ ]*]] = ptrtoint i8* [[R0]] to i32
- ; CHECK: [[R2:%[^ ]*]] = sub i32 [[R1]], ptrtoint ({ i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }* [[G]] to i32)
- ; CHECK: [[R3:%[^ ]*]] = lshr i32 [[R2]], 2
- ; CHECK: [[R4:%[^ ]*]] = shl i32 [[R2]], 30
- ; CHECK: [[R5:%[^ ]*]] = or i32 [[R3]], [[R4]]
- ; CHECK: [[R6:%[^ ]*]] = icmp ult i32 [[R5]], 68
- ; CHECK: br i1 [[R6]]
-
- ; CHECK: [[R8:%[^ ]*]] = getelementptr i8, i8* @bits_use.{{[0-9]*}}, i32 [[R5]]
- ; CHECK: [[R9:%[^ ]*]] = load i8, i8* [[R8]]
- ; CHECK: [[R10:%[^ ]*]] = and i8 [[R9]], 1
- ; CHECK: [[R11:%[^ ]*]] = icmp ne i8 [[R10]], 0
-
- ; CHECK: [[R16:%[^ ]*]] = phi i1 [ false, {{%[^ ]*}} ], [ [[R11]], {{%[^ ]*}} ]
- %x = call i1 @llvm.bitset.test(i8* %pi8, metadata !"bitset1")
-
- ; CHECK-NOT: llvm.bitset.test
- %y = call i1 @llvm.bitset.test(i8* %pi8, metadata !"bitset1")
-
- ; CHECK: ret i1 [[R16]]
- ret i1 %x
-}
-
-; CHECK: @bar(i32* [[B0:%[^ ]*]])
-define i1 @bar(i32* %p) {
- ; CHECK: [[S0:%[^ ]*]] = bitcast i32* [[B0]] to i8*
- %pi8 = bitcast i32* %p to i8*
- ; CHECK: [[S1:%[^ ]*]] = ptrtoint i8* [[S0]] to i32
- ; CHECK: [[S2:%[^ ]*]] = sub i32 [[S1]], add (i32 ptrtoint ({ i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }* [[G]] to i32), i32 4)
- ; CHECK: [[S3:%[^ ]*]] = lshr i32 [[S2]], 8
- ; CHECK: [[S4:%[^ ]*]] = shl i32 [[S2]], 24
- ; CHECK: [[S5:%[^ ]*]] = or i32 [[S3]], [[S4]]
- ; CHECK: [[S6:%[^ ]*]] = icmp ult i32 [[S5]], 2
- %x = call i1 @llvm.bitset.test(i8* %pi8, metadata !"bitset2")
-
- ; CHECK: ret i1 [[S6]]
- ret i1 %x
-}
-
-; CHECK: @baz(i32* [[C0:%[^ ]*]])
-define i1 @baz(i32* %p) {
- ; CHECK: [[T0:%[^ ]*]] = bitcast i32* [[C0]] to i8*
- %pi8 = bitcast i32* %p to i8*
- ; CHECK: [[T1:%[^ ]*]] = ptrtoint i8* [[T0]] to i32
- ; CHECK: [[T2:%[^ ]*]] = sub i32 [[T1]], ptrtoint ({ i32, [0 x i8], [63 x i32], [4 x i8], i32, [0 x i8], [2 x i32] }* [[G]] to i32)
- ; CHECK: [[T3:%[^ ]*]] = lshr i32 [[T2]], 2
- ; CHECK: [[T4:%[^ ]*]] = shl i32 [[T2]], 30
- ; CHECK: [[T5:%[^ ]*]] = or i32 [[T3]], [[T4]]
- ; CHECK: [[T6:%[^ ]*]] = icmp ult i32 [[T5]], 66
- ; CHECK: br i1 [[T6]]
-
- ; CHECK: [[T8:%[^ ]*]] = getelementptr i8, i8* @bits_use.{{[0-9]*}}, i32 [[T5]]
- ; CHECK: [[T9:%[^ ]*]] = load i8, i8* [[T8]]
- ; CHECK: [[T10:%[^ ]*]] = and i8 [[T9]], 2
- ; CHECK: [[T11:%[^ ]*]] = icmp ne i8 [[T10]], 0
-
- ; CHECK: [[T16:%[^ ]*]] = phi i1 [ false, {{%[^ ]*}} ], [ [[T11]], {{%[^ ]*}} ]
- %x = call i1 @llvm.bitset.test(i8* %pi8, metadata !"bitset3")
- ; CHECK: ret i1 [[T16]]
- ret i1 %x
-}
-
-; CHECK-NOT: !llvm.bitsets
diff --git a/llvm/test/Transforms/LowerBitSets/single-offset.ll b/llvm/test/Transforms/LowerBitSets/single-offset.ll
deleted file mode 100644
index 57194f42e09..00000000000
--- a/llvm/test/Transforms/LowerBitSets/single-offset.ll
+++ /dev/null
@@ -1,40 +0,0 @@
-; RUN: opt -S -lowerbitsets < %s | FileCheck %s
-
-target datalayout = "e-p:32:32"
-
-; CHECK: [[G:@[^ ]*]] = private constant { i32, [0 x i8], i32 }
-@a = constant i32 1
-@b = constant i32 2
-
-!0 = !{!"bitset1", i32* @a, i32 0}
-!1 = !{!"bitset1", i32* @b, i32 0}
-!2 = !{!"bitset2", i32* @a, i32 0}
-!3 = !{!"bitset3", i32* @b, i32 0}
-
-!llvm.bitsets = !{ !0, !1, !2, !3 }
-
-declare i1 @llvm.bitset.test(i8* %ptr, metadata %bitset) nounwind readnone
-
-; CHECK: @foo(i8* [[A0:%[^ ]*]])
-define i1 @foo(i8* %p) {
- ; CHECK: [[R0:%[^ ]*]] = ptrtoint i8* [[A0]] to i32
- ; CHECK: [[R1:%[^ ]*]] = icmp eq i32 [[R0]], ptrtoint ({ i32, [0 x i8], i32 }* [[G]] to i32)
- %x = call i1 @llvm.bitset.test(i8* %p, metadata !"bitset2")
- ; CHECK: ret i1 [[R1]]
- ret i1 %x
-}
-
-; CHECK: @bar(i8* [[B0:%[^ ]*]])
-define i1 @bar(i8* %p) {
- ; CHECK: [[S0:%[^ ]*]] = ptrtoint i8* [[B0]] to i32
- ; CHECK: [[S1:%[^ ]*]] = icmp eq i32 [[S0]], add (i32 ptrtoint ({ i32, [0 x i8], i32 }* [[G]] to i32), i32 4)
- %x = call i1 @llvm.bitset.test(i8* %p, metadata !"bitset3")
- ; CHECK: ret i1 [[S1]]
- ret i1 %x
-}
-
-; CHECK: @x(
-define i1 @x(i8* %p) {
- %x = call i1 @llvm.bitset.test(i8* %p, metadata !"bitset1")
- ret i1 %x
-}
diff --git a/llvm/test/Transforms/LowerBitSets/unnamed.ll b/llvm/test/Transforms/LowerBitSets/unnamed.ll
deleted file mode 100644
index 6f108e22d02..00000000000
--- a/llvm/test/Transforms/LowerBitSets/unnamed.ll
+++ /dev/null
@@ -1,20 +0,0 @@
-; RUN: opt -S -lowerbitsets < %s | FileCheck %s
-
-target datalayout = "e-p:32:32"
-
-; CHECK: @{{[0-9]+}} = alias
-; CHECK: @{{[0-9]+}} = alias
-@0 = constant i32 1
-@1 = constant [2 x i32] [i32 2, i32 3]
-
-!0 = !{!"bitset1", i32* @0, i32 0}
-!1 = !{!"bitset1", [2 x i32]* @1, i32 4}
-
-!llvm.bitsets = !{ !0, !1 }
-
-declare i1 @llvm.bitset.test(i8* %ptr, metadata %bitset) nounwind readnone
-
-define i1 @foo(i8* %p) {
- %x = call i1 @llvm.bitset.test(i8* %p, metadata !"bitset1")
- ret i1 %x
-}
OpenPOWER on IntegriCloud