![]() |
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().
1.8.13