summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/SanitizerArgs.cpp
diff options
context:
space:
mode:
authorTeresa Johnson <tejohnson@google.com>2019-01-11 18:32:07 +0000
committerTeresa Johnson <tejohnson@google.com>2019-01-11 18:32:07 +0000
commit84cecfcb3db7c3275ae2d64c419a752d9f5311d6 (patch)
tree137b550e0763b8685551711c9a6829e232870ba6 /clang/lib/Driver/SanitizerArgs.cpp
parent290a8398917a3d4ef521a0cfdb67e65238f0043a (diff)
downloadbcm5719-llvm-84cecfcb3db7c3275ae2d64c419a752d9f5311d6.tar.gz
bcm5719-llvm-84cecfcb3db7c3275ae2d64c419a752d9f5311d6.zip
[LTO] Add option to enable LTOUnit splitting, and disable unless needed
Summary: Adds a new -f[no]split-lto-unit flag that is disabled by default to control module splitting during ThinLTO. It is automatically enabled for -fsanitize=cfi and -fwhole-program-vtables. The new EnableSplitLTOUnit codegen flag is passed down to llvm via a new module flag of the same name. Depends on D53890. Reviewers: pcc Subscribers: ormris, mehdi_amini, inglorion, eraman, steven_wu, dexonsmith, cfe-commits, llvm-commits Differential Revision: https://reviews.llvm.org/D53891 llvm-svn: 350949
Diffstat (limited to 'clang/lib/Driver/SanitizerArgs.cpp')
-rw-r--r--clang/lib/Driver/SanitizerArgs.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/Driver/SanitizerArgs.cpp b/clang/lib/Driver/SanitizerArgs.cpp
index 6667cbb347c..1a46073aaa3 100644
--- a/clang/lib/Driver/SanitizerArgs.cpp
+++ b/clang/lib/Driver/SanitizerArgs.cpp
@@ -207,6 +207,8 @@ bool SanitizerArgs::needsUnwindTables() const {
return Sanitizers.Mask & NeedsUnwindTables;
}
+bool SanitizerArgs::needsLTO() const { return Sanitizers.Mask & NeedsLTO; }
+
SanitizerArgs::SanitizerArgs(const ToolChain &TC,
const llvm::opt::ArgList &Args) {
SanitizerMask AllRemove = 0; // During the loop below, the accumulated set of
OpenPOWER on IntegriCloud