[all-commits] [llvm/llvm-project] cf8ff7: [clang][RelativeVTablesABI] Use dso_local_equivale...
Leonard Chan via All-commits
all-commits at lists.llvm.org
Mon Nov 30 16:04:11 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: cf8ff75bade763b054476321dcb82dcb2e7744c7
https://github.com/llvm/llvm-project/commit/cf8ff75bade763b054476321dcb82dcb2e7744c7
Author: Leonard Chan <leonardchan at google.com>
Date: 2020-11-30 (Mon, 30 Nov 2020)
Changed paths:
M clang/lib/CodeGen/CGVTables.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/child-inheritted-from-parent-in-comdat.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/child-vtable-in-comdat.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-1.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-2.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-inheritance.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-virtual-inheritance.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/inheritted-virtual-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/inline-virtual-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/inlined-key-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/multiple-inheritance.cpp
R clang/test/CodeGenCXX/RelativeVTablesABI/no-stub-when-dso-local.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/override-pure-virtual-method.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/overriden-virtual-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/parent-and-child-in-comdats.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/parent-vtable-in-comdat.cpp
R clang/test/CodeGenCXX/RelativeVTablesABI/pass-byval-attributes.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-flag.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/simple-vtable-definition.cpp
R clang/test/CodeGenCXX/RelativeVTablesABI/stub-linkages.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/type-info.cpp
Log Message:
-----------
[clang][RelativeVTablesABI] Use dso_local_equivalent rather than emitting stubs
Thanks to D77248, we can bypass the use of stubs altogether and use PLT
relocations if they are available for the target. LLVM and LLD support the
R_AARCH64_PLT32 relocation, so we can also guarantee a static PLT relocation on AArch64.
Not emitting these stubs saves a lot of extra binary size.
Differential Revision: https://reviews.llvm.org/D83812
More information about the All-commits
mailing list