PandA-2024.02
|
Public Types | |
using | iterator = std::deque< tree_nodeConstRef >::reverse_iterator |
using | const_iterator = std::deque< tree_nodeConstRef >::const_reverse_iterator |
Public Member Functions | |
Nuutila (const VarNodes &varNodes, UseMap &useMap, const SymbMap &symbMap, int _debug_level) | |
~Nuutila ()=default | |
Nuutila (const Nuutila &)=delete | |
Nuutila (Nuutila &&)=delete | |
Nuutila & | operator= (const Nuutila &)=delete |
Nuutila & | operator= (Nuutila &&)=delete |
void | addControlDependenceEdges (UseMap &useMap, const SymbMap &symbMap, const VarNodes &vars) |
void | delControlDependenceEdges (UseMap &useMap) |
void | visit (const tree_nodeConstRef &V, std::stack< tree_nodeConstRef > &stack, const UseMap &useMap) |
const CustomSet< VarNode * > & | getComponent (const tree_nodeConstRef &n) const |
iterator | begin () |
const_iterator | cbegin () const |
iterator | end () |
const_iterator | cend () const |
Private Attributes | |
int | debug_level |
const VarNodes & | variables |
int | index |
std::map< tree_nodeConstRef, int, tree_reindexCompare > | dfs |
std::map< tree_nodeConstRef, tree_nodeConstRef, tree_reindexCompare > | root |
std::set< tree_nodeConstRef, tree_reindexCompare > | inComponent |
std::map< tree_nodeConstRef, CustomSet< VarNode * >, tree_reindexCompare > | components |
std::deque< tree_nodeConstRef > | worklist |
Definition at line 4271 of file Range_Analysis.cpp.
using Nuutila::const_iterator = std::deque<tree_nodeConstRef>::const_reverse_iterator |
Definition at line 4317 of file Range_Analysis.cpp.
using Nuutila::iterator = std::deque<tree_nodeConstRef>::reverse_iterator |
Definition at line 4316 of file Range_Analysis.cpp.
Nuutila::Nuutila | ( | const VarNodes & | varNodes, |
UseMap & | useMap, | ||
const SymbMap & | symbMap, | ||
int | _debug_level | ||
) |
Definition at line 4342 of file Range_Analysis.cpp.
References addControlDependenceEdges(), debug_level, DEBUG_LEVEL_VERY_PEDANTIC, delControlDependenceEdges(), dfs, GET_CONST_NODE, INDENT_DBG_MEX, index, THROW_ASSERT, and visit().
|
default |
|
delete |
|
delete |
void Nuutila::addControlDependenceEdges | ( | UseMap & | useMap, |
const SymbMap & | symbMap, | ||
const VarNodes & | vars | ||
) |
Definition at line 4393 of file Range_Analysis.cpp.
References THROW_ASSERT.
Referenced by Nuutila().
|
inline |
Definition at line 4318 of file Range_Analysis.cpp.
|
inline |
Definition at line 4322 of file Range_Analysis.cpp.
Referenced by visit().
|
inline |
Definition at line 4330 of file Range_Analysis.cpp.
Referenced by visit().
void Nuutila::delControlDependenceEdges | ( | UseMap & | useMap | ) |
Definition at line 4410 of file Range_Analysis.cpp.
References GET_CONST_NODE, and tree_helper::GetConstValue().
Referenced by Nuutila().
|
inline |
Definition at line 4326 of file Range_Analysis.cpp.
|
inline |
Definition at line 4309 of file Range_Analysis.cpp.
References GET_CONST_NODE, and THROW_ASSERT.
void Nuutila::visit | ( | const tree_nodeConstRef & | V, |
std::stack< tree_nodeConstRef > & | stack, | ||
const UseMap & | useMap | ||
) |
Definition at line 4457 of file Range_Analysis.cpp.
References cbegin(), cend(), components, debug_level, DEBUG_LEVEL_VERY_PEDANTIC, dfs, GET_CONST_NODE, GET_INDEX_CONST_NODE, inComponent, INDENT_DBG_MEX, index, root, STR, THROW_ASSERT, ToString(), variables, and worklist.
Referenced by Nuutila().
|
private |
Definition at line 4289 of file Range_Analysis.cpp.
Referenced by visit().
|
private |
Definition at line 4274 of file Range_Analysis.cpp.
Referenced by Meet::crop(), Meet::fixed(), Meet::growth(), Meet::narrow(), Nuutila(), visit(), and Meet::widen().
|
private |
Definition at line 4286 of file Range_Analysis.cpp.
|
private |
Definition at line 4288 of file Range_Analysis.cpp.
Referenced by visit().
|
private |
Definition at line 4285 of file Range_Analysis.cpp.
|
private |
Definition at line 4287 of file Range_Analysis.cpp.
Referenced by visit().
|
private |
Definition at line 4284 of file Range_Analysis.cpp.
Referenced by visit().
|
private |
Definition at line 4290 of file Range_Analysis.cpp.
Referenced by visit().