re PR middle-end/50628 (gfortran.fortran-torture/execute/entry_4.f90 fails)
2011-12-13 Martin Jambor <mjambor@suse.cz> PR middle-end/50628 * tree-sra.c (propagate_subaccesses_across_link): Do not propagate sub-accesses of scalar accesses. From-SVN: r182289
This commit is contained in:
parent
0318fc7749
commit
d370518679
|
@ -1,3 +1,9 @@
|
||||||
|
2011-12-13 Martin Jambor <mjambor@suse.cz>
|
||||||
|
|
||||||
|
PR middle-end/50628
|
||||||
|
* tree-sra.c (propagate_subaccesses_across_link): Do not propagate
|
||||||
|
sub-accesses of scalar accesses.
|
||||||
|
|
||||||
2011-12-13 Martin Jambor <mjambor@suse.cz>
|
2011-12-13 Martin Jambor <mjambor@suse.cz>
|
||||||
|
|
||||||
PR tree-optimization/51362
|
PR tree-optimization/51362
|
||||||
|
|
|
@ -2266,21 +2266,23 @@ propagate_subaccesses_across_link (struct access *lacc, struct access *racc)
|
||||||
|| racc->grp_unscalarizable_region)
|
|| racc->grp_unscalarizable_region)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (!lacc->first_child && !racc->first_child
|
if (is_gimple_reg_type (racc->type))
|
||||||
&& is_gimple_reg_type (racc->type))
|
|
||||||
{
|
{
|
||||||
tree t = lacc->base;
|
if (!lacc->first_child && !racc->first_child)
|
||||||
|
|
||||||
lacc->type = racc->type;
|
|
||||||
if (build_user_friendly_ref_for_offset (&t, TREE_TYPE (t), lacc->offset,
|
|
||||||
racc->type))
|
|
||||||
lacc->expr = t;
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
lacc->expr = build_ref_for_model (EXPR_LOCATION (lacc->base),
|
tree t = lacc->base;
|
||||||
lacc->base, lacc->offset,
|
|
||||||
racc, NULL, false);
|
lacc->type = racc->type;
|
||||||
lacc->grp_no_warning = true;
|
if (build_user_friendly_ref_for_offset (&t, TREE_TYPE (t),
|
||||||
|
lacc->offset, racc->type))
|
||||||
|
lacc->expr = t;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
lacc->expr = build_ref_for_model (EXPR_LOCATION (lacc->base),
|
||||||
|
lacc->base, lacc->offset,
|
||||||
|
racc, NULL, false);
|
||||||
|
lacc->grp_no_warning = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue