isra_func_summary *ifs = func_sums->get (node);
if (!ifs)
+ fprintf (f, " Function does not have any associated IPA-SRA "
+ "summary\n");
+ else
{
- fprintf (f, " Function does not have any associated IPA-SRA "
- "summary\n");
- continue;
- }
- if (!ifs->m_candidate)
- {
- fprintf (f, " Not a candidate function\n");
- continue;
+ if (!ifs->m_candidate)
+ {
+ fprintf (f, " Not a candidate function\n");
+ continue;
+ }
+ if (ifs->m_returns_value)
+ fprintf (f, " Returns value\n");
+ if (vec_safe_is_empty (ifs->m_parameters))
+ fprintf (f, " No parameter information. \n");
+ else
+ for (unsigned i = 0; i < ifs->m_parameters->length (); ++i)
+ {
+ fprintf (f, " Descriptor for parameter %i:\n", i);
+ dump_isra_param_descriptor (f, &(*ifs->m_parameters)[i]);
+ }
+ fprintf (f, "\n");
}
- if (ifs->m_returns_value)
- fprintf (f, " Returns value\n");
- if (vec_safe_is_empty (ifs->m_parameters))
- fprintf (f, " No parameter information. \n");
- else
- for (unsigned i = 0; i < ifs->m_parameters->length (); ++i)
- {
- fprintf (f, " Descriptor for parameter %i:\n", i);
- dump_isra_param_descriptor (f, &(*ifs->m_parameters)[i]);
- }
- fprintf (f, "\n");
struct cgraph_edge *cs;
for (cs = node->callees; cs; cs = cs->next_callee)
fprintf (dump_file, "Creating summary for %s/%i:\n", node->name (),
node->order);
if (!ipa_sra_preliminary_function_checks (node))
- return;
+ {
+ isra_analyze_all_outgoing_calls (node);
+ return;
+ }
gcc_obstack_init (&gensum_obstack);
isra_func_summary *ifs = func_sums->get_create (node);
ifs->m_candidate = true;