PandA-2024.02
Public Types | Public Member Functions | Private Attributes
Nuutila Class Reference

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
 
Nuutilaoperator= (const Nuutila &)=delete
 
Nuutilaoperator= (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 VarNodesvariables
 
int index
 
std::map< tree_nodeConstRef, int, tree_reindexComparedfs
 
std::map< tree_nodeConstRef, tree_nodeConstRef, tree_reindexCompareroot
 
std::set< tree_nodeConstRef, tree_reindexCompareinComponent
 
std::map< tree_nodeConstRef, CustomSet< VarNode * >, tree_reindexComparecomponents
 
std::deque< tree_nodeConstRefworklist
 

Detailed Description

Definition at line 4271 of file Range_Analysis.cpp.

Member Typedef Documentation

◆ const_iterator

using Nuutila::const_iterator = std::deque<tree_nodeConstRef>::const_reverse_iterator

Definition at line 4317 of file Range_Analysis.cpp.

◆ iterator

using Nuutila::iterator = std::deque<tree_nodeConstRef>::reverse_iterator

Definition at line 4316 of file Range_Analysis.cpp.

Constructor & Destructor Documentation

◆ Nuutila() [1/3]

Nuutila::Nuutila ( const VarNodes varNodes,
UseMap useMap,
const SymbMap symbMap,
int  _debug_level 
)

◆ ~Nuutila()

Nuutila::~Nuutila ( )
default

◆ Nuutila() [2/3]

Nuutila::Nuutila ( const Nuutila )
delete

◆ Nuutila() [3/3]

Nuutila::Nuutila ( Nuutila &&  )
delete

Member Function Documentation

◆ addControlDependenceEdges()

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().

Here is the caller graph for this function:

◆ begin()

iterator Nuutila::begin ( )
inline

Definition at line 4318 of file Range_Analysis.cpp.

◆ cbegin()

const_iterator Nuutila::cbegin ( ) const
inline

Definition at line 4322 of file Range_Analysis.cpp.

Referenced by visit().

Here is the caller graph for this function:

◆ cend()

const_iterator Nuutila::cend ( ) const
inline

Definition at line 4330 of file Range_Analysis.cpp.

Referenced by visit().

Here is the caller graph for this function:

◆ delControlDependenceEdges()

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ end()

iterator Nuutila::end ( )
inline

Definition at line 4326 of file Range_Analysis.cpp.

◆ getComponent()

const CustomSet<VarNode*>& Nuutila::getComponent ( const tree_nodeConstRef n) const
inline

Definition at line 4309 of file Range_Analysis.cpp.

References GET_CONST_NODE, and THROW_ASSERT.

◆ operator=() [1/2]

Nuutila& Nuutila::operator= ( const Nuutila )
delete

◆ operator=() [2/2]

Nuutila& Nuutila::operator= ( Nuutila &&  )
delete

◆ visit()

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().

Here is the call graph for this function:
Here is the caller graph for this function:

Field Documentation

◆ components

Definition at line 4289 of file Range_Analysis.cpp.

Referenced by visit().

◆ debug_level

int Nuutila::debug_level
private

◆ dfs

std::map<tree_nodeConstRef, int, tree_reindexCompare> Nuutila::dfs
private

Definition at line 4286 of file Range_Analysis.cpp.

Referenced by Nuutila(), and visit().

◆ inComponent

std::set<tree_nodeConstRef, tree_reindexCompare> Nuutila::inComponent
private

Definition at line 4288 of file Range_Analysis.cpp.

Referenced by visit().

◆ index

int Nuutila::index
private

Definition at line 4285 of file Range_Analysis.cpp.

Referenced by Nuutila(), and visit().

◆ root

Definition at line 4287 of file Range_Analysis.cpp.

Referenced by visit().

◆ variables

const VarNodes& Nuutila::variables
private

Definition at line 4284 of file Range_Analysis.cpp.

Referenced by visit().

◆ worklist

std::deque<tree_nodeConstRef> Nuutila::worklist
private

Definition at line 4290 of file Range_Analysis.cpp.

Referenced by visit().


The documentation for this class was generated from the following file:

Generated on Mon Feb 12 2024 13:03:59 for PandA-2024.02 by doxygen 1.8.13