mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-21 15:40:55 +08:00
re PR bootstrap/58186 (LTO profiledbootstrap fails in stage feedback for fortran/frontend-passes.c with "edge ... has no corresponding call_stmt")
PR bootstrap/58186 * cgraph.c (cgraph_add_edge_to_call_site_hash): Overwrite hash entry for direct edges. (cgraph_turn_edge_to_speculative): Fix setting of can_throw_external. From-SVN: r201891
This commit is contained in:
parent
8bc16536d6
commit
bfa3b50aab
@ -1,3 +1,10 @@
|
||||
2013-08-20 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
PR bootstrap/58186
|
||||
* cgraph.c (cgraph_add_edge_to_call_site_hash): Overwrite hash
|
||||
entry for direct edges.
|
||||
(cgraph_turn_edge_to_speculative): Fix setting of can_throw_external.
|
||||
|
||||
2013-08-20 David Malcolm <dmalcolm@redhat.com>
|
||||
|
||||
Revert my last two changes, r201865 and r201864:
|
||||
|
@ -701,6 +701,8 @@ cgraph_add_edge_to_call_site_hash (struct cgraph_edge *e)
|
||||
if (*slot)
|
||||
{
|
||||
gcc_assert (((struct cgraph_edge *)*slot)->speculative);
|
||||
if (e->callee)
|
||||
*slot = e;
|
||||
return;
|
||||
}
|
||||
gcc_assert (!*slot || e->speculative);
|
||||
@ -1083,8 +1085,10 @@ cgraph_turn_edge_to_speculative (struct cgraph_edge *e,
|
||||
e2 = cgraph_create_edge (n, n2, e->call_stmt, direct_count, direct_frequency);
|
||||
initialize_inline_failed (e2);
|
||||
e2->speculative = true;
|
||||
e2->call_stmt = e->call_stmt;
|
||||
e2->can_throw_external = e->can_throw_external;
|
||||
if (TREE_NOTHROW (n2->symbol.decl))
|
||||
e2->can_throw_external = false;
|
||||
else
|
||||
e2->can_throw_external = e->can_throw_external;
|
||||
e2->lto_stmt_uid = e->lto_stmt_uid;
|
||||
e->count -= e2->count;
|
||||
e->frequency -= e2->frequency;
|
||||
|
Loading…
x
Reference in New Issue
Block a user