[all-commits] [llvm/llvm-project] be5af5: [BPF] Use elementtype attribute for preserve.array...
Nikita Popov via All-commits
all-commits at lists.llvm.org
Sat Jul 17 02:11:50 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: be5af50e7d028849bf2fab5f4b0f2ad36ae56e11
https://github.com/llvm/llvm-project/commit/be5af50e7d028849bf2fab5f4b0f2ad36ae56e11
Author: Nikita Popov <nikita.ppv at gmail.com>
Date: 2021-07-17 (Sat, 17 Jul 2021)
Changed paths:
M clang/test/CodeGen/bpf-attr-preserve-access-index-1.c
M clang/test/CodeGen/bpf-attr-preserve-access-index-2.c
M clang/test/CodeGen/bpf-attr-preserve-access-index-3.c
M clang/test/CodeGen/bpf-attr-preserve-access-index-4.c
M clang/test/CodeGen/bpf-attr-preserve-access-index-5.c
M clang/test/CodeGen/bpf-attr-preserve-access-index-6.c
M clang/test/CodeGen/bpf-attr-preserve-access-index-7.c
M clang/test/CodeGen/bpf-attr-preserve-access-index-8.c
M clang/test/CodeGen/builtin-preserve-access-index-array.c
M clang/test/CodeGen/builtin-preserve-access-index-nonptr.c
M clang/test/CodeGen/builtin-preserve-access-index-typedef.c
M clang/test/CodeGen/builtin-preserve-access-index.c
M clang/test/CodeGen/builtins-bpf-preserve-field-info-1.c
M clang/test/CodeGen/builtins-bpf-preserve-field-info-2.c
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/Attributes.h
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/Attributes.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
A llvm/test/Bitcode/upgrade-elementtype.ll
A llvm/test/Bitcode/upgrade-elementtype.ll.bc
M llvm/test/CodeGen/BPF/CORE/field-reloc-alu32.ll
M llvm/test/CodeGen/BPF/CORE/field-reloc-bitfield-1-bpfeb.ll
M llvm/test/CodeGen/BPF/CORE/field-reloc-bitfield-1.ll
M llvm/test/CodeGen/BPF/CORE/field-reloc-bitfield-2-bpfeb.ll
M llvm/test/CodeGen/BPF/CORE/field-reloc-bitfield-2.ll
M llvm/test/CodeGen/BPF/CORE/field-reloc-duplicate.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-array-2.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-array.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-byte-size-1.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-byte-size-2.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-byte-size-3.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-byte-size-4.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-existence-1.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-existence-2.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-existence-3.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-existence-4.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-lshift-1-bpfeb.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-lshift-1.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-lshift-2.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-rshift-1.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-rshift-2.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-rshift-3.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-signedness-1.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-signedness-2.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-signedness-3.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-struct.ll
M llvm/test/CodeGen/BPF/CORE/no-elf-ama-symbol.ll
M llvm/test/CodeGen/BPF/CORE/no-narrow-load.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-access-str.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-basic.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-cast-array-1.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-cast-array-2.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-cast-struct-1.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-cast-struct-2.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-cast-struct-3.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-cast-union-2.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-end-load.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-end-ret.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-fieldinfo-1.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-fieldinfo-2-bpfeb.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-fieldinfo-2.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-global-1.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-global-2.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-global-3.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-ignore.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-middle-chain.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-multi-array-1.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-multi-array-2.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-multilevel.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-pointer-1.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-pointer-2.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-struct-anonymous.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-struct-array.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-typedef-array.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-typedef-struct-2.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-typedef-struct.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-typedef.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-union.ll
M llvm/test/CodeGen/BPF/CORE/store-addr.ll
M llvm/test/Verifier/elementtype.ll
Log Message:
-----------
[BPF] Use elementtype attribute for preserve.array/struct.index intrinsics
Use the elementtype attribute introduced in D105407 for the
llvm.preserve.array/struct.index intrinsics. It carries the
element type of the GEP these intrinsics effectively encode.
This patch:
* Adds a verifier check that the attribute is required.
* Adds it in the IRBuilder methods for these intrinsics.
* Autoupgrades old bitcode without the attribute.
* Updates the lowering code to use the attribute rather than
the pointer element type.
* Updates lots of tests to specify the attribute.
* Adds -force-opaque-pointers to the intrinsic-array.ll test
to demonstrate they work now.
https://reviews.llvm.org/D106184
More information about the All-commits
mailing list