You've already forked linux-packaging-mono
Imported Upstream version 5.18.0.205
Former-commit-id: 7f59f7e792705db773f1caecdaa823092f4e2927
This commit is contained in:
parent
5cd5df71cc
commit
8e12397d70
35
external/llvm/test/Bitcode/function-local-metadata.3.5.ll
vendored
Normal file
35
external/llvm/test/Bitcode/function-local-metadata.3.5.ll
vendored
Normal file
@ -0,0 +1,35 @@
|
||||
; 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 = !{}
|
Reference in New Issue
Block a user