aboutsummaryrefslogtreecommitdiff
path: root/libjava/gnu/classpath/toolkit
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2026-02-05 12:30:50 +0100
committerJan Hubicka <hubicka@ucw.cz>2026-02-05 12:30:50 +0100
commit9765a730758e53f499004aad48646fb410e7fb6d (patch)
treec726b531a973dbaf8b2125374ca9afe482cbd0e5 /libjava/gnu/classpath/toolkit
parentbeac43c15e84d560aeaf26688b756283b7bf773f (diff)
downloadgcc-trunk.zip
gcc-trunk.tar.gz
gcc-trunk.tar.bz2
Fix speculative devirtualization ICEHEADtrunkmaster
this patch fixes cgraph verifier ICE about missing indirect call in the speculative call sequence. This is triggered when tree-inline manages to devirtualize call during folding it does and the call has multiple specualtive targets. cgraph_update_edges_for_call_stmt_node calls cgraph_edge::resolve_speculation which resolves one edge, but it should make the whole sequence direct which is done by cgraph_edge::make_direct. The code was also handling the case that call changed but it is not direct. This should be impossible (and would require similar updating) so I added unreachable. Bootstrapped/regtested x86_64-linux and also tested with autofdo and spec2017. gcc/ChangeLog: PR ipa/123226 * cgraph.cc (cgraph_update_edges_for_call_stmt_node): Fix handling of multi-target speculations resolved at clone materialization time
Diffstat (limited to 'libjava/gnu/classpath/toolkit')
0 files changed, 0 insertions, 0 deletions