Skip to content

Commit 40097ed

Browse files
committed
Document all remaining options of goto-instrument
help output now includes all command-line options supported by goto-instrument.
1 parent 931b09a commit 40097ed

File tree

3 files changed

+39
-2
lines changed

3 files changed

+39
-2
lines changed

src/goto-instrument/goto_instrument_parse_options.cpp

+31-1
Original file line numberDiff line numberDiff line change
@@ -1753,6 +1753,7 @@ void goto_instrument_parse_optionst::help()
17531753
"\n"
17541754
"Dump Source:\n"
17551755
HELP_DUMP_C
1756+
" --horn print program as constrained horn clauses\n"
17561757
"\n"
17571758
"Diagnosis:\n"
17581759
HELP_SHOW_PROPERTIES
@@ -1761,6 +1762,7 @@ void goto_instrument_parse_optionst::help()
17611762
" --list-symbols list symbols with type information\n"
17621763
HELP_SHOW_GOTO_FUNCTIONS
17631764
HELP_GOTO_PROGRAM_STATS
1765+
" --show-locations show all source locations\n"
17641766
" --dot generate CFG graph in DOT format\n"
17651767
" --print-internal-representation\n" // NOLINTNEXTLINE(*)
17661768
" show verbose internal representation of the program\n"
@@ -1784,6 +1786,24 @@ void goto_instrument_parse_optionst::help()
17841786
" --show-local-safe-pointers show pointer expressions that are trivially dominated by a not-null check\n" // NOLINT(*)
17851787
" --show-safe-dereferences show pointer expressions that are trivially dominated by a not-null check\n" // NOLINT(*)
17861788
" *and* used as a dereference operand\n" // NOLINT(*)
1789+
" --show-value-sets show points-to information (using value sets)\n" // NOLINT(*)
1790+
" --show-global-may-alias show may-alias information over globals\n"
1791+
" --show-local-bitvector-analysis\n"
1792+
" show procedure-local pointer analysis\n"
1793+
" --escape-analysis perform escape analysis\n"
1794+
" --show-escape-analysis show results of escape analysis\n"
1795+
" --custom-bitvector-analysis perform configurable bitvector analysis\n"
1796+
" --show-custom-bitvector-analysis\n"
1797+
" show results of configurable bitvector analysis\n" // NOLINT(*)
1798+
" --interval-analysis perform interval analysis\n"
1799+
" --show-intervals show results of interval analysis\n"
1800+
" --show-uninitialized show maybe-uninitialized variables\n"
1801+
" --show-points-to show points-to information\n"
1802+
" --show-rw-set show read-write sets\n"
1803+
" --show-call-sequences show function call sequences\n"
1804+
" --show-reaching-definitions show reaching definitions\n"
1805+
" --show-dependence-graph show program-dependence graph\n"
1806+
" --show-sese-regions show single-entry-single-exit regions\n"
17871807
"\n"
17881808
"Safety checks:\n"
17891809
" --no-assertions ignore user assertions\n"
@@ -1800,7 +1820,12 @@ void goto_instrument_parse_optionst::help()
18001820
" --nondet-static-exclude e same as nondet-static except for the variable e\n" //NOLINT(*)
18011821
" (use multiple times if required)\n"
18021822
" --check-invariant function instruments invariant checking function\n"
1823+
" --function-enter <f>, --function-exit <f>, --branch <f>\n"
1824+
" instruments a call to <f> at the beginning,\n" // NOLINT(*)
1825+
" the exit, or a branch point, respectively\n"
18031826
" --splice-call caller,callee prepends a call to callee in the body of caller\n" // NOLINT(*)
1827+
" --check-call-sequence <seq> instruments checks to assert that all call\n"
1828+
" sequences match <seq>\n"
18041829
" --undefined-function-is-assume-false\n"
18051830
// NOLINTNEXTLINE(whitespace/line_length)
18061831
" convert each call to an undefined function to assume(false)\n"
@@ -1817,6 +1842,9 @@ void goto_instrument_parse_optionst::help()
18171842
HELP_ANSI_C_LANGUAGE
18181843
"\n"
18191844
"Semantics-preserving transformations:\n"
1845+
" --ensure-one-backedge-per-target\n"
1846+
" transform loop bodies such that there is a\n"
1847+
" single edge back to the loop head\n"
18201848
" --drop-unused-functions drop functions trivially unreachable from main function\n" // NOLINT(*)
18211849
HELP_REMOVE_POINTERS
18221850
" --constant-propagator propagate constants and simplify expressions\n" // NOLINT(*)
@@ -1842,7 +1870,9 @@ void goto_instrument_parse_optionst::help()
18421870
" --base-case k-induction: do base-case\n"
18431871
" --havoc-loops over-approximate all loops\n"
18441872
" --accelerate add loop accelerators\n"
1873+
" --z3 use Z3 when computing loop accelerators\n"
18451874
" --skip-loops <loop-ids> add gotos to skip selected loops during execution\n" // NOLINT(*)
1875+
" --show-lexical-loops show single-entry-single-back-edge loops\n"
18461876
" --show-natural-loops show natural loop heads\n"
18471877
"\n"
18481878
"Memory model instrumentations:\n"
@@ -1860,7 +1890,7 @@ void goto_instrument_parse_optionst::help()
18601890
" of the functions on the shortest path\n"
18611891
" --aggressive-slice-preserve-function <f>\n"
18621892
" force the aggressive slicer to preserve function <f>\n" // NOLINT(*)
1863-
" --aggressive-slice-preserve-function containing <f>\n"
1893+
" --aggressive-slice-preserve-functions-containing <f>\n"
18641894
" force the aggressive slicer to preserve all functions with names containing <f>\n" // NOLINT(*)
18651895
" --aggressive-slice-preserve-all-direct-paths \n"
18661896
" force aggressive slicer to preserve all direct paths\n" // NOLINT(*)

src/goto-programs/restrict_function_pointers.h

+7-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,13 @@ class optionst;
5858
" --" RESTRICT_FUNCTION_POINTER_FROM_FILE_OPT \
5959
" <file_name>\n" \
6060
" add function pointer restrictions from " \
61-
"file\n"
61+
"file\n" \
62+
" --" RESTRICT_FUNCTION_POINTER_BY_NAME_OPT \
63+
" <symbol_name>/target[targets]*>\n" \
64+
" restrict a function pointer where " \
65+
" <symbol_name>\n" \
66+
" is the unmangled name, before labelling " \
67+
"function pointers\n"
6268

6369
void parse_function_pointer_restriction_options_from_cmdline(
6470
const cmdlinet &cmdline,

src/util/config.h

+1
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ class symbol_tablet;
6363
" --malloc-may-fail allow malloc calls to return a null pointer\n" \
6464
" --malloc-fail-assert set malloc failure mode to assert-then-assume\n"\
6565
" --malloc-fail-null set malloc failure mode to return null\n" \
66+
" --string-abstraction track C string lengths and zero-termination\n" \
6667

6768

6869
#define OPT_CONFIG_JAVA \

0 commit comments

Comments
 (0)