aboutsummaryrefslogtreecommitdiff
path: root/gcc/cgraphclones.c
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2014-10-03 21:52:11 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2014-10-03 19:52:11 +0000
commitf9bb202b35f949eecb48adf75f9a0c5b117978d2 (patch)
tree985ae03907469842ffadf25aece38775da66d63a /gcc/cgraphclones.c
parent8a5b2f56c4c9d80c8ac2c31c82304681f4e9da80 (diff)
downloadgcc-f9bb202b35f949eecb48adf75f9a0c5b117978d2.zip
gcc-f9bb202b35f949eecb48adf75f9a0c5b117978d2.tar.gz
gcc-f9bb202b35f949eecb48adf75f9a0c5b117978d2.tar.bz2
cgraph.h (struct indirect_call_info): Add IN_POLYMORPHIC_CDTOR
* cgraph.h (struct indirect_call_info): Add IN_POLYMORPHIC_CDTOR * lto-cgraph.c (lto_output_edge, input_edge): Stream in_polymorphic_cdtor * cgraph.c (symbol_table::create_edge): Compute in_polymorphic_cdtor. (cgraph_edge::make_speculative): Copy in_polymorphic_cdtor. * cgraphclones.c (cgraph_edge::clone): Likewise. * ipa-prop.c (update_jump_functions_after_inlining, try_make_edge_direct_virtual_call): Pass in_polymorphic_cdtor to possible_dynamic_type_change. (decl_maybe_in_construction_p): Allow empty OUTER_TYPE and BASE. (ipa_polymorphic_call_context::possible_dynamic_type_change): Add IN_POLY_CDOTR argument. From-SVN: r215871
Diffstat (limited to 'gcc/cgraphclones.c')
-rw-r--r--gcc/cgraphclones.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/cgraphclones.c b/gcc/cgraphclones.c
index 37b234f..c487c13 100644
--- a/gcc/cgraphclones.c
+++ b/gcc/cgraphclones.c
@@ -159,6 +159,7 @@ cgraph_edge::clone (cgraph_node *n, gimple call_stmt, unsigned stmt_uid,
new_edge->can_throw_external = can_throw_external;
new_edge->call_stmt_cannot_inline_p = call_stmt_cannot_inline_p;
new_edge->speculative = speculative;
+ new_edge->in_polymorphic_cdtor = in_polymorphic_cdtor;
if (update_original)
{
count -= new_edge->count;