cprover
Toggle main menu visibility
Loading...
Searching...
No Matches
dfcc_loop_tags.h
Go to the documentation of this file.
1
/*******************************************************************\
2
3
Module: Dynamic frame condition checking for loop contracts
4
5
Author: Qinheping Hu, qinhh@amazon.com
6
Author: Remi Delmas, delmasrd@amazon.com
7
8
\*******************************************************************/
9
13
14
#ifndef CPROVER_GOTO_INSTRUMENT_CONTRACTS_DYNAMIC_FRAMES_DFCC_LOOP_TAGS_H
15
#define CPROVER_GOTO_INSTRUMENT_CONTRACTS_DYNAMIC_FRAMES_DFCC_LOOP_TAGS_H
16
17
#include <
goto-programs/goto_program.h
>
18
19
void
dfcc_set_loop_id
(
20
goto_programt::instructiont::targett
&target,
21
std::size_t loop_id);
22
23
bool
dfcc_has_loop_id
(
24
const
goto_programt::instructiont::const_targett
&target,
25
std::size_t loop_id);
26
27
std::optional<std::size_t>
28
dfcc_get_loop_id
(
const
goto_programt::instructiont::const_targett
&target);
29
30
void
dfcc_set_loop_head
(
goto_programt::instructiont::targett
&target);
31
bool
dfcc_is_loop_head
(
32
const
goto_programt::instructiont::const_targett
&target);
33
34
void
dfcc_set_loop_body
(
goto_programt::instructiont::targett
&target);
35
bool
dfcc_is_loop_body
(
36
const
goto_programt::instructiont::const_targett
&target);
37
38
void
dfcc_set_loop_exiting
(
goto_programt::instructiont::targett
&target);
39
bool
dfcc_is_loop_exiting
(
40
const
goto_programt::instructiont::const_targett
&target);
41
42
void
dfcc_set_loop_latch
(
goto_programt::instructiont::targett
&target);
43
bool
dfcc_is_loop_latch
(
44
const
goto_programt::instructiont::const_targett
&target);
45
46
void
dfcc_set_loop_top_level
(
goto_programt::instructiont::targett
&target);
47
bool
dfcc_is_loop_top_level
(
48
const
goto_programt::instructiont::const_targett
&target);
49
50
void
dfcc_remove_loop_tags
(
source_locationt
&source_location);
51
void
dfcc_remove_loop_tags
(
goto_programt
&goto_program);
52
void
dfcc_remove_loop_tags
(
goto_programt::targett
&target);
53
#endif
goto_programt::instructiont::const_targett
std::list< instructiont >::const_iterator const_targett
Definition
goto_program.h:381
goto_programt::instructiont::targett
std::list< instructiont >::iterator targett
The target for gotos and for start_thread nodes.
Definition
goto_program.h:380
goto_programt
A generic container class for the GOTO intermediate representation of one function.
Definition
goto_program.h:72
goto_programt::targett
instructionst::iterator targett
Definition
goto_program.h:613
source_locationt
Definition
source_location.h:20
dfcc_has_loop_id
bool dfcc_has_loop_id(const goto_programt::instructiont::const_targett &target, std::size_t loop_id)
Definition
dfcc_loop_tags.cpp:35
dfcc_set_loop_exiting
void dfcc_set_loop_exiting(goto_programt::instructiont::targett &target)
Definition
dfcc_loop_tags.cpp:77
dfcc_set_loop_latch
void dfcc_set_loop_latch(goto_programt::instructiont::targett &target)
Definition
dfcc_loop_tags.cpp:88
dfcc_is_loop_head
bool dfcc_is_loop_head(const goto_programt::instructiont::const_targett &target)
Definition
dfcc_loop_tags.cpp:62
dfcc_is_loop_latch
bool dfcc_is_loop_latch(const goto_programt::instructiont::const_targett &target)
Definition
dfcc_loop_tags.cpp:93
dfcc_remove_loop_tags
void dfcc_remove_loop_tags(source_locationt &source_location)
Definition
dfcc_loop_tags.cpp:110
dfcc_is_loop_top_level
bool dfcc_is_loop_top_level(const goto_programt::instructiont::const_targett &target)
Definition
dfcc_loop_tags.cpp:104
dfcc_set_loop_top_level
void dfcc_set_loop_top_level(goto_programt::instructiont::targett &target)
Definition
dfcc_loop_tags.cpp:99
dfcc_set_loop_body
void dfcc_set_loop_body(goto_programt::instructiont::targett &target)
Definition
dfcc_loop_tags.cpp:67
dfcc_get_loop_id
std::optional< std::size_t > dfcc_get_loop_id(const goto_programt::instructiont::const_targett &target)
Definition
dfcc_loop_tags.cpp:27
dfcc_is_loop_exiting
bool dfcc_is_loop_exiting(const goto_programt::instructiont::const_targett &target)
Definition
dfcc_loop_tags.cpp:82
dfcc_set_loop_id
void dfcc_set_loop_id(goto_programt::instructiont::targett &target, std::size_t loop_id)
Definition
dfcc_loop_tags.cpp:19
dfcc_is_loop_body
bool dfcc_is_loop_body(const goto_programt::instructiont::const_targett &target)
Definition
dfcc_loop_tags.cpp:72
dfcc_set_loop_head
void dfcc_set_loop_head(goto_programt::instructiont::targett &target)
Definition
dfcc_loop_tags.cpp:57
goto_program.h
Concrete Goto Program.
goto-instrument
contracts
dynamic-frames
dfcc_loop_tags.h
Generated by
1.17.0