mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-08 14:41:14 +08:00
gimple-fold.c (fold_gimple_assign): Fix condition guarding ipa-devirt path; fix thinko there.
* gimple-fold.c (fold_gimple_assign): Fix condition guarding ipa-devirt path; fix thinko there. From-SVN: r213150
This commit is contained in:
parent
eb5453a590
commit
f8a39967a5
@ -1,3 +1,8 @@
|
||||
2014-07-28 Jan Hubicka <hubicka@ucw.cz>
|
||||
|
||||
* gimple-fold.c (fold_gimple_assign): Fix condition guarding
|
||||
ipa-devirt path; fix thinko there.
|
||||
|
||||
2014-07-28 Trevor Saunders <tsaunders@mozilla.com>
|
||||
|
||||
* config/i386/i386.c (ix86_return_in_memory): replace one
|
||||
|
@ -372,11 +372,11 @@ fold_gimple_assign (gimple_stmt_iterator *si)
|
||||
tree val = OBJ_TYPE_REF_EXPR (rhs);
|
||||
if (is_gimple_min_invariant (val))
|
||||
return val;
|
||||
else if (flag_devirtualize && virtual_method_call_p (val))
|
||||
else if (flag_devirtualize && virtual_method_call_p (rhs))
|
||||
{
|
||||
bool final;
|
||||
vec <cgraph_node *>targets
|
||||
= possible_polymorphic_call_targets (val, stmt, &final);
|
||||
= possible_polymorphic_call_targets (rhs, stmt, &final);
|
||||
if (final && targets.length () <= 1 && dbg_cnt (devirt))
|
||||
{
|
||||
tree fndecl;
|
||||
@ -395,7 +395,8 @@ fold_gimple_assign (gimple_stmt_iterator *si)
|
||||
? targets[0]->name ()
|
||||
: "__builtin_unreachable");
|
||||
}
|
||||
val = fold_convert (TREE_TYPE (val), fndecl);
|
||||
val = fold_convert (TREE_TYPE (val),
|
||||
build_fold_addr_expr_loc (loc, fndecl));
|
||||
STRIP_USELESS_TYPE_CONVERSION (val);
|
||||
return val;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user