https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96394
--- Comment #22 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-10 branch has been updated by Martin Jambor <jamb...@gcc.gnu.org>: https://gcc.gnu.org/g:a9e64bb6d0801f29d65f357f90e6d7a2daeb6ca9 commit r10-8897-ga9e64bb6d0801f29d65f357f90e6d7a2daeb6ca9 Author: Martin Jambor <mjam...@suse.cz> Date: Wed Oct 7 14:12:49 2020 +0200 ipa-prop: Fix multiple-target speculation resolution As the FIXME which this patch removes states, the current code does not work when a call with multiple speculative targets gets resolved through parameter tracking during inlining - it feeds the inliner an edge it has already dealt with. The patch makes the code which should prevent it aware of the possibility that that speculation can have more than one target now. gcc/ChangeLog: 2020-09-30 Martin Jambor <mjam...@suse.cz> PR ipa/96394 * ipa-prop.c (update_indirect_edges_after_inlining): Do not add resolved speculation edges to vector of new direct edges even in presence of multiple speculative direct edges for a single call. gcc/testsuite/ChangeLog: 2020-09-30 Martin Jambor <mjam...@suse.cz> PR ipa/96394 * gcc.dg/tree-prof/pr96394.c: New test. (cherry picked from commit e089e43365f7f2a90979e2316aea25d44823f5a3)