diff options
author | Leonard Chan <leonardchan@google.com> | 2022-09-26 20:27:09 +0000 |
---|---|---|
committer | Leonard Chan <leonardchan@google.com> | 2023-02-23 22:18:43 +0000 |
commit | db288184765c0b4010060ebea1f6de3ac1f66445 (patch) | |
tree | c1281fa2a906820a663728039f503f5bfa428249 /llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp | |
parent | bbddaad6e8598f3af80cb185a96162da474792da (diff) | |
download | llvm-db288184765c0b4010060ebea1f6de3ac1f66445.zip llvm-db288184765c0b4010060ebea1f6de3ac1f66445.tar.gz llvm-db288184765c0b4010060ebea1f6de3ac1f66445.tar.bz2 |
[llvm] Teach whole program devirtualization about relative vtables
Prior to this patch, WPD was not acting on relative-vtables in C++. This
involves teaching WPD about these things:
- llvm.load.relative which is how relative-vtables are indexed (instead of GEP)
- dso_local_equivalent which is used in the vtable itself when taking the
offset between a virtual function and vtable
- Update llvm/test/ThinLTO/X86/devirt.ll to use opaque pointers and add
equivalent tests for RV
Differential Revision: https://reviews.llvm.org/D134320
Diffstat (limited to 'llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp')
0 files changed, 0 insertions, 0 deletions