diff options
| author | Roman Divacky <rdivacky@FreeBSD.org> | 2010-05-04 20:50:39 +0000 |
|---|---|---|
| committer | Roman Divacky <rdivacky@FreeBSD.org> | 2010-05-04 20:50:39 +0000 |
| commit | 59161dfae3225dd9151afbc76ca9074598c0c605 (patch) | |
| tree | 3c3ffb5df9fa6dfb2c48b807faf73dd2943db75d /test/Transforms/GlobalOpt | |
| parent | d7f7719e5e082c0b8ea2182dcbd2242b7834aa26 (diff) | |
Notes
Diffstat (limited to 'test/Transforms/GlobalOpt')
| -rw-r--r-- | test/Transforms/GlobalOpt/metadata.ll | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/test/Transforms/GlobalOpt/metadata.ll b/test/Transforms/GlobalOpt/metadata.ll index a09ba72439fc..730e2b080236 100644 --- a/test/Transforms/GlobalOpt/metadata.ll +++ b/test/Transforms/GlobalOpt/metadata.ll @@ -1,7 +1,8 @@ ; RUN: opt -S -globalopt < %s | FileCheck %s ; PR6112 - When globalopt does RAUW(@G, %G), the metadata reference should drop -; to null. +; to null. Function local metadata that references @G from a different function +; to that containing %G should likewise drop to null. @G = internal global i8** null define i32 @main(i32 %argc, i8** %argv) { @@ -11,9 +12,15 @@ define i32 @main(i32 %argc, i8** %argv) { ret i32 0 } -!named = !{!0} +define void @foo(i32 %x) { + call void @llvm.foo(metadata !{i8*** @G, i32 %x}) +; CHECK: call void @llvm.foo(metadata !{null, i32 %x}) + ret void +} -; CHECK: !0 = metadata !{null} -!0 = metadata !{i8*** @G} +declare void @llvm.foo(metadata) nounwind readnone +!named = !{!0} +!0 = metadata !{i8*** @G} +; CHECK: !0 = metadata !{null} |
