[Bug ipa/105160] [12 regression] ipa modref marks functions with asm volatile as const or pure
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Apr 5 12:30:38 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105160
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Hmm, we ignore inlined edges during propagation!?
for (cgraph_edge *callee_edge = cur->callees; callee_edge;
callee_edge = callee_edge->next_callee)
{
int flags = flags_from_decl_or_type (callee_edge->callee->decl);
modref_summary *callee_summary = NULL;
modref_summary_lto *callee_summary_lto = NULL;
struct cgraph_node *callee;
if (!callee_edge->inline_failed
|| ((flags & (ECF_CONST | ECF_NOVOPS))
&& !(flags & ECF_LOOPING_CONST_OR_PURE)))
continue;
but we also ignore calls during local analysis in IPA mode. Where are we
supposed to factor in flags from inline clones? Is the IPA inline pass
supposed to update summaries somehow?
More information about the Gcc-bugs
mailing list