1*e3a9f68eSNikita Popov; RUN: llvm-dis -opaque-pointers=0 < %s.bc | FileCheck %s 2*e3a9f68eSNikita Popov; RUN: llvm-dis -opaque-pointers=1 < %s.bc | FileCheck %s 3687787f0SDuncan P. N. Exon Smith 4687787f0SDuncan P. N. Exon Smith; Check that function-local metadata is dropped correctly when it's not a 5687787f0SDuncan P. N. Exon Smith; direct argument to a call instruction. 6687787f0SDuncan P. N. Exon Smith; 7687787f0SDuncan P. N. Exon Smith; Bitcode assembled by llvm-as v3.5.0. 8687787f0SDuncan P. N. Exon Smith 9687787f0SDuncan P. N. Exon Smithdefine void @foo(i32 %v) { 10687787f0SDuncan P. N. Exon Smith; CHECK: entry: 11687787f0SDuncan P. N. Exon Smithentry: 12be7ea19bSDuncan P. N. Exon Smith; CHECK-NEXT: call void @llvm.bar(metadata i32 %v) 13687787f0SDuncan P. N. Exon Smith call void @llvm.bar(metadata !{i32 %v}) 14687787f0SDuncan P. N. Exon Smith 15687787f0SDuncan P. N. Exon Smith; Note: these supposedly legal instructions fired an assertion in llvm-as: 16687787f0SDuncan P. N. Exon Smith; 17687787f0SDuncan P. N. Exon Smith; Assertion failed: (I != ValueMap.end() && "Value not in slotcalculator!"), function getValueID, file lib/Bitcode/Writer/ValueEnumerator.cpp, line 138. 18687787f0SDuncan P. N. Exon Smith; 19687787f0SDuncan P. N. Exon Smith; So, I didn't test them; it looks like bitcode compatability is irrelevant. 20687787f0SDuncan P. N. Exon Smith ; call void @llvm.bar(metadata !{i32 0, i32 %v}) 21687787f0SDuncan P. N. Exon Smith ; call void @llvm.bar(metadata !{i32 %v, i32 0}) 22687787f0SDuncan P. N. Exon Smith ; call void @llvm.bar(metadata !{metadata !{}, i32 %v}) 23687787f0SDuncan P. N. Exon Smith ; call void @llvm.bar(metadata !{i32 %v, metadata !{}}) 24687787f0SDuncan P. N. Exon Smith 25687787f0SDuncan P. N. Exon Smith; CHECK-NEXT: call void @llvm.bar(metadata !0) 26687787f0SDuncan P. N. Exon Smith; CHECK-NEXT: call void @llvm.bar(metadata !0) 27687787f0SDuncan P. N. Exon Smith call void @llvm.bar(metadata !{i32 %v, i32 %v}) 28687787f0SDuncan P. N. Exon Smith call void @llvm.bar(metadata !{metadata !{i32 %v}}) 29687787f0SDuncan P. N. Exon Smith 30687787f0SDuncan P. N. Exon Smith; CHECK-NEXT: ret void{{$}} 31687787f0SDuncan P. N. Exon Smith ret void, !baz !{i32 %v} 32687787f0SDuncan P. N. Exon Smith} 33687787f0SDuncan P. N. Exon Smith 34687787f0SDuncan P. N. Exon Smithdeclare void @llvm.bar(metadata) 35687787f0SDuncan P. N. Exon Smith 36be7ea19bSDuncan P. N. Exon Smith; CHECK: !0 = !{} 37