Skip to content

Commit 31e5a35

Browse files
committed
clean up parser options, set regression test3 as KNOWNBUG
1 parent ddaa5a6 commit 31e5a35

File tree

7 files changed

+12
-19
lines changed

7 files changed

+12
-19
lines changed

regression/cbmc/Abstract-loops3/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
CORE
1+
KNOWNBUG
22
main.c
33
--bounds-check --pointer-check --abstract-loops --abstractset main.0
44
^EXIT=10$

regression/goto-instrument/abstract-loops3/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
CORE
1+
KNOWNBUG
22
main.c
33
--bounds-check --pointer-check --add-library --abstract-loops --abstractset main.0
44
^EXIT=10$

src/cbmc/cbmc_parse_options.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -835,7 +835,7 @@ bool cbmc_parse_optionst::process_goto_program(
835835
loop_mapt target_loop_map;
836836
if(options.is_set("abstractset"))
837837
if(parse_absloopset(options.get_option("abstractset"), target_loop_map))
838-
throw "Cannot understand input loop";
838+
throw "cannot understand input loop";
839839
abstract_loops(goto_model, target_loop_map);
840840
}
841841

@@ -960,8 +960,8 @@ void cbmc_parse_optionst::help()
960960
" --mm MM memory consistency model for concurrent programs\n" // NOLINT(*)
961961
HELP_REACHABILITY_SLICER
962962
" --full-slice run full slicer (experimental)\n" // NOLINT(*)
963-
" --abstract-loops shrink loop into single iter if the assertions are based on single iter (experimental)\n"
964-
" --abstractset L,... only shrink loop L, shrink every loop if the flag is not given\n"
963+
" --abstract-loops shrink loop based on assertion dependency (experimental)\n"
964+
" --abstractset L,... only shrink loop L,...\n"
965965
"\n"
966966
"Semantic transformations:\n"
967967
// NOLINTNEXTLINE(whitespace/line_length)

src/cbmc/cbmc_parse_options.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ class optionst;
3535
OPT_BMC \
3636
"(preprocess)(slice-by-trace):" \
3737
OPT_FUNCTIONS \
38-
"(no-simplify)(full-slice)(abstract-loops)(abstractset):" \
38+
"(no-simplify)(full-slice)" \
39+
"(abstract-loops)(abstractset):"\
3940
OPT_REACHABILITY_SLICER \
4041
"(debug-level):(no-propagation)(no-simplify-if)" \
4142
"(document-subgoals)(outfile):(test-preprocessor)" \

src/goto-instrument/abstract_loops.cpp

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,6 @@ class abstract_loopst
5454
protected:
5555
// target abstract loop number for each function
5656
loop_mapt target_loop_map;
57-
// set of all leaf dependency nodes for loop variables
58-
//nodeset leaf_nodes;
59-
//nodeset update_nodes;
6057
// current function
6158
irep_idt fn;
6259
// map from instruction line # to the set of loops it belongs to
@@ -119,7 +116,7 @@ class abstract_loopst
119116
}
120117

121118
/// Check if a node has self-cycle in data dependency
122-
/// Inefficient method, will get updated
119+
/// Inefficient method, should get updated
123120
/// \param target: node location
124121
/// \param dep_graph: dependency graph for the program
125122
bool is_in_cycle(unsigned target, const dependence_grapht &dep_graph)
@@ -273,7 +270,6 @@ void abstract_loopst::update_shrinkability(unsigned loc, irep_idt func)
273270
{
274271
for(auto loop_n: insloop_map[loc])
275272
{
276-
//irep_idt func = dep_graph[loc].PC->function;
277273
abstract_loopt *loop_info = &(absloop_map[func].find(loop_n)->second);
278274
loop_info->shrinkable = false;
279275
#ifdef DEBUG_ABSTRACT_LOOPS
@@ -328,8 +324,6 @@ void abstract_loopst::check_assertion(unsigned location,
328324
it != data_deps.end(); ++it)
329325
{
330326
add_to_queue(dep_set, dep_queue, (*it)->location_number);
331-
//if(is_in_cycle(node, dep_graph))
332-
//update_set.insert(node);
333327
if(ctrl_set.find(node) == ctrl_set.end())
334328
update_set.insert(node);
335329
}
@@ -570,9 +564,6 @@ void abstract_loopst::get_loop_info(
570564
insloop_map[n].insert(last->loop_number);
571565

572566
absloop_map[fn].insert(loopnum_pair(last->loop_number, loop_info));
573-
//leaf_nodes.insert(loop_info.var_leaves.begin(), loop_info.var_leaves.end());
574-
//update_nodes.insert(loop_info.var_updates.begin(),
575-
//loop_info.var_updates.end());
576567
}
577568

578569
/// Main function for abstraction, has 3 iterations to

src/goto-instrument/goto_instrument_parse_options.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1604,8 +1604,8 @@ void goto_instrument_parse_optionst::help()
16041604
" --havoc-loops over-approximate all loops\n"
16051605
" --accelerate add loop accelerators\n"
16061606
" --skip-loops <loop-ids> add gotos to skip selected loops during execution\n" // NOLINT(*)
1607-
" --abstract-loops shrink loop into single iter if the assertions are based on single iter\n"
1608-
" --abstractset L,... only shrink loop L, shrink every loop if the flag is not given\n"
1607+
" --abstract-loops shrink loop based on assertion dependency (experimental)\n"
1608+
" --abstractset L,... only shrink loop L,...\n"
16091609
"\n"
16101610
"Memory model instrumentations:\n"
16111611
" --mm <tso,pso,rmo,power> instruments a weak memory model\n"

src/goto-instrument/goto_instrument_parse_options.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,8 @@ Author: Daniel Kroening, [email protected]
7979
"(show-symbol-table)(show-points-to)(show-rw-set)" \
8080
"(cav11)" \
8181
OPT_TIMESTAMP \
82-
"(show-natural-loops)(accelerate)(havoc-loops)(abstract-loops)(abstractset):" \
82+
"(show-natural-loops)(accelerate)(havoc-loops)" \
83+
"(abstract-loops)(abstractset):" \
8384
"(error-label):(string-abstraction)" \
8485
"(verbosity):(version)(xml-ui)(json-ui)(show-loops)" \
8586
"(accelerate)(constant-propagator)" \

0 commit comments

Comments
 (0)