diff options
Diffstat (limited to 'gcc/symb-execute-all-paths.h')
-rw-r--r-- | gcc/symb-execute-all-paths.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/symb-execute-all-paths.h b/gcc/symb-execute-all-paths.h index 7177a3f..4d07498 100644 --- a/gcc/symb-execute-all-paths.h +++ b/gcc/symb-execute-all-paths.h @@ -94,7 +94,11 @@ class crc_symb_execution { to calculate the polynomial. */ bool execute_crc_loop (loop *, gphi *, gphi *, bool); + /* Returns true if the state matches the LFSR, otherwise - false. */ + bool state_matches_lfsr (const vec<value*> &, const vec<value*> &); + public: + /* Symbolically execute the function and keep final states. */ bool execute_function (function *); @@ -102,6 +106,9 @@ class crc_symb_execution { with concrete values. */ vec<value*> * extract_poly_and_create_lfsr (loop *, gphi *, gphi *, bool); + /* Returns true if all states match the LFSR, otherwise - false. */ + bool states_match_lfsr (vec<value*> *lfsr); + crc_symb_execution () { /* Reserve memory for the vectors of states. */ |