[PATCH] D11441: Generating available_externally vtables for classes without inline virtual functions
Piotr Padlewski
prazek at google.com
Wed Jul 22 17:22:26 PDT 2015
Prazek created this revision.
Prazek added reviewers: rsmith, nlewycky, majnemer.
Prazek added a subscriber: cfe-commits.
Generating available_externally vtables for optimizations purposes. Unfortunatelly ItaniumABI doesn't guarantee that we will be able to refer to virtual inline method by name.
But when we don't have any inline virtual methods, and key function is not defined in this TU, we can generate vtable and mark it as available_externally.
This is patch will help devirtualize better, for more info go to http://lists.cs.uiuc.edu/pipermail/cfe-dev/2015-July/044246.html
http://reviews.llvm.org/D11441
Files:
include/clang/AST/VTableBuilder.h
lib/CodeGen/CGCXXABI.h
lib/CodeGen/CGVTables.cpp
lib/CodeGen/ItaniumCXXABI.cpp
lib/CodeGen/MicrosoftCXXABI.cpp
test/CodeGenCXX/vtable-available-externally.cpp
test/CodeGenCXX/vtable-linkage.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D11441.30431.patch
Type: text/x-patch
Size: 11634 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150723/54bf5d3b/attachment.bin>
More information about the cfe-commits
mailing list