cprover
Toggle main menu visibility
Loading...
Searching...
No Matches
dfcc_infer_loop_assigns.h
Go to the documentation of this file.
1
/*******************************************************************\
2
3
Module: Dynamic frame condition checking
4
5
Author: Remi Delmas, delmasrd@amazon.com
6
7
\*******************************************************************/
8
11
12
#ifndef CPROVER_GOTO_INSTRUMENT_CONTRACTS_DYNAMIC_FRAMES_DFCC_INFER_LOOP_ASSIGNS_H
13
#define CPROVER_GOTO_INSTRUMENT_CONTRACTS_DYNAMIC_FRAMES_DFCC_INFER_LOOP_ASSIGNS_H
14
15
#include <
goto-instrument/loop_utils.h
>
16
17
class
namespacet
;
18
class
message_handlert
;
19
struct
dfcc_loop_nesting_graph_nodet
;
20
22
std::unordered_set<irep_idt>
gen_loop_locals_set
(
23
const
irep_idt
&function_id,
24
goto_functiont
&goto_function,
25
const
dfcc_loop_nesting_graph_nodet
&loop,
26
message_handlert
&message_handler,
27
const
namespacet
&ns);
28
33
void
dfcc_infer_loop_assigns_for_function
(
34
std::map<std::size_t, assignst> &inferred_loop_assigns_map,
35
goto_functionst
&goto_functions,
36
const
goto_functiont
&goto_function,
37
message_handlert
&message_handler,
38
const
namespacet
&ns);
39
40
#endif
goto_functionst
A collection of goto functions.
Definition
goto_functions.h:25
goto_functiont
A goto function, consisting of function body (see body) and parameter identifiers (see parameter_iden...
Definition
goto_function.h:24
message_handlert
Definition
message.h:27
namespacet
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
Definition
namespace.h:91
dfcc_infer_loop_assigns_for_function
void dfcc_infer_loop_assigns_for_function(std::map< std::size_t, assignst > &inferred_loop_assigns_map, goto_functionst &goto_functions, const goto_functiont &goto_function, message_handlert &message_handler, const namespacet &ns)
Infer assigns clause targets for loops in goto_function from their instructions and an alias analysis...
Definition
dfcc_infer_loop_assigns.cpp:299
gen_loop_locals_set
std::unordered_set< irep_idt > gen_loop_locals_set(const irep_idt &function_id, goto_functiont &goto_function, const dfcc_loop_nesting_graph_nodet &loop, message_handlert &message_handler, const namespacet &ns)
Collect identifiers that are local to loop.
Definition
dfcc_infer_loop_assigns.cpp:55
loop_utils.h
Helper functions for k-induction and loop invariants.
dfcc_loop_nesting_graph_nodet
A graph node that stores information about a natural loop.
Definition
dfcc_loop_nesting_graph.h:27
irep_idt
dstringt irep_idt
Definition
verification_result.h:16
goto-instrument
contracts
dynamic-frames
dfcc_infer_loop_assigns.h
Generated by
1.17.0