PandA-2024.02
Data Structures | Macros | Functions
InterfaceInfer.cpp File Reference

Load parsed protocol interface attributes. More...

#include "InterfaceInfer.hpp"
#include "config_PANDA_DATA_INSTALLDIR.hpp"
#include "Parameter.hpp"
#include "application_manager.hpp"
#include "area_info.hpp"
#include "behavioral_helper.hpp"
#include "call_graph.hpp"
#include "call_graph_manager.hpp"
#include "compiler_wrapper.hpp"
#include "constant_strings.hpp"
#include "copyrights_strings.hpp"
#include "dbgPrintHelper.hpp"
#include "design_flow_graph.hpp"
#include "design_flow_manager.hpp"
#include "function_behavior.hpp"
#include "hls_device.hpp"
#include "hls_manager.hpp"
#include "hls_step.hpp"
#include "language_writer.hpp"
#include "library_manager.hpp"
#include "math_function.hpp"
#include "string_manipulation.hpp"
#include "structural_manager.hpp"
#include "structural_objects.hpp"
#include "technology_flow_step.hpp"
#include "technology_flow_step_factory.hpp"
#include "technology_manager.hpp"
#include "technology_node.hpp"
#include "time_info.hpp"
#include "token_interface.hpp"
#include "tree_basic_block.hpp"
#include "tree_helper.hpp"
#include "tree_manager.hpp"
#include "tree_manipulation.hpp"
#include "tree_node.hpp"
#include "tree_reindex.hpp"
#include "var_pp_functor.hpp"
#include <regex>
Include dependency graph for InterfaceInfer.cpp:

Go to the source code of this file.

Data Structures

struct  InterfaceInfer::interface_info
 

Macros

#define EPSILON   0.000000001
 
#define ENCODE_FDNAME(arg_name, MODE, interface_type)   ((arg_name) + STR_CST_interface_parameter_keyword + (MODE) + (interface_type))
 

Functions

static const std::regex signature_param_typename ("((?:\+\*)+(?:<[^>]*>)?\*[\&\]*\*)")
 
static std::string get_decl_name (tree_nodeRef tn)
 
static std::vector< unsigned int > GetSortedRoots (const CallGraphManagerConstRef &CGM)
 
static std::tuple< unsigned int, unsigned int > GetCallStmt (const CallGraphManagerConstRef &CGM, unsigned int fid)
 
static std::vector< tree_nodeRefGetCallArgs (tree_nodeRef stmt)
 
static tree_nodeConstRef ResolvePointerAlias (const CallGraphManagerConstRef &CGM, const tree_managerConstRef &TM, const tree_nodeConstRef &var, unsigned int fid)
 

Detailed Description

Load parsed protocol interface attributes.

Author
Michele Fiorito miche.nosp@m.le.f.nosp@m.iorit.nosp@m.o@po.nosp@m.limi..nosp@m.it
Fabrizio Ferrandi fabri.nosp@m.zio..nosp@m.ferra.nosp@m.ndi@.nosp@m.polim.nosp@m.i.it
Claudio Barone claud.nosp@m.io.b.nosp@m.arone.nosp@m.@pol.nosp@m.imi.i.nosp@m.t

Definition in file InterfaceInfer.cpp.

Macro Definition Documentation

◆ ENCODE_FDNAME

#define ENCODE_FDNAME (   arg_name,
  MODE,
  interface_type 
)    ((arg_name) + STR_CST_interface_parameter_keyword + (MODE) + (interface_type))

◆ EPSILON

#define EPSILON   0.000000001

Function Documentation

◆ get_decl_name()

static std::string get_decl_name ( tree_nodeRef  tn)
static

Definition at line 196 of file InterfaceInfer.cpp.

References GET_CONST_NODE, and THROW_ASSERT.

Referenced by InterfaceInfer::Exec(), and InterfaceInfer::forwardInterface().

Here is the caller graph for this function:

◆ GetCallArgs()

static std::vector<tree_nodeRef> GetCallArgs ( tree_nodeRef  stmt)
static

Definition at line 244 of file InterfaceInfer.cpp.

References GET_CONST_NODE, and THROW_UNREACHABLE.

Referenced by InterfaceInfer::Exec(), and ResolvePointerAlias().

Here is the caller graph for this function:

◆ GetCallStmt()

static std::tuple<unsigned int, unsigned int> GetCallStmt ( const CallGraphManagerConstRef CGM,
unsigned int  fid 
)
static

Definition at line 227 of file InterfaceInfer.cpp.

References distance().

Referenced by InterfaceInfer::Exec(), and ResolvePointerAlias().

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

◆ GetSortedRoots()

static std::vector<unsigned int> GetSortedRoots ( const CallGraphManagerConstRef CGM)
static

Definition at line 204 of file InterfaceInfer.cpp.

Referenced by InterfaceInfer::Exec().

Here is the caller graph for this function:

◆ ResolvePointerAlias()

static tree_nodeConstRef ResolvePointerAlias ( const CallGraphManagerConstRef CGM,
const tree_managerConstRef TM,
const tree_nodeConstRef var,
unsigned int  fid 
)
static

Definition at line 259 of file InterfaceInfer.cpp.

References tree_manager::CGetTreeNode(), tree_manager::CGetTreeReindex(), distance(), GET_CONST_NODE, GET_INDEX_CONST_NODE, tree_helper::GetBaseVariable(), GetCallArgs(), GetCallStmt(), and THROW_ASSERT.

Referenced by InterfaceInfer::Exec().

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

◆ signature_param_typename()

static const std::regex signature_param_typename ( "((?:\)+(?:<[^>]*>)?\\*\"  )
static

Referenced by InterfaceInfer::Exec(), and InterfaceInfer::interface_info::update().

Here is the caller graph for this function:

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