aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-inline-analysis.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ipa-inline-analysis.c')
-rw-r--r--gcc/ipa-inline-analysis.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/gcc/ipa-inline-analysis.c b/gcc/ipa-inline-analysis.c
index bcdca5b..c4f9047 100644
--- a/gcc/ipa-inline-analysis.c
+++ b/gcc/ipa-inline-analysis.c
@@ -125,9 +125,9 @@ simple_edge_hints (struct cgraph_edge *edge)
struct cgraph_node *to = (edge->caller->global.inlined_to
? edge->caller->global.inlined_to : edge->caller);
struct cgraph_node *callee = edge->callee->ultimate_alias_target ();
- if (ipa_fn_summaries->get (to)->scc_no
- && ipa_fn_summaries->get (to)->scc_no
- == ipa_fn_summaries->get (callee)->scc_no
+ if (ipa_fn_summaries->get_create (to)->scc_no
+ && ipa_fn_summaries->get_create (to)->scc_no
+ == ipa_fn_summaries->get_create (callee)->scc_no
&& !edge->recursive_p ())
hints |= INLINE_HINT_same_scc;
@@ -157,7 +157,7 @@ do_estimate_edge_time (struct cgraph_edge *edge)
vec<tree> known_vals;
vec<ipa_polymorphic_call_context> known_contexts;
vec<ipa_agg_jump_function_p> known_aggs;
- struct ipa_call_summary *es = ipa_call_summaries->get (edge);
+ struct ipa_call_summary *es = ipa_call_summaries->get_create (edge);
int min_size;
callee = edge->callee->ultimate_alias_target ();
@@ -190,7 +190,7 @@ do_estimate_edge_time (struct cgraph_edge *edge)
/* When caching, update the cache entry. */
if (edge_growth_cache.exists ())
{
- ipa_fn_summaries->get (edge->callee)->min_size = min_size;
+ ipa_fn_summaries->get_create (edge->callee)->min_size = min_size;
if ((int) edge_growth_cache.length () <= edge->uid)
edge_growth_cache.safe_grow_cleared (symtab->edges_max_uid);
edge_growth_cache[edge->uid].time = time;
@@ -293,14 +293,15 @@ int
estimate_size_after_inlining (struct cgraph_node *node,
struct cgraph_edge *edge)
{
- struct ipa_call_summary *es = ipa_call_summaries->get (edge);
+ struct ipa_call_summary *es = ipa_call_summaries->get_create (edge);
+ ipa_fn_summary *s = ipa_fn_summaries->get_create (node);
if (!es->predicate || *es->predicate != false)
{
- int size = ipa_fn_summaries->get (node)->size + estimate_edge_growth (edge);
+ int size = s->size + estimate_edge_growth (edge);
gcc_assert (size >= 0);
return size;
}
- return ipa_fn_summaries->get (node)->size;
+ return s->size;
}
@@ -349,7 +350,7 @@ int
estimate_growth (struct cgraph_node *node)
{
struct growth_data d = { node, false, false, 0 };
- struct ipa_fn_summary *info = ipa_fn_summaries->get (node);
+ struct ipa_fn_summary *info = ipa_fn_summaries->get_create (node);
node->call_for_symbol_and_aliases (do_estimate_growth_1, &d, true);
@@ -424,7 +425,7 @@ growth_likely_positive (struct cgraph_node *node,
|| node->address_taken)
return true;
- max_callers = ipa_fn_summaries->get (node)->size * 4 / edge_growth + 2;
+ max_callers = ipa_fn_summaries->get_create (node)->size * 4 / edge_growth + 2;
for (e = node->callers; e; e = e->next_caller)
{