diff options
author | Richard Biener <rguenther@suse.de> | 2019-03-08 10:20:12 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2019-03-08 10:20:12 +0000 |
commit | 94ec37a909697bbf29db73278c77621ccdf60693 (patch) | |
tree | b688ace11870b78027045997e18c5e38315eddb7 /gcc/tree-inline.c | |
parent | 5d1504d42af6b12efeb83a2056424ceb1512961f (diff) | |
download | gcc-94ec37a909697bbf29db73278c77621ccdf60693.zip gcc-94ec37a909697bbf29db73278c77621ccdf60693.tar.gz gcc-94ec37a909697bbf29db73278c77621ccdf60693.tar.bz2 |
re PR target/89578 (5% runtime regression for 481.wrf at -Ofast -flto)
2019-03-08 Richard Biener <rguenther@suse.de>
PR middle-end/89578
* cfgloop.h (struct loop): Add owned_clique field.
* cfgloopmanip.c (copy_loop_info): Copy it.
* tree-cfg.c (gimple_duplicate_bb): Do not remap owned_clique
cliques.
* tree-inline.c (copy_loops): Remap owned_clique.
* lto-streamer-in.c (input_cfg): Stream owned_clique.
* lto-streamer-out.c (output_cfg): Likewise.
From-SVN: r269484
Diffstat (limited to 'gcc/tree-inline.c')
-rw-r--r-- | gcc/tree-inline.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index d3e53d2..956e39f 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -2670,6 +2670,11 @@ copy_loops (copy_body_data *id, cfun->has_unroll = true; if (dest_loop->force_vectorize) cfun->has_force_vectorize_loops = true; + if (id->src_cfun->last_clique != 0) + dest_loop->owned_clique + = remap_dependence_clique (id, + src_loop->owned_clique + ? src_loop->owned_clique : 1); /* Finally place it into the loop array and the loop tree. */ place_new_loop (cfun, dest_loop); |