| GCC Middle and Back End API Reference
    | 
#include <ipa-fnsummary.h>

| Public Member Functions | |
| ipa_fn_summary () | |
| ipa_fn_summary (const ipa_fn_summary &s) | |
| ~ipa_fn_summary () | |
| void | account_size_time (int, sreal, const ipa_predicate &, const ipa_predicate &, bool call=false) | 
| Data Fields | |
| int | min_size | 
| unsigned | inlinable: 1 | 
| unsigned int | single_caller: 1 | 
| unsigned int | fp_expressions: 1 | 
| unsigned int | safe_to_inline_to_always_inline: 2 | 
| unsigned int | target_info | 
| HOST_WIDE_INT | estimated_stack_size | 
| sreal | time | 
| conditions | conds | 
| auto_vec< size_time_entry > | size_time_table | 
| vec< size_time_entry, va_heap, vl_ptr > | call_size_time_table | 
| vec< ipa_freqcounting_predicate, va_gc > * | loop_iterations | 
| vec< ipa_freqcounting_predicate, va_gc > * | loop_strides | 
| vec< int, va_heap, vl_ptr > | builtin_constant_p_parms | 
| int | growth | 
| int | scc_no | 
| Static Public Attributes | |
| static const int | size_scale = 2 | 
| static const int | max_size_time_table_size = 256 | 
Function inlining information.
| 
 | inline | 
References builtin_constant_p_parms, call_size_time_table, conds, estimated_stack_size, false, fp_expressions, growth, inlinable, loop_iterations, loop_strides, min_size, NULL, safe_to_inline_to_always_inline, scc_no, single_caller, size_time_table, target_info, time, and vNULL.
Referenced by ipa_fn_summary().
| 
 | inline | 
| ipa_fn_summary::~ipa_fn_summary | ( | ) | 
References builtin_constant_p_parms, call_size_time_table, conds, edge_predicate_pool, i, loop_iterations, loop_strides, vec_free(), and vec_safe_length().
| void ipa_fn_summary::account_size_time | ( | int | size, | 
| sreal | time, | ||
| const ipa_predicate & | exec_pred, | ||
| const ipa_predicate & | nonconst_pred_in, | ||
| bool | call = false ) | 
Record SIZE and TIME to SUMMARY. The accounted code will be executed when EXEC_PRED is true. When NONCONST_PRED is false the code will evaluate to constant and will get optimized out in specialized clones of the function. If CALL is true account to call_size_time_table rather than size_time_table.
References call_size_time_table, conds, ipa_predicate::dump(), dump_file, dump_flags, size_time_entry::exec_predicate, gcc_checking_assert, i, max_size_time_table_size, size_time_entry::nonconst_predicate, size_time_entry::size, size_scale, size_time_table, table, TDF_DETAILS, time, and size_time_entry::time.
Referenced by analyze_function_body(), compute_fn_summary(), ipa_fn_summary_t::duplicate(), estimate_calls_size_and_time(), ipa_merge_fn_summary_after_inlining(), and summarize_calls_size_and_time().
| vec<size_time_entry, va_heap, vl_ptr> ipa_fn_summary::call_size_time_table | 
| conditions ipa_fn_summary::conds | 
Referenced by account_size_time(), add_condition(), compute_bb_predicates(), dump_ipa_call_summary(), ipa_fn_summary_t::duplicate(), ipa_call_context::estimate_size_and_time(), evaluate_conditions_for_known_args(), evaluate_properties_for_edge(), inline_read_section(), ipa_fn_summary(), ipa_fn_summary(), ipa_fn_summary_write(), ipa_merge_fn_summary_after_inlining(), predicate_for_phi_result(), ipa_predicate::remap_after_inlining(), set_switch_stmt_execution_predicate(), will_be_nonconstant_expr_predicate(), will_be_nonconstant_predicate(), and ~ipa_fn_summary().
| HOST_WIDE_INT ipa_fn_summary::estimated_stack_size | 
| unsigned int ipa_fn_summary::fp_expressions | 
| int ipa_fn_summary::growth | 
Referenced by edge_badness(), inline_small_functions(), ipa_fn_summary(), and ipa_fn_summary().
| unsigned ipa_fn_summary::inlinable | 
| vec<ipa_freqcounting_predicate, va_gc>* ipa_fn_summary::loop_iterations | 
| vec<ipa_freqcounting_predicate, va_gc>* ipa_fn_summary::loop_strides | 
| 
 | static | 
Referenced by account_size_time(), and estimate_calls_size_and_time().
| int ipa_fn_summary::min_size | 
| unsigned int ipa_fn_summary::safe_to_inline_to_always_inline | 
Referenced by can_early_inline_edge_p(), and ipa_fn_summary().
| int ipa_fn_summary::scc_no | 
Referenced by ipa_call_context::estimate_size_and_time(), inline_small_functions(), ipa_fn_summary(), and ipa_fn_summary().
| unsigned int ipa_fn_summary::single_caller | 
Referenced by edge_badness(), inline_small_functions(), ipa_fn_summary(), and ipa_fn_summary().
| 
 | static | 
| auto_vec<size_time_entry> ipa_fn_summary::size_time_table | 
| unsigned int ipa_fn_summary::target_info | 
| sreal ipa_fn_summary::time |