PandA-2024.02
Macros | Functions
rebuild_initializations.cpp File Reference

rebuild initialization where it is possible More...

#include "rebuild_initializations.hpp"
#include "Parameter.hpp"
#include "application_manager.hpp"
#include "basic_block.hpp"
#include "behavioral_helper.hpp"
#include "custom_map.hpp"
#include "custom_set.hpp"
#include "dbgPrintHelper.hpp"
#include "function_behavior.hpp"
#include "string_manipulation.hpp"
#include "token_interface.hpp"
#include "tree_basic_block.hpp"
#include "tree_helper.hpp"
#include "tree_manager.hpp"
#include "tree_manipulation.hpp"
#include "tree_reindex.hpp"
#include <fstream>
#include <utility>
#include <vector>
Include dependency graph for rebuild_initializations.cpp:

Go to the source code of this file.

Macros

#define REBUILD2_DEVEL   0
 
#define foundNonConstant(VD)
 
#define unexpetedPattern2(node, VD)   foundNonConstant(VD)
 

Functions

static tree_nodeRef extractOp1 (tree_nodeRef opSSA)
 
static bool varFound (tree_nodeRef node, unsigned &vd_index, tree_nodeRef &vd_node)
 
static bool unexpetedPattern (tree_nodeRef)
 
tree_nodeRef getAssign (tree_nodeRef SSAop, unsigned vd_index, CustomOrderedSet< unsigned > &nonConstantVars, TreeNodeMap< std::map< integer_cst_t, tree_nodeRef >> &inits, tree_managerRef TM)
 

Detailed Description

rebuild initialization where it is possible

Author
Fabrizio Ferrandi fabri.nosp@m.zio..nosp@m.ferra.nosp@m.ndi@.nosp@m.polim.nosp@m.i.it $Revision$ $Date$ Last modified by $Author$

Definition in file rebuild_initializations.cpp.

Macro Definition Documentation

◆ foundNonConstant

#define foundNonConstant (   VD)
Value:
do \
{ \
nonConstantVars.insert(VD); \
auto key = TM->CGetTreeReindex(VD); \
inits.erase(key); \
} while(0)
int key[32]
Definition: aes.h:67

Definition at line 655 of file rebuild_initializations.cpp.

Referenced by rebuild_initialization2::look_for_ROMs().

◆ REBUILD2_DEVEL

#define REBUILD2_DEVEL   0

Definition at line 284 of file rebuild_initializations.cpp.

◆ unexpetedPattern2

#define unexpetedPattern2 (   node,
  VD 
)    foundNonConstant(VD)

Definition at line 667 of file rebuild_initializations.cpp.

Referenced by rebuild_initialization2::look_for_ROMs().

Function Documentation

◆ extractOp1()

static tree_nodeRef extractOp1 ( tree_nodeRef  opSSA)
static

Definition at line 250 of file rebuild_initializations.cpp.

References tree_node::get_kind(), GET_NODE, THROW_ASSERT, and tree_node::ToString().

Referenced by rebuild_initialization2::extract_var_decl(), and rebuild_initialization2::extract_var_decl_ppe().

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

◆ getAssign()

tree_nodeRef getAssign ( tree_nodeRef  SSAop,
unsigned  vd_index,
CustomOrderedSet< unsigned > &  nonConstantVars,
TreeNodeMap< std::map< integer_cst_t, tree_nodeRef >> &  inits,
tree_managerRef  TM 
)

Definition at line 670 of file rebuild_initializations.cpp.

References tree_node::get_kind(), GET_NODE, key, and THROW_ASSERT.

Referenced by rebuild_initialization2::look_for_ROMs().

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

◆ unexpetedPattern()

static bool unexpetedPattern ( tree_nodeRef  )
static

Definition at line 289 of file rebuild_initializations.cpp.

Referenced by rebuild_initialization2::extract_var_decl(), and rebuild_initialization2::extract_var_decl_ppe().

Here is the caller graph for this function:

◆ varFound()

static bool varFound ( tree_nodeRef  node,
unsigned &  vd_index,
tree_nodeRef vd_node 
)
static

Definition at line 269 of file rebuild_initializations.cpp.

References GET_INDEX_NODE, tree_node::get_kind(), GET_NODE, and THROW_ASSERT.

Referenced by rebuild_initialization2::extract_var_decl(), and rebuild_initialization2::extract_var_decl_ppe().

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

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