llvm.org GIT mirror llvm / 3e6de1c
Release Notes expansion for BPF By Brenden Blanco! git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_37@246072 91177308-0d34-0410-b5e6-96231b3b80d8 Hans Wennborg 4 years ago
1 changed file(s) with 13 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
7070 * LLVM received a backend for the extended Berkely Packet Filter
7171 instruction set that can be dynamically loaded into the Linux kernel via the
7272 `bpf(2) `_ syscall.
73
74 Support for BPF has been present in the kernel for some time, but starting
75 from 3.18 has been extended with such features as: 64-bit registers, 8
76 additional registers registers, conditional backwards jumps, call
77 instruction, shift instructions, map (hash table, array, etc.), 1-8 byte
78 load/store from stack, and more.
79
80 Up until now, users of BPF had to write bytecode by hand, or use
81 custom generators. This release adds a proper LLVM backend target for the BPF
82 bytecode architecture.
83
84 The BPF target is now available by default, and options exist in both Clang
85 (-target bpf) or llc (-march=bpf) to pick eBPF as a backend.
7386
7487 * Switch-case lowering was rewritten to avoid generating unbalanced search trees
7588 (`PR22262 `_) and to exploit profile information