GCC Middle and Back End API Reference
ipa_call_context Class Reference

#include <ipa-fnsummary.h>

Inheritance diagram for ipa_call_context:
Collaboration diagram for ipa_call_context:

Public Member Functions

 ipa_call_context (cgraph_node *node, clause_t possible_truths, clause_t nonspec_possible_truths, vec< inline_param_summary > inline_param_summary, ipa_auto_call_arg_values *arg_values)
 
 ipa_call_context ()
 
void estimate_size_and_time (ipa_call_estimates *estimates, bool est_times=true, bool est_hints=true)
 
bool equal_to (const ipa_call_context &)
 
bool exists_p ()
 

Private Attributes

cgraph_nodem_node
 
clause_t m_possible_truths
 
clause_t m_nonspec_possible_truths
 
vec< inline_param_summarym_inline_param_summary
 
ipa_call_arg_values m_avals
 
friend ipa_cached_call_context
 

Detailed Description

This object describe a context of call.  That is a summary of known
information about its parameters.  Main purpose of this context is
to give more realistic estimations of function runtime, size and
inline hints.   

Constructor & Destructor Documentation

◆ ipa_call_context() [1/2]

ipa_call_context::ipa_call_context ( cgraph_node * node,
clause_t possible_truths,
clause_t nonspec_possible_truths,
vec< inline_param_summary > inline_param_summary,
ipa_auto_call_arg_values * arg_values )
Main constructor for ipa call context.  Memory allocation of ARG_VALUES
is owned by the caller.  INLINE_PARAM_SUMMARY is also owned by the
caller.   

◆ ipa_call_context() [2/2]

ipa_call_context::ipa_call_context ( )
inline

Member Function Documentation

◆ equal_to()

◆ estimate_size_and_time()

void ipa_call_context::estimate_size_and_time ( ipa_call_estimates * estimates,
bool est_times = true,
bool est_hints = true )

◆ exists_p()

bool ipa_call_context::exists_p ( )
inline

References m_node, and NULL.

Referenced by do_estimate_edge_time().

Field Documentation

◆ ipa_cached_call_context

friend ipa_call_context::ipa_cached_call_context
private

◆ m_avals

◆ m_inline_param_summary

◆ m_node

◆ m_nonspec_possible_truths

clause_t ipa_call_context::m_nonspec_possible_truths
private

◆ m_possible_truths

clause_t ipa_call_context::m_possible_truths
private

The documentation for this class was generated from the following files: