ilasynth  1.0
ILASynth: Template-based ILA Synthesis Engine
funcReduct.hpp
Go to the documentation of this file.
1 // --------------------------------------------------------------
2 //
3 // Utilities for function reduction.
4 // To maintain only one copy of shared nodes
5 //
6 // --------------------------------------------------------------
7 
8 #ifndef __FUNCTION_REDUCTION_HPP_DEFINED__
9 #define __FUNCTION_REDUCTION_HPP_DEFINED__
10 
11 #include <ilasynth/ast.hpp>
12 namespace ilasynth {
14  typedef size_t FuncCode;
15  // unordered_map of ...
16  std::unordered_map<FuncCode, nptr_t> func_to_node_dict;
17 
18 public:
19  void ProcessAST(nptr_t&);
20  void InsertOrDupNode(nptr_t&);
22 };
23 } // namespace ilasynth
24 
25 #endif
void InsertOrDupNoRecursive(nptr_t &)
Definition: funcReduct.hpp:13
void ProcessAST(nptr_t &)
boost::shared_ptr< Node > nptr_t
Definition: node.hpp:24
std::unordered_map< FuncCode, nptr_t > func_to_node_dict
Definition: funcReduct.hpp:16
Definition: abstraction.hpp:21
void InsertOrDupNode(nptr_t &)
size_t FuncCode
Definition: funcReduct.hpp:14