https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105160
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |hubicka at gcc dot gnu.org --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- The odd thing is that during IPA propagation (modref_propagate_in_scc), the summary of sctlr_read is (gdb) p *cur_summary $2 = {loads = 0x7ffff665af00, stores = 0x7ffff665af10, kills = {<vec<modref_access_node, va_heap, vl_ptr>> = { m_vec = 0x0}, <No data fields>}, arg_flags = {<vec<unsigned short, va_heap, vl_ptr>> = { m_vec = 0x0}, <No data fields>}, retslot_flags = 0, static_chain_flags = 0, writes_errno = 0, side_effects = 0, nondeterministic = 0, calls_interposable = 0, load_accesses = 0, global_memory_read = 0, global_memory_written = 0, try_dse = 1} which is because we access the summary of cur->inlined_to (sctlr_rmw) here but that hasn't been processed. But the non-inlined node doesn't have a summary. So somehow we fail to merge the info from the inlined clones? But even using ->clone_of instead of ->inlined_to doesn't make a difference (no summary for that node either). Something is wrong. Honza?