xref: /llvm-project/llvm/test/Bitcode/vst-forward-declaration.ll (revision ff642b9b84e0c8d226f4d7ce2ae2853a89b08cda)
1*ff642b9bSTeresa Johnson; RUN: llvm-as < %s | llvm-bcanalyzer -dump | FileCheck %s -check-prefix=BC
2*ff642b9bSTeresa Johnson; Check for VST forward declaration record and VST function index records.
3*ff642b9bSTeresa Johnson
4*ff642b9bSTeresa Johnson; BC: <VSTOFFSET
5*ff642b9bSTeresa Johnson; BC: <FNENTRY
6*ff642b9bSTeresa Johnson; BC: <FNENTRY
7*ff642b9bSTeresa Johnson
8*ff642b9bSTeresa Johnson; RUN: llvm-as < %s | llvm-dis | FileCheck %s
9*ff642b9bSTeresa Johnson; Check that this round-trips correctly.
10*ff642b9bSTeresa Johnson
11*ff642b9bSTeresa Johnson; ModuleID = '<stdin>'
12*ff642b9bSTeresa Johnsontarget datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
13*ff642b9bSTeresa Johnsontarget triple = "x86_64-unknown-linux-gnu"
14*ff642b9bSTeresa Johnson
15*ff642b9bSTeresa Johnson; CHECK: define i32 @foo()
16*ff642b9bSTeresa Johnson
17*ff642b9bSTeresa Johnson; Function Attrs: nounwind uwtable
18*ff642b9bSTeresa Johnsondefine i32 @foo() #0 {
19*ff642b9bSTeresa Johnsonentry:
20*ff642b9bSTeresa Johnson  ret i32 1
21*ff642b9bSTeresa Johnson}
22*ff642b9bSTeresa Johnson
23*ff642b9bSTeresa Johnson; CHECK: define i32 @bar(i32 %x)
24*ff642b9bSTeresa Johnson
25*ff642b9bSTeresa Johnson; Function Attrs: nounwind uwtable
26*ff642b9bSTeresa Johnsondefine i32 @bar(i32 %x) #0 {
27*ff642b9bSTeresa Johnsonentry:
28*ff642b9bSTeresa Johnson  ret i32 %x
29*ff642b9bSTeresa Johnson}
30