mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-15 18:50:45 +08:00
[PR 91468] Small fixes in ipa-cp.c and ipa-prop.c
2019-08-28 Martin Jambor <mjambor@suse.cz> PR ipa/91468 * ipa-cp.c (merge_agg_lats_step): Removed redundant test, made a checking assert a normal assert to test it really is redundant. * ipa-prop.c (compute_complex_assign_jump_func): Removed redundant test. (update_jump_functions_after_inlining): Removed combining unary arithmetic operations with an ancestor jump function. (ipcp_modif_dom_walker::before_dom_children): Fix wrong use of rhs instead of t. From-SVN: r274992
This commit is contained in:
parent
a09b09ccee
commit
b66113e9c1
@ -1,3 +1,15 @@
|
||||
2019-08-28 Martin Jambor <mjambor@suse.cz>
|
||||
|
||||
PR ipa/91468
|
||||
* ipa-cp.c (merge_agg_lats_step): Removed redundant test, made a
|
||||
checking assert a normal assert to test it really is redundant.
|
||||
* ipa-prop.c (compute_complex_assign_jump_func): Removed
|
||||
redundant test.
|
||||
(update_jump_functions_after_inlining): Removed combining unary
|
||||
arithmetic operations with an ancestor jump function.
|
||||
(ipcp_modif_dom_walker::before_dom_children): Fix wrong use of rhs
|
||||
instead of t.
|
||||
|
||||
2019-08-28 Richard Biener <rguenther@suse.de>
|
||||
|
||||
* config/i386/i386-features.c (convert_scalars_to_vector): Do not
|
||||
|
@ -2026,15 +2026,13 @@ merge_agg_lats_step (class ipcp_param_lattices *dest_plats,
|
||||
|
||||
if (**aglat && (**aglat)->offset == offset)
|
||||
{
|
||||
if ((**aglat)->size != val_size
|
||||
|| ((**aglat)->next
|
||||
&& (**aglat)->next->offset < offset + val_size))
|
||||
if ((**aglat)->size != val_size)
|
||||
{
|
||||
set_agg_lats_to_bottom (dest_plats);
|
||||
return false;
|
||||
}
|
||||
gcc_checking_assert (!(**aglat)->next
|
||||
|| (**aglat)->next->offset >= offset + val_size);
|
||||
gcc_assert (!(**aglat)->next
|
||||
|| (**aglat)->next->offset >= offset + val_size);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
|
@ -1243,9 +1243,7 @@ compute_complex_assign_jump_func (struct ipa_func_body_info *fbi,
|
||||
break;
|
||||
}
|
||||
case GIMPLE_UNARY_RHS:
|
||||
if (is_gimple_assign (stmt)
|
||||
&& gimple_assign_rhs_class (stmt) == GIMPLE_UNARY_RHS
|
||||
&& ! CONVERT_EXPR_CODE_P (gimple_assign_rhs_code (stmt)))
|
||||
if (!CONVERT_EXPR_CODE_P (gimple_assign_rhs_code (stmt)))
|
||||
ipa_set_jf_unary_pass_through (jfunc, index,
|
||||
gimple_assign_rhs_code (stmt));
|
||||
default:;
|
||||
@ -2725,12 +2723,6 @@ update_jump_functions_after_inlining (struct cgraph_edge *cs,
|
||||
dst->value.ancestor.agg_preserved &=
|
||||
src->value.pass_through.agg_preserved;
|
||||
}
|
||||
else if (src->type == IPA_JF_PASS_THROUGH
|
||||
&& TREE_CODE_CLASS (src->value.pass_through.operation) == tcc_unary)
|
||||
{
|
||||
dst->value.ancestor.formal_id = src->value.pass_through.formal_id;
|
||||
dst->value.ancestor.agg_preserved = false;
|
||||
}
|
||||
else if (src->type == IPA_JF_ANCESTOR)
|
||||
{
|
||||
dst->value.ancestor.formal_id = src->value.ancestor.formal_id;
|
||||
@ -4933,7 +4925,7 @@ ipcp_modif_dom_walker::before_dom_children (basic_block bb)
|
||||
{
|
||||
/* V_C_E can do things like convert an array of integers to one
|
||||
bigger integer and similar things we do not handle below. */
|
||||
if (TREE_CODE (rhs) == VIEW_CONVERT_EXPR)
|
||||
if (TREE_CODE (t) == VIEW_CONVERT_EXPR)
|
||||
{
|
||||
vce = true;
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user