diff options
| author | Peter Collingbourne <peter@pcc.me.uk> | 2015-06-12 03:25:05 +0000 |
|---|---|---|
| committer | Peter Collingbourne <peter@pcc.me.uk> | 2015-06-12 03:25:05 +0000 |
| commit | 005354b1f4fc896d70c2c5139f6c512ca8a8926b (patch) | |
| tree | d26668520ce262217b1b12c6b9d70f50391f3298 /llvm/test/Transforms/LowerBitSets | |
| parent | 43a65d9529c24c3253d385cde91cf4c9dad4155e (diff) | |
| download | bcm5719-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.ll | 19 |
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 +} |

