Mercurial > hg > Members > tobaru > cbc > CbC_llvm
view test/Bitcode/function-local-metadata.3.5.ll @ 107:a03ddd01be7e
resolve warnings
author | Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 31 Jan 2016 17:34:49 +0900 |
parents | 60c9769439b8 |
children |
line wrap: on
line source
; RUN: llvm-dis < %s.bc | FileCheck %s ; Check that function-local metadata is dropped correctly when it's not a ; direct argument to a call instruction. ; ; Bitcode assembled by llvm-as v3.5.0. define void @foo(i32 %v) { ; CHECK: entry: entry: ; CHECK-NEXT: call void @llvm.bar(metadata i32 %v) call void @llvm.bar(metadata !{i32 %v}) ; Note: these supposedly legal instructions fired an assertion in llvm-as: ; ; Assertion failed: (I != ValueMap.end() && "Value not in slotcalculator!"), function getValueID, file lib/Bitcode/Writer/ValueEnumerator.cpp, line 138. ; ; So, I didn't test them; it looks like bitcode compatability is irrelevant. ; call void @llvm.bar(metadata !{i32 0, i32 %v}) ; call void @llvm.bar(metadata !{i32 %v, i32 0}) ; call void @llvm.bar(metadata !{metadata !{}, i32 %v}) ; call void @llvm.bar(metadata !{i32 %v, metadata !{}}) ; CHECK-NEXT: call void @llvm.bar(metadata !0) ; CHECK-NEXT: call void @llvm.bar(metadata !0) call void @llvm.bar(metadata !{i32 %v, i32 %v}) call void @llvm.bar(metadata !{metadata !{i32 %v}}) ; CHECK-NEXT: ret void{{$}} ret void, !baz !{i32 %v} } declare void @llvm.bar(metadata) ; CHECK: !0 = !{}