On Thu, Oct 16, 2014 at 12:40:44PM +0400, Yury Gribov wrote: > The patch was slightly updated to take care of missing UBSan work > (UBSAN_BOUNDS).
> Move inlining of Asan memory checks to sanopt pass. > Change asan-instrumentation-with-call-threshold to more closely match LLVM. > > 2014-10-15 Yury Gribov <y.gri...@samsung.com> > > Backport from mainline > 2014-08-11 Yury Gribov <y.gri...@samsung.com> > > * 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. > > * 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. Ok. Jakub