@@ -95,17 +95,17 @@ To be documented.
95
95
### Dependence graph
96
96
97
97
Implemented in ` src/analyses/dependence_graph.h(cpp) ` . It is a graph and an
98
- abstract interpreter in the same time. The abstract interpretation nature
98
+ abstract interpreter at the same time. The abstract interpretation nature
99
99
allows a dependence graph to build itself (the graph) from a given GOTO program.
100
100
101
101
A dependence graph extends the class ` grapht ` with ` dep_nodet ` as the type of
102
102
nodes (see ` src/util/graph.h ` for more details about
103
103
[ graph representation] ( ../util/README.md ) ).
104
- The ` dep_nodet ` extends ` graph_nodet<dep_edget> ` by an iterator to a GOTO
104
+ The ` dep_nodet ` extends ` graph_nodet<dep_edget> ` with an iterator to a GOTO
105
105
program instruction. It means that each graph node corresponds to a particular
106
106
program instruction. A labelled edge ` (u, v) ` of a dependence graph expresses
107
107
a dependency of the program instruction corresponding to node ` u ` on the program
108
- instruction corresponding to node ` v ` . The label of the edge (i.e. data of the
108
+ instruction corresponding to node ` v ` . The label of the edge (data of the
109
109
type ` dep_edget ` attached to the edge) denotes the kind of dependency. It can be
110
110
` control-dependency ` , ` data-dependency ` , or both.
111
111
@@ -124,11 +124,11 @@ Post-dominators analysis is implemented in `src/analyses/cfg_dominators.h(cpp)`.
124
124
125
125
The instruction ` j ` corresponding to node ` v ` is data-dependent on the
126
126
instruction ` i ` corresponding to node ` u ` if and only if ` j ` may read data from
127
- memory location defined (i.e. written) by ` i ` .
127
+ the memory location defined (i.e. written) by ` i ` .
128
128
129
- Reaching definitions analysis together with read-write ranges analysis are used
130
- to check whether one instruction may read data writen by another instruction.
131
- For more details see ` src/analyses/reaching_definitions.h(cpp) ` and
129
+ The reaching definitions analysis is used together with the read-write ranges
130
+ analysis to check whether one instruction may read data writen by another
131
+ instruction. For more details see ` src/analyses/reaching_definitions.h(cpp) ` and
132
132
` src/analyses/goto_rw.h(cpp) ` .
133
133
134
134
#### Construction
@@ -137,8 +137,8 @@ The dependence graph extends the standard abstract interpreter class `ait`
137
137
with post-dominators analysis and reaching definitions analysis. The domain of
138
138
the abstract interpreter is defined in the class ` dep_graph_domaint ` .
139
139
140
- For each instruction ` i ` there is created an instance of ` dep_graph_domaint `
141
- associated with ` i ` . The instance stores a set ` control_deps ` of program
140
+ For each instruction ` i ` an instance of ` dep_graph_domaint ` associated with ` i `
141
+ is created . The instance stores a set ` control_deps ` of program
142
142
instructions the instruction ` i ` depends on via control-dependency, and a set
143
143
` data_deps ` of program instructions the instruction ` i ` depends on via
144
144
data-dependency. These sets are updated (increased) during the computation,
0 commit comments