Skip to content

Commit 88ce7ab

Browse files
committed
Re-add reset changes
1 parent 384c35f commit 88ce7ab

File tree

3 files changed

+6
-4
lines changed

3 files changed

+6
-4
lines changed

clang/docs/TypeSanitizer.rst

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -187,10 +187,6 @@ Limitations
187187
shadow memory for each byte of user memory.
188188
* There are transformation passes which run before TypeSanitizer. If these
189189
passes optimize out an aliasing violation, TypeSanitizer cannot catch it.
190-
* Currently, all instrumentation is inlined. This can result in a **15x**
191-
(on average) increase in generated file size, and **3x** to **7x** increase
192-
in compile time. In some documented cases this can cause the compiler to hang.
193-
There are plans to improve this in the future.
194190
* Codebases that use unions and struct-initialized variables can see incorrect
195191
results, as TypeSanitizer doesn't yet instrument these reliably.
196192
* Since Clang & LLVM's TBAA system is used to generate the checks used by the

clang/lib/Driver/SanitizerArgs.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1511,6 +1511,10 @@ void SanitizerArgs::addArgs(const ToolChain &TC, const llvm::opt::ArgList &Args,
15111511
CmdArgs.push_back("-mllvm");
15121512
CmdArgs.push_back("-tysan-outline-instrumentation");
15131513
}
1514+
else{
1515+
CmdArgs.push_back("-mllvm");
1516+
CmdArgs.push_back("-tysan-outline-instrumentation=false");
1517+
}
15141518

15151519
// When emitting Stable ABI instrumentation, force outlining calls and avoid
15161520
// inlining shadow memory poisoning. While this is a big performance burden

llvm/docs/ReleaseNotes.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,8 @@ Changes to BOLT
217217
Changes to Sanitizers
218218
---------------------
219219

220+
* TypeSanitizer no longer inlines all instrumentation by default
221+
220222
Other Changes
221223
-------------
222224

0 commit comments

Comments
 (0)