PandA-2024.02
Macros | Functions | Variables
FunctionCallOpt.cpp File Reference
#include "FunctionCallOpt.hpp"
#include "Dominance.hpp"
#include "Parameter.hpp"
#include "application_manager.hpp"
#include "basic_block.hpp"
#include "basic_blocks_graph_constructor.hpp"
#include "call_graph.hpp"
#include "call_graph_manager.hpp"
#include "dbgPrintHelper.hpp"
#include "design_flow_graph.hpp"
#include "design_flow_manager.hpp"
#include "ext_tree_node.hpp"
#include "function_behavior.hpp"
#include "hls.hpp"
#include "hls_manager.hpp"
#include "string_manipulation.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 <functional>
Include dependency graph for FunctionCallOpt.cpp:

Go to the source code of this file.

Macros

#define PARAMETER_INLINE_MAX_COST   "inline-max-cost"
 
#define DEAFULT_MAX_INLINE_CONST   60
 

Functions

static std::string __arg_suffix (const std::vector< tree_nodeRef > &tns)
 

Variables

static const std::set< std::string > inlinedFunctionByDefault {"__mul32", "__umul32", "__mul64", "__umul64"}
 
static CustomUnorderedMap< kind, size_top_costs
 

Detailed Description

Author
Michele Fiorito miche.nosp@m.le.f.nosp@m.iorit.nosp@m.o@po.nosp@m.limi..nosp@m.it $Revision$ $Date$ Last modified by $Author$

Definition in file FunctionCallOpt.cpp.

Macro Definition Documentation

◆ DEAFULT_MAX_INLINE_CONST

#define DEAFULT_MAX_INLINE_CONST   60

Definition at line 70 of file FunctionCallOpt.cpp.

◆ PARAMETER_INLINE_MAX_COST

#define PARAMETER_INLINE_MAX_COST   "inline-max-cost"

Definition at line 69 of file FunctionCallOpt.cpp.

Referenced by FunctionCallOpt::Initialize().

Function Documentation

◆ __arg_suffix()

static std::string __arg_suffix ( const std::vector< tree_nodeRef > &  tns)
static

Definition at line 87 of file FunctionCallOpt.cpp.

References GET_INDEX_CONST_NODE, tree_helper::IsConstant(), and STR.

Referenced by FunctionCallOpt::InternalExec().

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

Variable Documentation

◆ inlinedFunctionByDefault

const std::set<std::string> inlinedFunctionByDefault {"__mul32", "__umul32", "__mul64", "__umul64"}
static

Definition at line 77 of file FunctionCallOpt.cpp.

Referenced by FunctionCallOpt::Initialize().

◆ op_costs

CustomUnorderedMap<kind, size_t> op_costs
static
Initial value:
= {
{call_expr_K, 8}, {mult_expr_K, 3}, {widen_mult_expr_K, 3}, {widen_mult_hi_expr_K, 3},
{widen_mult_lo_expr_K, 3}, {trunc_div_expr_K, 3}, {exact_div_expr_K, 3}, {round_div_expr_K, 3},
{ceil_div_expr_K, 3}, {floor_div_expr_K, 3}, {trunc_mod_expr_K, 3}, {round_mod_expr_K, 3},
{ceil_mod_expr_K, 3}, {floor_mod_expr_K, 3}, {view_convert_expr_K, 0}, {convert_expr_K, 0},
{nop_expr_K, 0}, {ssa_name_K, 0}, {addr_expr_K, 0}, {bit_ior_concat_expr_K, 0},
{extract_bit_expr_K, 0}}

Definition at line 79 of file FunctionCallOpt.cpp.

Referenced by FunctionCallOpt::compute_cost().


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