From b18e81a7afade29f04c86a8c3e3568afcd6fb96f Mon Sep 17 00:00:00 2001 From: Julian Seward Date: Tue, 1 Sep 2015 08:48:04 +0000 Subject: [PATCH] Rename the new option --expensive-definedness-check introduced in r15594 to --expensive-definedness-checks. (Pluralised it, iow.) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15611 --- NEWS | 4 ++-- memcheck/docs/mc-manual.xml | 6 +++--- memcheck/mc_include.h | 2 +- memcheck/mc_main.c | 8 +++++--- memcheck/mc_translate.c | 2 +- memcheck/tests/bug340392.vgtest | 4 ++-- 6 files changed, 14 insertions(+), 12 deletions(-) diff --git a/NEWS b/NEWS index 6bb06d995c..a6f8c9a8bd 100644 --- a/NEWS +++ b/NEWS @@ -61,10 +61,10 @@ X86/MacOSX 10.10 and 10.11 and AMD64/MacOSX 10.10 and 10.11. assembly sequences. This gives speedups in the region of 0% to 7% for those targets only. - - New command line option: --expensive-definedness-check= which + - New command line option: --expensive-definedness-checks=yes|no which is useful to avoid occasional invalid complaints on optimised code. Watchout for runtime degradation: 25% have been observed but, as always, - this is highly application specific. + this is highly application specific. The default setting is "no". * Massif: diff --git a/memcheck/docs/mc-manual.xml b/memcheck/docs/mc-manual.xml index 11ad980cd8..69cf90d765 100644 --- a/memcheck/docs/mc-manual.xml +++ b/memcheck/docs/mc-manual.xml @@ -969,9 +969,9 @@ is - + - + Controls whether Memcheck should employ more precise but also more @@ -979,7 +979,7 @@ is value. The default setting is not to do that and it is usually sufficient. However, for highly optimised code valgrind may sometimes incorrectly complain. - Invoking valgrind with + Invoking valgrind with helps but comes at a performance cost. Runtime degradation of 25% have been observed but the extra cost depends a lot on the application at hand. diff --git a/memcheck/mc_include.h b/memcheck/mc_include.h index 8ae7a8ac9c..876f0b64e2 100644 --- a/memcheck/mc_include.h +++ b/memcheck/mc_include.h @@ -697,7 +697,7 @@ extern Bool MC_(clo_show_mismatched_frees); /* Should we use expensive definedness checking for add/sub and compare operations? Default: NO */ -extern Bool MC_(clo_expensive_definedness_check); +extern Bool MC_(clo_expensive_definedness_checks); /*------------------------------------------------------------*/ /*--- Instrumentation ---*/ diff --git a/memcheck/mc_main.c b/memcheck/mc_main.c index 6a00aa77a3..2902c6b7e8 100644 --- a/memcheck/mc_main.c +++ b/memcheck/mc_main.c @@ -5706,7 +5706,7 @@ Int MC_(clo_free_fill) = -1; KeepStacktraces MC_(clo_keep_stacktraces) = KS_alloc_and_free; Int MC_(clo_mc_level) = 2; Bool MC_(clo_show_mismatched_frees) = True; -Bool MC_(clo_expensive_definedness_check) = False; +Bool MC_(clo_expensive_definedness_checks) = False; static const HChar * MC_(parse_leak_heuristics_tokens) = "-,stdstring,length64,newarray,multipleinheritance"; @@ -5853,8 +5853,8 @@ static Bool mc_process_cmd_line_options(const HChar* arg) else if VG_BOOL_CLO(arg, "--show-mismatched-frees", MC_(clo_show_mismatched_frees)) {} - else if VG_BOOL_CLO(arg, "--expensive-definedness-check", - MC_(clo_expensive_definedness_check)) {} + else if VG_BOOL_CLO(arg, "--expensive-definedness-checks", + MC_(clo_expensive_definedness_checks)) {} else return VG_(replacement_malloc_process_cmd_line_option)(arg); @@ -5890,6 +5890,8 @@ static void mc_print_usage(void) " --undef-value-errors=no|yes check for undefined value errors [yes]\n" " --track-origins=no|yes show origins of undefined values? [no]\n" " --partial-loads-ok=no|yes too hard to explain here; see manual [yes]\n" +" --expensive-definedness-checks=no|yes\n" +" Use extra-precise definedness tracking [no]\n" " --freelist-vol= volume of freed blocks queue [20000000]\n" " --freelist-big-blocks= releases first blocks with size>= [1000000]\n" " --workaround-gcc296-bugs=no|yes self explanatory [no]\n" diff --git a/memcheck/mc_translate.c b/memcheck/mc_translate.c index 6e5941bf22..d2ac7987bd 100644 --- a/memcheck/mc_translate.c +++ b/memcheck/mc_translate.c @@ -6313,7 +6313,7 @@ IRSB* MC_(instrument) ( VgCallbackClosure* closure, } tl_assert( VG_(sizeXA)( mce.tmpMap ) == sb_in->tyenv->types_used ); - if (MC_(clo_expensive_definedness_check)) { + if (MC_(clo_expensive_definedness_checks)) { /* For expensive definedness checking skip looking for bogus literals. */ mce.bogusLiterals = True; diff --git a/memcheck/tests/bug340392.vgtest b/memcheck/tests/bug340392.vgtest index fc585e5721..0ae8eab5e7 100644 --- a/memcheck/tests/bug340392.vgtest +++ b/memcheck/tests/bug340392.vgtest @@ -1,4 +1,4 @@ -# When run without --expensive-definedness-check valgrind +# When run without --expensive-definedness-checks valgrind # produces: # # ==10953== Conditional jump or move depends on uninitialised value(s) @@ -7,4 +7,4 @@ # Making sure we don't get the message. # prog: bug340392 -vgopts: -q --expensive-definedness-check=yes +vgopts: -q --expensive-definedness-checks=yes -- 2.47.2