1#ifndef GOTO_PROGRAMS_GOTO_INVARIANT_SYNTHESIS_H_
2#define GOTO_PROGRAMS_GOTO_INVARIANT_SYNTHESIS_H_
130 bool k_induction_ran);
Definition goto_functions.h:56
pthread_cond_t cond
Definition cuda.h:50
void goto_synthesise_loop_invariants(goto_functionst &goto_functions, const overflow_checkst &overflow, bool k_induction_ran)
Synthesise loop invariants for affine counter/accumulator loops and attach them as LOOP_INVARIANT ins...
Definition goto_invariant_synthesis.cpp:845
irep_container< expr2t > expr2tc
Definition irep2.h:431
The recogniser's pure syntactic predicates.
Definition goto_invariant_synthesis.cpp:17
bool entry_admits_two_disjunct_bound(const expr2tc &entry, bool inclusive)
The two-disjunct bound (i <op> B) || i == E is established only when the counter's entry value cannot...
Definition goto_invariant_synthesis.cpp:80
bool is_self_increment(const expr2tc &target, const expr2tc &source, expr2tc &addend)
lhs = lhs + addend — the only body assignment shape recognised here.
Definition goto_invariant_synthesis.cpp:45
bool split_bound(const expr2tc &cond, expr2tc &counter, expr2tc &bound, bool &inclusive)
Split cond into counter and bound for the </<= shapes this pass handles, and report which one it was.
Definition goto_invariant_synthesis.cpp:21
What goto_check will instrument on the guards this pass emits.
Definition goto_invariant_synthesis.h:12
bool signed_arith
–overflow-check: signed arithmetic is instrumented.
Definition goto_invariant_synthesis.h:14
bool unsigned_arith
–unsigned-overflow-check: unsigned arithmetic is instrumented too (goto_check.cpp,...
Definition goto_invariant_synthesis.h:18