summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/LowerBitSets
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2015-06-12 03:25:05 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2015-06-12 03:25:05 +0000
commit005354b1f4fc896d70c2c5139f6c512ca8a8926b (patch)
treed26668520ce262217b1b12c6b9d70f50391f3298 /llvm/test/Transforms/LowerBitSets
parent43a65d9529c24c3253d385cde91cf4c9dad4155e (diff)
downloadbcm5719-llvm-005354b1f4fc896d70c2c5139f6c512ca8a8926b.tar.gz
bcm5719-llvm-005354b1f4fc896d70c2c5139f6c512ca8a8926b.zip
LowerBitSets: Give names to aliases of unnamed bitset element objects.
It is valid for globals to be unnamed, but aliases must have a name. To avoid creating invalid IR, we need to assign names to any aliases we create that point to unnamed objects that have been moved into combined globals. llvm-svn: 239590
Diffstat (limited to 'llvm/test/Transforms/LowerBitSets')
-rw-r--r--llvm/test/Transforms/LowerBitSets/unnamed.ll19
1 files changed, 19 insertions, 0 deletions
diff --git a/llvm/test/Transforms/LowerBitSets/unnamed.ll b/llvm/test/Transforms/LowerBitSets/unnamed.ll
new file mode 100644
index 00000000000..5ff0453391a
--- /dev/null
+++ b/llvm/test/Transforms/LowerBitSets/unnamed.ll
@@ -0,0 +1,19 @@
+; RUN: opt -S -lowerbitsets < %s | FileCheck %s
+
+target datalayout = "e-p:32:32"
+
+; CHECK: @data ={{.*}} 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