PandA-2024.02
Public Member Functions | Static Public Attributes | Protected Member Functions | Private Attributes | Static Private Attributes
NodeContainer Class Reference
Collaboration diagram for NodeContainer:
Collaboration graph
[legend]

Public Member Functions

virtual ~NodeContainer ()
 
const VarNodesgetVarNodes () const
 
VarNodeaddVarNode (const tree_nodeConstRef &V, unsigned int function_id)
 
const ConditionalValueRangesgetCVR () const
 
void addConditionalValueRange (const ConditionalValueRange &&cvr)
 
const OpNodesgetOpNodes () const
 
OpNodepushOperation (OpNode *op)
 
OpNodeaddOperation (const tree_nodeConstRef &stmt, unsigned int function_id, const FunctionBehaviorConstRef &FB, const tree_managerConstRef &TM, const application_managerRef &AppM)
 
const DefMapgetDefs () const
 
const UseMapgetUses () const
 

Static Public Attributes

static int debug_level = DEBUG_LEVEL_NONE
 

Protected Member Functions

UseMapgetUses ()
 

Private Attributes

VarNodes _varNodes
 
OpNodes _opNodes
 
DefMap _defMap
 
UseMap _useMap
 
ConditionalValueRanges _cvrMap
 

Static Private Attributes

static const std::vector< std::function< std::function< OpNode *(NodeContainer *)> const tree_nodeConstRef &, unsigned int, const FunctionBehaviorConstRef &, const tree_managerConstRef &, const application_managerRef &)> > _opCtorGenerators
 

Detailed Description

Definition at line 2162 of file Range_Analysis.cpp.

Constructor & Destructor Documentation

◆ ~NodeContainer()

virtual NodeContainer::~NodeContainer ( )
inlinevirtual

Definition at line 2187 of file Range_Analysis.cpp.

Member Function Documentation

◆ addConditionalValueRange()

void NodeContainer::addConditionalValueRange ( const ConditionalValueRange &&  cvr)
inline

Definition at line 2227 of file Range_Analysis.cpp.

◆ addOperation()

OpNode* NodeContainer::addOperation ( const tree_nodeConstRef stmt,
unsigned int  function_id,
const FunctionBehaviorConstRef FB,
const tree_managerConstRef TM,
const application_managerRef AppM 
)
inline

Definition at line 2262 of file Range_Analysis.cpp.

◆ addVarNode()

VarNode* NodeContainer::addVarNode ( const tree_nodeConstRef V,
unsigned int  function_id 
)
inline

Definition at line 2204 of file Range_Analysis.cpp.

References THROW_ASSERT.

◆ getCVR()

const ConditionalValueRanges& NodeContainer::getCVR ( ) const
inline

Definition at line 2222 of file Range_Analysis.cpp.

◆ getDefs()

const DefMap& NodeContainer::getDefs ( ) const
inline

Definition at line 2275 of file Range_Analysis.cpp.

◆ getOpNodes()

const OpNodes& NodeContainer::getOpNodes ( ) const
inline

Definition at line 2243 of file Range_Analysis.cpp.

◆ getUses() [1/2]

UseMap& NodeContainer::getUses ( )
inlineprotected

Definition at line 2181 of file Range_Analysis.cpp.

◆ getUses() [2/2]

const UseMap& NodeContainer::getUses ( ) const
inline

Definition at line 2280 of file Range_Analysis.cpp.

◆ getVarNodes()

const VarNodes& NodeContainer::getVarNodes ( ) const
inline

Definition at line 2199 of file Range_Analysis.cpp.

◆ pushOperation()

OpNode* NodeContainer::pushOperation ( OpNode op)
inline

Definition at line 2248 of file Range_Analysis.cpp.

References OpNode::getSink(), OpNode::getSources(), and VarNode::getValue().

Here is the call graph for this function:

Field Documentation

◆ _cvrMap

ConditionalValueRanges NodeContainer::_cvrMap
private

Definition at line 2178 of file Range_Analysis.cpp.

◆ _defMap

DefMap NodeContainer::_defMap
private

Definition at line 2174 of file Range_Analysis.cpp.

◆ _opCtorGenerators

const std::vector< std::function< std::function< OpNode *(NodeContainer *)> const tree_nodeConstRef &, unsigned int, const FunctionBehaviorConstRef &, const tree_managerConstRef &, const application_managerRef &)> > NodeContainer::_opCtorGenerators
staticprivate

◆ _opNodes

OpNodes NodeContainer::_opNodes
private

Definition at line 2172 of file Range_Analysis.cpp.

◆ _useMap

UseMap NodeContainer::_useMap
private

Definition at line 2176 of file Range_Analysis.cpp.

◆ _varNodes

VarNodes NodeContainer::_varNodes
private

Definition at line 2170 of file Range_Analysis.cpp.

◆ debug_level

int NodeContainer::debug_level = DEBUG_LEVEL_NONE
static

Definition at line 2286 of file Range_Analysis.cpp.


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