+2019-11-20 Alexandre Oliva <oliva@adacore.com>
+
+ * function.h (CALLEE_FROM_CGRAPH_P): Remove.
+ * function.c (record_final_call): Record even calls that might
+ have been in the cgraph.
+ * toplev.c (dump_final_node_vcg): Skip iteration over cgraph
+ callees.
+
2019-11-20 Janne Blomqvist <jb@gcc.gnu.org>
* configure.ac: Use https for gcc.gnu.org
void
record_final_call (tree callee, location_t location)
{
- if (!callee || CALLEE_FROM_CGRAPH_P (callee))
- return;
-
struct callinfo_callee datum = { location, callee };
vec_safe_push (cfun->su->callees, datum);
}
poly_int64 length;
};
-/* Describe emitted builtin calls for -fcallgraph-info. Those that
- are not builtin are taken from cgraph edges. */
+/* Describe emitted calls for -fcallgraph-info. */
struct GTY(()) callinfo_callee
{
location_t location;
tree decl;
};
-#define CALLEE_FROM_CGRAPH_P(T) \
- (!fndecl_built_in_p (T) && !DECL_IS_BUILTIN (T))
/* Describe dynamic allocation for -fcallgraph-info=da. */
struct GTY(()) callinfo_dalloc
dump_final_callee_vcg (f, c->location, c->decl);
vec_free (cfun->su->callees);
cfun->su->callees = NULL;
-
- cgraph_node *cnode = cgraph_node::get (current_function_decl);
- for (cgraph_edge *e = cnode->callees; e; e = e->next_callee)
- if (CALLEE_FROM_CGRAPH_P (e->callee->decl))
- dump_final_callee_vcg (f, gimple_location (e->call_stmt),
- e->callee->decl);
- for (cgraph_edge *e = cnode->indirect_calls; e; e = e->next_callee)
- dump_final_callee_vcg (f, gimple_location (e->call_stmt), NULL);
}
/* Output stack usage and callgraph info, as requested. */