The issue is shows up in  AutoFDO with:

    • Multiple speculative calls within a single function.
    • Complex interactions between the AutoFDO early-inliner, devirtualization, 
and indirect call transformation.
    • The ICE triggers when these calls are processed across different IPA 
passes that inadvertently disrupt the cgraph_edge linked-list adjacency.

See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123496

I have two patches that ensures the call-graph and call_site_hash invariants 
are maintained during edge creation/redirection.

First patch measure that we don't create the same  speculative edges are not 
adding from different optimisations
Send patch measure that the order is maintained.

Bootstrapped and regression tested with now new regressions on 
aarch64-linux-gnu with no new regressions.

Is this OK?

Thanks, 
Kugan

Reply via email to