Skip to content

Commit 2246767

Browse files
authored
Make the -quiet flag skip counter-example printing (AliveToolkit#1163)
1 parent 0dcc0ba commit 2246767

File tree

10 files changed

+22
-14
lines changed

10 files changed

+22
-14
lines changed

llvm_util/cmd_args_def.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ config::smt_benchmark_dir = opt_smt_bench_dir;
2121
smt::solver_print_queries(opt_smt_verbose);
2222
smt::solver_tactic_verbose(opt_tactic_verbose);
2323
config::debug = opt_debug;
24+
config::quiet = opt_quiet;
2425
config::max_offset_bits = opt_max_offset_in_bits;
2526
config::max_sizet_bits = opt_max_sizet_in_bits;
2627

llvm_util/compare.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
#include "llvm_util/llvm_optimizer.h"
77
#include "smt/smt.h"
88
#include "tools/transform.h"
9+
#include "util/config.h"
910

1011
#include <sstream>
1112
#include <utility>
@@ -96,7 +97,7 @@ Results verify(llvm::Function &F1, llvm::Function &F2,
9697
} // namespace
9798

9899
bool Verifier::compareFunctions(llvm::Function &F1, llvm::Function &F2) {
99-
auto r = verify(F1, F2, TLI, smt_init, out, !quiet, always_verify);
100+
auto r = verify(F1, F2, TLI, smt_init, out, !config::quiet, always_verify);
100101
if (r.status == Results::ERROR) {
101102
out << "ERROR: " << r.error;
102103
++num_errors;
@@ -134,7 +135,7 @@ bool Verifier::compareFunctions(llvm::Function &F1, llvm::Function &F2) {
134135

135136
case Results::UNSOUND:
136137
out << "Transformation doesn't verify!\n\n";
137-
if (!quiet)
138+
if (!config::quiet)
138139
out << r.errs << endl;
139140
++num_unsound;
140141
return false;
@@ -160,13 +161,13 @@ bool Verifier::compareFunctions(llvm::Function &F1, llvm::Function &F2) {
160161

161162
case Results::FAILED_TO_PROVE:
162163
out << "Failed to verify the reverse transformation\n\n";
163-
if (!quiet)
164+
if (!config::quiet)
164165
out << r.errs << endl;
165166
return true;
166167

167168
case Results::UNSOUND:
168169
out << "Reverse transformation doesn't verify!\n\n";
169-
if (!quiet)
170+
if (!config::quiet)
170171
out << r.errs << endl;
171172
return false;
172173
}

llvm_util/compare.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ struct Verifier {
1818
unsigned num_unsound = 0;
1919
unsigned num_failed = 0;
2020
unsigned num_errors = 0;
21-
bool quiet = false;
2221
bool always_verify = false;
2322
bool print_dot = false;
2423
bool bidirectional = false;

tools/alive-exec.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ optional<StateValue> exec(llvm::Function &F,
5454
return {};
5555
}
5656

57-
if (!opt_quiet)
57+
if (!config::quiet)
5858
Func->print(cout << "\n----------------------------------------\n");
5959

6060
{
@@ -99,7 +99,7 @@ optional<StateValue> exec(llvm::Function &F,
9999
auto It = curr_bb->instrs().begin();
100100
Solver solver(true);
101101

102-
if (!opt_quiet)
102+
if (!config::quiet)
103103
cout << "Executing " << curr_bb->getName() << '\n';
104104

105105
while (true) {
@@ -120,7 +120,7 @@ optional<StateValue> exec(llvm::Function &F,
120120
if (dynamic_cast<const Return*>(&next_instr)) {
121121
assert(r.isSat());
122122
auto ret = eval(r, state.returnVal().val);
123-
if (!opt_quiet)
123+
if (!config::quiet)
124124
cout << "Returned " << ret << '\n';
125125
return ret;
126126
}
@@ -137,7 +137,7 @@ optional<StateValue> exec(llvm::Function &F,
137137
return {};
138138

139139
if (r.isSat()) {
140-
if (!opt_quiet)
140+
if (!config::quiet)
141141
cout << " >> Jump to " << dst.getName() << "\n\n";
142142
curr_bb = &dst;
143143
state.startBB(dst);
@@ -166,7 +166,7 @@ optional<StateValue> exec(llvm::Function &F,
166166
return {};
167167
}
168168

169-
if (!opt_quiet) {
169+
if (!config::quiet) {
170170
cout << name;
171171
if (name[0] == '%') {
172172
auto v = eval(r, val.val);

tools/alive-tv.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,6 @@ and "tgt5" will unused.
138138
llvm_util::initializer llvm_util_init(*out, DL);
139139
smt::smt_initializer smt_init;
140140
Verifier verifier(TLI, smt_init, *out);
141-
verifier.quiet = opt_quiet;
142141
verifier.always_verify = opt_always_verify;
143142
verifier.print_dot = opt_print_dot;
144143
verifier.bidirectional = opt_bidirectional;

tools/quick-fuzz.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -922,7 +922,6 @@ reduced using llvm-reduce.
922922
llvm_util::initializer llvm_util_init(*out, DL);
923923
smt::smt_initializer smt_init;
924924
Verifier verifier(TLI, smt_init, *out);
925-
verifier.quiet = opt_quiet;
926925
verifier.always_verify = opt_always_verify;
927926
verifier.print_dot = opt_print_dot;
928927
verifier.bidirectional = opt_bidirectional;

tools/transform.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,12 @@ static bool error(Errors &errs, State &src_state, State &tgt_state,
167167
}
168168
}
169169

170+
// Return early if instance reporting is not requested.
171+
if (config::quiet) {
172+
errs.add(msg, true);
173+
return false;
174+
}
175+
170176
// minimize the model
171177
optional<Result> newr;
172178

tv/tv.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ struct TVLegacyPass final : public llvm::ModulePass {
248248
if (!opt_always_verify) {
249249
// Compare Alive2 IR and skip if syntactically equal
250250
if (src_tostr == tgt_tostr) {
251-
if (!opt_quiet) {
251+
if (!config::quiet) {
252252
TransformPrintOpts print_opts;
253253
print_opts.skip_tgt = true;
254254
t.print(*out, print_opts);
@@ -311,7 +311,7 @@ struct TVLegacyPass final : public llvm::ModulePass {
311311
smt_init->reset();
312312
t.preprocess();
313313
TransformVerify verifier(t, false);
314-
if (!opt_quiet)
314+
if (!config::quiet)
315315
t.print(*out);
316316

317317
{

util/config.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ bool tgt_is_asm = false;
1919
bool fail_if_src_is_ub = false;
2020
bool disallow_ub_exploitation = false;
2121
bool debug = false;
22+
bool quiet = false;
2223
unsigned src_unroll_cnt = 0;
2324
unsigned tgt_unroll_cnt = 0;
2425
unsigned max_offset_bits = 64;

util/config.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ extern bool disallow_ub_exploitation;
3131

3232
extern bool debug;
3333

34+
extern bool quiet;
35+
3436
extern unsigned src_unroll_cnt;
3537

3638
extern unsigned tgt_unroll_cnt;

0 commit comments

Comments
 (0)