54 lines · plain
1; RUN: llc -mtriple=bpfel -mcpu=v3 -filetype=obj -o %t1 %s2; RUN: llvm-objcopy --dump-section='.BTF'=%t2 %t13; RUN: %python %p/print_btf.py %t2 | FileCheck -check-prefixes=CHECK-BTF %s4; RUN: llc -mtriple=bpfel -mcpu=v3 < %s | FileCheck -check-prefixes=CHECK %s5 6define void @foo() {7entry:8 tail call void @bar()9 unreachable10}11 12; CHECK: foo:13; CHECK-NEXT: .Lfunc_begin0:14; CHECK-NEXT: .cfi_startproc15; CHECK-NEXT: # %bb.0:16; CHECK-NEXT: call bar17; CHECK-NEXT: call __bpf_trap18; CHECK-NEXT: exit19; CHECK-NEXT: .Lfunc_end0:20 21define void @buz() #0 {22entry:23 tail call void asm sideeffect "r0 = r1; exit;", ""()24 unreachable25}26 27; CHECK: buz:28; CHECK-NEXT: .Lfunc_begin1:29; CHECK-NEXT: .cfi_startproc30; CHECK-NEXT: # %bb.0:31; CHECK-NEXT: #APP32; CHECK-NEXT: r0 = r133; CHECK-NEXT: exit34; CHECK-EMPTY:35; CHECK-NEXT: #NO_APP36; CHECK-NEXT: .Lfunc_end1:37 38; CHECK-BTF: [1] FUNC_PROTO '(anon)' ret_type_id=0 vlen=039; CHECK-BTF: [2] FUNC '__bpf_trap' type_id=1 linkage=extern40; CHECK-BTF: [3] DATASEC '.ksyms' size=0 vlen=141; CHECK-BTF: type_id=2 offset=0 size=042 43declare dso_local void @bar()44 45attributes #0 = { naked }46 47!llvm.dbg.cu = !{!0}48!llvm.module.flags = !{!2, !3}49 50!0 = distinct !DICompileUnit(language: DW_LANG_C11, file: !1, emissionKind: FullDebug)51!1 = !DIFile(filename: "test.c", directory: "/some/dir")52!2 = !{i32 7, !"Dwarf Version", i32 5}53!3 = !{i32 2, !"Debug Info Version", i32 3}54