summaryrefslogtreecommitdiff
path: root/gcc/ipa-utils.h
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2013-12-17 10:26:59 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2013-12-17 10:26:59 +0000
commit76058579466865b1b832b659a3d6b09cb84394a7 (patch)
tree4d856e80811b852c42ef9f8f19bba037088ea175 /gcc/ipa-utils.h
parent9f484185af054bcf345c2859d862056e6d8d21eb (diff)
downloadgcc-76058579466865b1b832b659a3d6b09cb84394a7.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206042 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ipa-utils.h')
-rw-r--r--gcc/ipa-utils.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ipa-utils.h b/gcc/ipa-utils.h
index b52742517ca..480b7529bed 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);
}