https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122358
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Ever confirmed|0 |1
Last reconfirmed| |2025-10-21
Status|UNCONFIRMED |NEW
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #3)
> Re-reducing.
It is not much different from the reduced testcase already.
The assert is:
```
cgraph_edge **slot = e->caller->call_site_hash->find_slot_with_hash
(e->call_stmt, cgraph_edge_hasher::hash (e->call_stmt), INSERT);
if (*slot)
{
cgraph_edge *edge = (cgraph_edge *) *slot;
gcc_assert (edge->speculative || edge->has_callback);
if (edge->has_callback)
/* If the slot is already occupied, then the hashed edge is the
callback-carrying edge, which is desired behavior, so we can safely
return. */
gcc_checking_assert (edge == e);
```
Which gets me feeling the the call statement address is being reused ...