[PATCH] D87153: BPF: move AbstractMemberAccess and PreserveDIType passes to EP_EarlyAsPossible

Yonghong Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 22 23:57:09 PDT 2020


yonghong-song updated this revision to Diff 293654.
yonghong-song retitled this revision from "[RFC PATCH 1] BPF: move AbstractMemberAccess and PreserveDIType passes to EP_EarlyAsPossible" to "BPF: move AbstractMemberAccess and PreserveDIType passes to EP_EarlyAsPossible".
yonghong-song edited the summary of this revision.
yonghong-song added a comment.
Herald added subscribers: cfe-commits, ormris, arphaman.
Herald added a project: clang.

  - remove RFC tag. The patch is complete and all tests are adjusted and passed.
  - remove the adjustIR phase which tries to coalescing two reloc-globals. My previous implementation did not compare the *last* type in the first reloc-global and the *first* type in the second reloc-global. This will require to traverse the access string (0:1:1:...). This seems too much work for this little optimization. I will delay it into the future as an enhancement.
- adjusted existing clang/llvm CORE tests so they can pass.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D87153/new/

https://reviews.llvm.org/D87153

Files:
  clang/test/CodeGen/bpf-attr-preserve-access-index-1.c
  clang/test/CodeGen/bpf-attr-preserve-access-index-2.c
  clang/test/CodeGen/bpf-attr-preserve-access-index-3.c
  clang/test/CodeGen/bpf-attr-preserve-access-index-4.c
  clang/test/CodeGen/bpf-attr-preserve-access-index-5.c
  clang/test/CodeGen/bpf-attr-preserve-access-index-6.c
  clang/test/CodeGen/bpf-attr-preserve-access-index-7.c
  clang/test/CodeGen/bpf-attr-preserve-access-index-8.c
  clang/test/CodeGen/bpf-preserve-access-index.c
  clang/test/CodeGen/builtin-bpf-btf-type-id.c
  clang/test/CodeGen/builtin-preserve-access-index-typedef.c
  clang/test/CodeGen/builtins-bpf-preserve-field-info-1.c
  clang/test/CodeGen/builtins-bpf-preserve-field-info-2.c
  clang/test/CodeGen/builtins-bpf-preserve-field-info-3.c
  clang/test/CodeGen/builtins-bpf-preserve-field-info-4.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/BPFCheckAndAdjustIR.cpp
  llvm/lib/Target/BPF/BPFPreserveDIType.cpp
  llvm/lib/Target/BPF/BPFTargetMachine.cpp
  llvm/lib/Target/BPF/CMakeLists.txt
  llvm/test/CodeGen/BPF/BTF/builtin-btf-type-id.ll
  llvm/test/CodeGen/BPF/CORE/field-reloc-alu32.ll
  llvm/test/CodeGen/BPF/CORE/field-reloc-bitfield-1-bpfeb.ll
  llvm/test/CodeGen/BPF/CORE/field-reloc-bitfield-1.ll
  llvm/test/CodeGen/BPF/CORE/field-reloc-bitfield-2-bpfeb.ll
  llvm/test/CodeGen/BPF/CORE/field-reloc-bitfield-2.ll
  llvm/test/CodeGen/BPF/CORE/intrinsic-array-2.ll
  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-byte-size-4.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-bpfeb.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-transforms.ll
  llvm/test/CodeGen/BPF/CORE/intrinsic-typeinfo-enum-value.ll
  llvm/test/CodeGen/BPF/CORE/intrinsic-typeinfo-type-exist.ll
  llvm/test/CodeGen/BPF/CORE/intrinsic-typeinfo-type-size-1.ll
  llvm/test/CodeGen/BPF/CORE/intrinsic-typeinfo-type-size-2.ll
  llvm/test/CodeGen/BPF/CORE/intrinsic-union.ll
  llvm/test/CodeGen/BPF/CORE/no-elf-ama-symbol.ll
  llvm/test/CodeGen/BPF/CORE/no-narrow-load.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-bpfeb.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-2.ll
  llvm/test/CodeGen/BPF/CORE/offset-reloc-typedef-struct.ll
  llvm/test/CodeGen/BPF/CORE/offset-reloc-typedef-union-2.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
  llvm/test/CodeGen/BPF/CORE/store-addr.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D87153.293654.patch
Type: text/x-patch
Size: 150284 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200923/5b591173/attachment-0001.bin>


More information about the llvm-commits mailing list