diff options
author | Martin Jambor <mjambor@suse.cz> | 2019-03-18 12:28:01 +0100 |
---|---|---|
committer | Martin Jambor <jamborm@gcc.gnu.org> | 2019-03-18 12:28:01 +0100 |
commit | cfce6e055d98cf55a912dfe814d48a331ec2eee9 (patch) | |
tree | f503ed0e9c71e2b6d7bb8244dcf11f98b8ef3659 /gcc/tree-sra.c | |
parent | 4d7dfada8935a362601d1782bd6598e3e1d78d74 (diff) | |
download | gcc-cfce6e055d98cf55a912dfe814d48a331ec2eee9.zip gcc-cfce6e055d98cf55a912dfe814d48a331ec2eee9.tar.gz gcc-cfce6e055d98cf55a912dfe814d48a331ec2eee9.tar.bz2 |
Add forgotten requeing in propagate_subaccesses_across_link
2019-03-18 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/89546
* tree-sra.c (propagate_subaccesses_across_link): Requeue new_acc if
any propagation to its children took place.
testsuite/
* gcc.dg/tree-ssa/pr89546.c: New test.
From-SVN: r269761
Diffstat (limited to 'gcc/tree-sra.c')
-rw-r--r-- | gcc/tree-sra.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c index ca3858d..fd51a3d 100644 --- a/gcc/tree-sra.c +++ b/gcc/tree-sra.c @@ -2752,8 +2752,12 @@ propagate_subaccesses_across_link (struct access *lacc, struct access *racc) rchild->grp_hint = 1; new_acc->grp_hint |= new_acc->grp_read; - if (rchild->first_child) - ret |= propagate_subaccesses_across_link (new_acc, rchild); + if (rchild->first_child + && propagate_subaccesses_across_link (new_acc, rchild)) + { + ret = 1; + add_access_to_work_queue (new_acc); + } } else { |