diff options
author | Yury Gribov <y.gribov@samsung.com> | 2014-08-11 06:12:12 +0000 |
---|---|---|
committer | Yury Gribov <ygribov@gcc.gnu.org> | 2014-08-11 06:12:12 +0000 |
commit | c62ccb9a0a070057ec2ab65705c22e20cac85b5a (patch) | |
tree | 6826f489d7504e14431774d4f067f4d6a123551a /gcc/doc | |
parent | b78475cf7322cdce66bae717ee5768baabe8f8d6 (diff) | |
download | gcc-c62ccb9a0a070057ec2ab65705c22e20cac85b5a.zip gcc-c62ccb9a0a070057ec2ab65705c22e20cac85b5a.tar.gz gcc-c62ccb9a0a070057ec2ab65705c22e20cac85b5a.tar.bz2 |
Move inlining of Asan memory checks to sanopt pass.
Change asan-instrumentation-with-call-threshold to more closely match LLVM.
2014-08-11 Yury Gribov <y.gribov@samsung.com>
gcc/
* asan.c (asan_check_flags): New enum.
(build_check_stmt_with_calls): Removed function.
(build_check_stmt): Split inlining logic to
asan_expand_check_ifn.
(instrument_derefs): Rename parameter.
(instrument_mem_region_access): Rename parameter.
(instrument_strlen_call): Likewise.
(asan_expand_check_ifn): New function.
(asan_instrument): Remove old code.
(pass_sanopt::execute): Change handling of
asan-instrumentation-with-call-threshold.
(asan_clear_shadow): Fix formatting.
(asan_function_start): Likewise.
(asan_emit_stack_protection): Likewise.
* doc/invoke.texi (asan-instrumentation-with-call-threshold):
Update description.
* internal-fn.c (expand_ASAN_CHECK): New function.
* internal-fn.def (ASAN_CHECK): New internal function.
* params.def (PARAM_ASAN_INSTRUMENTATION_WITH_CALL_THRESHOLD):
Update description.
(PARAM_ASAN_USE_AFTER_RETURN): Likewise.
* tree.c: Small comment fix.
gcc/testsuite/
* c-c++-common/asan/inc.c: Update test.
* c-c++-common/asan/instrument-with-calls-2.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-1.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-2.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-3.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-4.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-5.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-6.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-7.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-8.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-9.c: Likewise.
From-SVN: r213807
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/invoke.texi | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index fdb0b84..91377fa 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -10385,9 +10385,9 @@ To disable use-after-return detection use @option{--param asan-use-after-return=0}. @item asan-instrumentation-with-call-threshold -Once number of memory accesses in function becomes greater -or equal than this number, use callbacks instead of -generating inline code. E.g. to disable inline code use +If number of memory accesses in function being instrumented +is greater or equal to this number, use callbacks instead of inline checks. +E.g. to disable inline code use @option{--param asan-instrumentation-with-call-threshold=0}. @end table |