@@ -1753,6 +1753,7 @@ void goto_instrument_parse_optionst::help()
1753
1753
" \n "
1754
1754
" Dump Source:\n "
1755
1755
HELP_DUMP_C
1756
+ " --horn print program as constrained horn clauses\n "
1756
1757
" \n "
1757
1758
" Diagnosis:\n "
1758
1759
HELP_SHOW_PROPERTIES
@@ -1761,6 +1762,7 @@ void goto_instrument_parse_optionst::help()
1761
1762
" --list-symbols list symbols with type information\n "
1762
1763
HELP_SHOW_GOTO_FUNCTIONS
1763
1764
HELP_GOTO_PROGRAM_STATS
1765
+ " --show-locations show all source locations\n "
1764
1766
" --dot generate CFG graph in DOT format\n "
1765
1767
" --print-internal-representation\n " // NOLINTNEXTLINE(*)
1766
1768
" show verbose internal representation of the program\n "
@@ -1784,6 +1786,24 @@ void goto_instrument_parse_optionst::help()
1784
1786
" --show-local-safe-pointers show pointer expressions that are trivially dominated by a not-null check\n " // NOLINT(*)
1785
1787
" --show-safe-dereferences show pointer expressions that are trivially dominated by a not-null check\n " // NOLINT(*)
1786
1788
" *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 "
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 "
1787
1807
" \n "
1788
1808
" Safety checks:\n "
1789
1809
" --no-assertions ignore user assertions\n "
@@ -1794,13 +1814,19 @@ void goto_instrument_parse_optionst::help()
1794
1814
" \n "
1795
1815
" Semantic transformations:\n "
1796
1816
<< HELP_NONDET_VOLATILE <<
1817
+ " --string-abstraction track C string lengths and zero-termination\n " // NOLINT(*)
1797
1818
" --isr <function> instruments an interrupt service routine\n "
1798
1819
" --mmio instruments memory-mapped I/O\n "
1799
1820
" --nondet-static add nondeterministic initialization of variables with static lifetime\n " // NOLINT(*)
1800
1821
" --nondet-static-exclude e same as nondet-static except for the variable e\n " // NOLINT(*)
1801
1822
" (use multiple times if required)\n "
1802
1823
" --check-invariant function instruments invariant checking function\n "
1824
+ " --function-enter <f>, --function-exit <f>, --branch <f>\n "
1825
+ " instruments a call to <f> at the beginning,\n "
1826
+ " the exit, or a branch point, respectively\n "
1803
1827
" --splice-call caller,callee prepends a call to callee in the body of caller\n " // NOLINT(*)
1828
+ " --check-call-sequence <seq> instruments checks to assert that all call\n "
1829
+ " sequences match <seq>\n "
1804
1830
" --undefined-function-is-assume-false\n "
1805
1831
// NOLINTNEXTLINE(whitespace/line_length)
1806
1832
" convert each call to an undefined function to assume(false)\n "
@@ -1817,6 +1843,9 @@ void goto_instrument_parse_optionst::help()
1817
1843
HELP_ANSI_C_LANGUAGE
1818
1844
" \n "
1819
1845
" Semantics-preserving transformations:\n "
1846
+ " --ensure-one-backedge-per-target\n "
1847
+ " transform loop bodies such that there is a\n "
1848
+ " single edge back to the loop head\n "
1820
1849
" --drop-unused-functions drop functions trivially unreachable from main function\n " // NOLINT(*)
1821
1850
HELP_REMOVE_POINTERS
1822
1851
" --constant-propagator propagate constants and simplify expressions\n " // NOLINT(*)
@@ -1842,7 +1871,9 @@ void goto_instrument_parse_optionst::help()
1842
1871
" --base-case k-induction: do base-case\n "
1843
1872
" --havoc-loops over-approximate all loops\n "
1844
1873
" --accelerate add loop accelerators\n "
1874
+ " --z3 use Z3 when computing loop accelerators\n "
1845
1875
" --skip-loops <loop-ids> add gotos to skip selected loops during execution\n " // NOLINT(*)
1876
+ " --show-lexical-loops show single-entry-single-back-edge loops\n "
1846
1877
" --show-natural-loops show natural loop heads\n "
1847
1878
" \n "
1848
1879
" Memory model instrumentations:\n "
@@ -1860,7 +1891,7 @@ void goto_instrument_parse_optionst::help()
1860
1891
" of the functions on the shortest path\n "
1861
1892
" --aggressive-slice-preserve-function <f>\n "
1862
1893
" force the aggressive slicer to preserve function <f>\n " // NOLINT(*)
1863
- " --aggressive-slice-preserve-function containing <f>\n "
1894
+ " --aggressive-slice-preserve-functions- containing <f>\n "
1864
1895
" force the aggressive slicer to preserve all functions with names containing <f>\n " // NOLINT(*)
1865
1896
" --aggressive-slice-preserve-all-direct-paths \n "
1866
1897
" force aggressive slicer to preserve all direct paths\n " // NOLINT(*)
0 commit comments