diff options
author | ygribov <ygribov@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-08-11 06:12:12 +0000 |
---|---|---|
committer | ygribov <ygribov@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-08-11 06:12:12 +0000 |
commit | ff326078125a8b600564ba0133cf4c785249fafc (patch) | |
tree | 6826f489d7504e14431774d4f067f4d6a123551a /gcc/params.def | |
parent | 64d5d3e870de9a47bbd4dafd8d8242e97439d227 (diff) | |
download | gcc-ff326078125a8b600564ba0133cf4c785249fafc.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213807 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/params.def')
-rw-r--r-- | gcc/params.def | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/params.def b/gcc/params.def index cad00e222a5..aefdd071f7a 100644 --- a/gcc/params.def +++ b/gcc/params.def @@ -1085,14 +1085,14 @@ DEFPARAM (PARAM_ASAN_MEMINTRIN, DEFPARAM (PARAM_ASAN_USE_AFTER_RETURN, "asan-use-after-return", - "Enable asan builtin functions protection", + "Enable asan detection of use-after-return bugs", 1, 0, 1) DEFPARAM (PARAM_ASAN_INSTRUMENTATION_WITH_CALL_THRESHOLD, "asan-instrumentation-with-call-threshold", - "Use callbacks instead of inline code once number of accesses " - " in function becomes greater or equal than this threshold", - 10000, 0, INT_MAX) + "Use callbacks instead of inline code if number of accesses " + "in function becomes greater or equal to this number", + 7000, 0, INT_MAX) DEFPARAM (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS, "uninit-control-dep-attempts", |