ROSE
0.11.145.237
Toggle main menu visibility
Main Page
Related Pages
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
a
c
d
g
h
i
l
m
n
s
t
u
v
Typedefs
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
x
Enumerations
a
b
c
d
e
f
i
k
l
m
o
p
s
t
v
w
x
Enumerator
a
b
c
d
e
f
h
i
l
m
n
o
p
s
t
u
v
w
y
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
Enumerator
a
b
c
d
e
f
g
i
l
m
n
o
p
r
s
t
u
v
w
x
y
Related Symbols
b
i
o
Files
File List
Examples
src
midend
programAnalysis
genericDataflow
simpleAnalyses
placeUIDs.h
1
#include <featureTests.h>
2
#ifdef ROSE_ENABLE_SOURCE_ANALYSIS
3
4
#ifndef PLACE_UIDS_H
5
#define PLACE_UIDS_H
6
7
#include "genericDataflowCommon.h"
8
#include "VirtualCFGIterator.h"
9
#include "cfgUtils.h"
10
#include "CallGraphTraverse.h"
11
#include "analysisCommon.h"
12
#include "analysis.h"
13
#include "dataflow.h"
14
#include "latticeFull.h"
15
#include "printAnalysisStates.h"
16
17
extern
int
sgnAnalysisDebugLevel;
18
19
/* Assigns a unique numeric ID to each DataflowNode. IDs are unique only within each function and
20
may be repeated across functions. */
21
22
class
NodeID
:
public
NodeFact
23
{
24
int
id;
25
public
:
26
27
NodeID
(
int
id
): id(
id
) {}
28
29
int
getID();
30
31
// The string that represents this object.
32
// Every line of this string must be prefixed by indent.
33
// The last character of the returned string must not be '\n', even if it is a multi-line string.
34
std::string str(std::string indent=
""
);
35
36
// returns a copy of this node fact
37
NodeFact
* copy()
const
;
38
};
22
class
NodeID
:
public
NodeFact
{
…
};
39
40
class
placeUniqueIDs
:
public
UnstructuredPassIntraAnalysis
41
{
42
int
curID;
43
public
:
44
placeUniqueIDs
()
45
{
46
curID = 0;
47
}
48
49
void
visit(
const
Function
& func,
const
DataflowNode
& n,
NodeState
& state);
50
};
40
class
placeUniqueIDs
:
public
UnstructuredPassIntraAnalysis
{
…
};
51
52
// Runs the placeUniqueIDs analysis to associate a unique ID with each DataflowNode within each function
53
void
runPlaceUniqueIDs();
54
55
// Returns the Unique ID recorded in the given NodeState
56
int
getNodeID(
const
NodeState
& state);
57
58
#endif
59
#endif
Function
Definition
CallGraphTraverse.h:18
NodeFact
Definition
nodeState.h:35
NodeID
Definition
placeUIDs.h:23
NodeState
Definition
nodeState.h:93
UnstructuredPassIntraAnalysis
Definition
analysis.h:77
VirtualCFG::DataflowNode
Definition
DataflowCFG.h:19
placeUniqueIDs
Definition
placeUIDs.h:41
Generated on Mon Mar 10 2025 00:08:55 for ROSE by
1.9.8