llvm-project/llvm/test/CodeGen/BPF
Yonghong Song 7b410ac352 [BPF] Generate BTF DebugInfo under BPF target
This patch implements BTF (BPF Type Format).
The BTF is the debug info format for BPF, introduced
in the below linux patch:
  69b693f0ae (diff-06fb1c8825f653d7e539058b72c83332)
and further extended several times, e.g.,
  https://www.spinics.net/lists/netdev/msg534640.html
  https://www.spinics.net/lists/netdev/msg538464.html
  https://www.spinics.net/lists/netdev/msg540246.html

The main advantage of implementing in LLVM is:
   . better integration/deployment as no extra tools are needed.
   . bpf JIT based compilation (like bcc, bpftrace, etc.) can get
     BTF without much extra effort.
   . BTF line_info needs selective source codes, which can be
     easily retrieved when inside the compiler.

This patch implemented BTF generation by registering a BPF
specific DebugHandler in BPFAsmPrinter.

Signed-off-by: Yonghong Song <yhs@fb.com>

Differential Revision: https://reviews.llvm.org/D55752

llvm-svn: 349640
2018-12-19 16:40:25 +00:00
..
BTF [BPF] Generate BTF DebugInfo under BPF target 2018-12-19 16:40:25 +00:00
32-bit-subreg-alu.ll bpf: New codegen testcases for 32-bit subregister support 2018-02-23 23:49:33 +00:00
32-bit-subreg-cond-select.ll bpf: New codegen testcases for 32-bit subregister support 2018-02-23 23:49:33 +00:00
32-bit-subreg-load-store.ll bpf: New codegen testcases for 32-bit subregister support 2018-02-23 23:49:33 +00:00
32-bit-subreg-peephole.ll bpf: fix incorrect SELECT_CC lowering 2018-04-03 03:56:37 +00:00
alu8.ll
atomics.ll
basictest.ll
byval.ll
cc_args.ll
cc_args_be.ll
cc_ret.ll
cmp.ll bpf: fix incorrect SELECT_CC lowering 2018-04-03 03:56:37 +00:00
dwarfdump.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
elf-symbol-information.ll [bpf] Test case for symbol information in object file 2018-09-22 17:31:01 +00:00
ex1.ll
fi_ri.ll
inline_asm.ll
intrinsics.ll
lit.local.cfg
load.ll
loops.ll
many_args1.ll
many_args2.ll
mem_offset.ll
mem_offset_be.ll
memcpy-expand-in-order.ll bpf: add missing RegState to notify MachineInstr verifier necessary register usage 2018-07-27 16:58:52 +00:00
objdump_atomics.ll
objdump_cond_op.ll
objdump_cond_op_2.ll
objdump_imm_hex.ll
objdump_intrinsics.ll
objdump_trivial.ll
reloc.ll
remove_truncate_1.ll
remove_truncate_2.ll
remove_truncate_3.ll
remove_truncate_4.ll
remove_truncate_5.ll
rodata_1.ll
rodata_2.ll
rodata_3.ll
rodata_4.ll
sanity.ll
sdiv_error.ll
select_ri.ll bpf: fix incorrect SELECT_CC lowering 2018-04-03 03:56:37 +00:00
setcc.ll
shifts.ll
sockex2.ll
struct_ret1.ll
struct_ret2.ll
undef.ll
vararg1.ll
warn-call.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
warn-stack.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
xadd.ll bpf: check illegal usage of XADD insn return value 2018-09-20 22:24:27 +00:00