summaryrefslogtreecommitdiff
path: root/gcc/ipa-cp.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2013-08-16 14:38:04 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2013-08-16 12:38:04 +0000
commitc49bdb2ee934ab6efddbf9284cba5c76f6f3dd28 (patch)
tree71b7f3809446131bd9d0c013ed500b7b38f3350e /gcc/ipa-cp.c
parent4042dca916ad7f5a99438e37416d4fed2209cc6d (diff)
downloadgcc-c49bdb2ee934ab6efddbf9284cba5c76f6f3dd28.tar.gz
gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Add new arugment expected_type.
* gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Add new arugment expected_type. (gimple_fold_call): Use it. * gimple.h (gimple_extract_devirt_binfo_from_cst): Update prototype. * ipa-cp.c (ipa_get_indirect_edge_target_1): Update. * ipa-prop.c (ipa_analyze_virtual_call_uses): Use obj_type_ref_class. (try_make_edge_direct_virtual_call): Likewise. * tree.c (obj_type_ref_class): New. * tree.h (obj_type_ref_class): Use it. From-SVN: r201789
Diffstat (limited to 'gcc/ipa-cp.c')
-rw-r--r--gcc/ipa-cp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c
index a52bf7f5524..312672cc49f 100644
--- a/gcc/ipa-cp.c
+++ b/gcc/ipa-cp.c
@@ -1541,7 +1541,8 @@ ipa_get_indirect_edge_target_1 (struct cgraph_edge *ie,
if (TREE_CODE (t) != TREE_BINFO)
{
tree binfo;
- binfo = gimple_extract_devirt_binfo_from_cst (t);
+ binfo = gimple_extract_devirt_binfo_from_cst
+ (t, ie->indirect_info->otr_type);
if (!binfo)
return NULL_TREE;
binfo = get_binfo_at_offset (binfo, anc_offset, otr_type);