[PATCH] D67980: [BPF] do compile-once run-everywhere relocation for bitfields
Yonghong Song via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Oct 8 00:20:40 PDT 2019
yonghong-song updated this revision to Diff 223792.
yonghong-song edited the summary of this revision.
yonghong-song added a comment.
use only one relocation for left shift to optimize for direct load. The bpf_probe_read() big endian mode could have 4 more arithmetic instructions compared to little endian mode. The performance impact should be negligible comparing to bpf_probe_read() itself.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D67980/new/
https://reviews.llvm.org/D67980
Files:
clang/include/clang/Basic/BuiltinsBPF.def
clang/include/clang/Basic/DiagnosticSemaKinds.td
clang/include/clang/Basic/TargetBuiltins.h
clang/include/clang/Sema/Sema.h
clang/include/clang/module.modulemap
clang/lib/Basic/Targets/BPF.cpp
clang/lib/Basic/Targets/BPF.h
clang/lib/CodeGen/CGBuiltin.cpp
clang/lib/CodeGen/CGExpr.cpp
clang/lib/CodeGen/CodeGenFunction.h
clang/lib/Sema/SemaChecking.cpp
clang/test/CodeGen/builtins-bpf-preserve-field-info-1.c
clang/test/CodeGen/builtins-bpf-preserve-field-info-2.c
clang/test/Sema/builtins-bpf.c
llvm/include/llvm/IR/IntrinsicsBPF.td
llvm/lib/Target/BPF/BPF.h
llvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
llvm/lib/Target/BPF/BPFCORE.h
llvm/lib/Target/BPF/BPFTargetMachine.cpp
llvm/lib/Target/BPF/BTF.h
llvm/lib/Target/BPF/BTFDebug.cpp
llvm/lib/Target/BPF/BTFDebug.h
llvm/test/CodeGen/BPF/CORE/intrinsic-array.ll
llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-byte-size-1.ll
llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-byte-size-2.ll
llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-byte-size-3.ll
llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-existence-1.ll
llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-existence-2.ll
llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-existence-3.ll
llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-lshift-1.ll
llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-lshift-2.ll
llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-rshift-1.ll
llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-rshift-2.ll
llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-rshift-3.ll
llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-signedness-1.ll
llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-signedness-2.ll
llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-signedness-3.ll
llvm/test/CodeGen/BPF/CORE/intrinsic-struct.ll
llvm/test/CodeGen/BPF/CORE/intrinsic-union.ll
llvm/test/CodeGen/BPF/CORE/offset-reloc-access-str.ll
llvm/test/CodeGen/BPF/CORE/offset-reloc-basic.ll
llvm/test/CodeGen/BPF/CORE/offset-reloc-cast-array-1.ll
llvm/test/CodeGen/BPF/CORE/offset-reloc-cast-array-2.ll
llvm/test/CodeGen/BPF/CORE/offset-reloc-cast-struct-1.ll
llvm/test/CodeGen/BPF/CORE/offset-reloc-cast-struct-2.ll
llvm/test/CodeGen/BPF/CORE/offset-reloc-cast-struct-3.ll
llvm/test/CodeGen/BPF/CORE/offset-reloc-cast-union-1.ll
llvm/test/CodeGen/BPF/CORE/offset-reloc-cast-union-2.ll
llvm/test/CodeGen/BPF/CORE/offset-reloc-end-load.ll
llvm/test/CodeGen/BPF/CORE/offset-reloc-end-ret.ll
llvm/test/CodeGen/BPF/CORE/offset-reloc-fieldinfo-1.ll
llvm/test/CodeGen/BPF/CORE/offset-reloc-fieldinfo-2.ll
llvm/test/CodeGen/BPF/CORE/offset-reloc-global-1.ll
llvm/test/CodeGen/BPF/CORE/offset-reloc-global-2.ll
llvm/test/CodeGen/BPF/CORE/offset-reloc-global-3.ll
llvm/test/CodeGen/BPF/CORE/offset-reloc-ignore.ll
llvm/test/CodeGen/BPF/CORE/offset-reloc-middle-chain.ll
llvm/test/CodeGen/BPF/CORE/offset-reloc-multi-array-1.ll
llvm/test/CodeGen/BPF/CORE/offset-reloc-multi-array-2.ll
llvm/test/CodeGen/BPF/CORE/offset-reloc-multilevel.ll
llvm/test/CodeGen/BPF/CORE/offset-reloc-pointer-1.ll
llvm/test/CodeGen/BPF/CORE/offset-reloc-pointer-2.ll
llvm/test/CodeGen/BPF/CORE/offset-reloc-struct-anonymous.ll
llvm/test/CodeGen/BPF/CORE/offset-reloc-struct-array.ll
llvm/test/CodeGen/BPF/CORE/offset-reloc-typedef-array.ll
llvm/test/CodeGen/BPF/CORE/offset-reloc-typedef-struct.ll
llvm/test/CodeGen/BPF/CORE/offset-reloc-typedef-union.ll
llvm/test/CodeGen/BPF/CORE/offset-reloc-typedef.ll
llvm/test/CodeGen/BPF/CORE/offset-reloc-union.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D67980.223792.patch
Type: text/x-patch
Size: 226105 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20191008/3b2dd9cb/attachment-0001.bin>
More information about the cfe-commits
mailing list