From db30281f0b2ff6dfc0c4146291baf020a27e4065 Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Mon, 18 Feb 2019 09:21:23 +0100 Subject: Come up with fast {function,call}_summary classes (PR ipa/89306). 2019-02-18 Martin Liska PR ipa/89306 * cgraph.c (symbol_table::create_edge): Set m_summary_id to -1 by default. (symbol_table::free_edge): Recycle m_summary_id. * cgraph.h (get_summary_id): New. (symbol_table::release_symbol): Set m_summary_id to -1 by default. (symbol_table::allocate_cgraph_symbol): Recycle m_summary_id. * ipa-fnsummary.c (ipa_fn_summary_t): Switch from function_summary to fast_function_summary. * ipa-fnsummary.h (ipa_fn_summary_t): Likewise. * ipa-pure-const.c (class funct_state_summary_t): Switch from function_summary to fast_function_summary. * ipa-reference.c (class ipa_ref_var_info_summary_t): Likewise. (class ipa_ref_opt_summary_t): Switch from function_summary to fast_function_summary. * symbol-summary.h (class function_summary_base): New class that is created from base of former function_summary. (function_summary_base::unregister_hooks): New. (class function_summary): Inherit from function_summary_base. (class call_summary_base): New class that is created from base of former call_summary. (class call_summary): Inherit from call_summary_base. (struct is_same): New. (class fast_function_summary): New summary class. (class fast_call_summary): New summary class. * vec.h (vec_safe_grow_cleared): New function. From-SVN: r268979 --- gcc/ipa-pure-const.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gcc/ipa-pure-const.c') diff --git a/gcc/ipa-pure-const.c b/gcc/ipa-pure-const.c index 3b3f2d8..bb561d0 100644 --- a/gcc/ipa-pure-const.c +++ b/gcc/ipa-pure-const.c @@ -128,11 +128,12 @@ typedef struct funct_state_d * funct_state; possibility that it may be desirable to move this to the cgraph local info. */ -class funct_state_summary_t: public function_summary +class funct_state_summary_t: + public fast_function_summary { public: funct_state_summary_t (symbol_table *symtab): - function_summary (symtab) {} + fast_function_summary (symtab) {} virtual void insert (cgraph_node *, funct_state_d *state); virtual void duplicate (cgraph_node *src_node, cgraph_node *dst_node, -- cgit v1.1