diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2013-12-17 11:26:59 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2013-12-17 10:26:59 +0000 |
commit | 61dd6a2e33c0811de2ade0363fc664221392b9fc (patch) | |
tree | 4d856e80811b852c42ef9f8f19bba037088ea175 /gcc/ipa-utils.h | |
parent | 2477c234e2d89f875e19d4b6d112b7c321b46a55 (diff) | |
download | gcc-61dd6a2e33c0811de2ade0363fc664221392b9fc.zip gcc-61dd6a2e33c0811de2ade0363fc664221392b9fc.tar.gz gcc-61dd6a2e33c0811de2ade0363fc664221392b9fc.tar.bz2 |
devirt-13.C: Update template.
* g++.dg/ipa/devirt-13.C: Update template.
* ipa-utils.h (possible_polymorphic_call_targets): Determine context of
the call.
* gimple-fold.c (gimple_fold_call): Use ipa-devirt to devirtualize.
From-SVN: r206042
Diffstat (limited to 'gcc/ipa-utils.h')
-rw-r--r-- | gcc/ipa-utils.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ipa-utils.h b/gcc/ipa-utils.h index b527425..480b752 100644 --- a/gcc/ipa-utils.h +++ b/gcc/ipa-utils.h @@ -121,10 +121,17 @@ possible_polymorphic_call_targets (tree call, bool *final = NULL, void **cache_token = NULL) { + tree otr_type; + HOST_WIDE_INT otr_token; + ipa_polymorphic_call_context context; + + get_polymorphic_call_info (current_function_decl, + call, + &otr_type, &otr_token, &context); return possible_polymorphic_call_targets (obj_type_ref_class (call), tree_to_uhwi (OBJ_TYPE_REF_TOKEN (call)), - ipa_dummy_polymorphic_call_context, + context, final, cache_token); } |