aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.h
diff options
context:
space:
mode:
authorTeresa Johnson <tejohnson@google.com>2020-01-24 12:24:18 -0800
committerTeresa Johnson <tejohnson@google.com>2020-01-27 07:55:05 -0800
commit2f63d549f1e1edd165392837aaa53f569f7fb88d (patch)
tree61db1979f4f195e45d48a2b3d9a28dc29ef7c744 /clang/lib/CodeGen/CodeGenModule.h
parentbc3d900fa5fc537163b8556a6b59925231bc4d09 (diff)
downloadllvm-2f63d549f1e1edd165392837aaa53f569f7fb88d.zip
llvm-2f63d549f1e1edd165392837aaa53f569f7fb88d.tar.gz
llvm-2f63d549f1e1edd165392837aaa53f569f7fb88d.tar.bz2
Restore "[LTO/WPD] Enable aggressive WPD under LTO option"
This restores 59733525d37cf9ad88b5021b33ecdbaf2e18911c (D71913), along with bot fix 19c76989bb505c3117730c47df85fd3800ea2767. The bot failure should be fixed by D73418, committed as af954e441a5170a75687699d91d85e0692929d43. I also added a fix for non-x86 bot failures by requiring x86 in new test lld/test/ELF/lto/devirt_vcall_vis_public.ll.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.h')
-rw-r--r--clang/lib/CodeGen/CodeGenModule.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CodeGenModule.h b/clang/lib/CodeGen/CodeGenModule.h
index 115e754..a711d5c 100644
--- a/clang/lib/CodeGen/CodeGenModule.h
+++ b/clang/lib/CodeGen/CodeGenModule.h
@@ -1292,6 +1292,11 @@ public:
/// optimization.
bool HasHiddenLTOVisibility(const CXXRecordDecl *RD);
+ /// Returns whether the given record has public std LTO visibility
+ /// and therefore may not participate in (single-module) CFI and whole-program
+ /// vtable optimization.
+ bool HasLTOVisibilityPublicStd(const CXXRecordDecl *RD);
+
/// Returns the vcall visibility of the given type. This is the scope in which
/// a virtual function call could be made which ends up being dispatched to a
/// member function of this class. This scope can be wider than the visibility