aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-inline.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2019-03-08 10:20:12 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2019-03-08 10:20:12 +0000
commit94ec37a909697bbf29db73278c77621ccdf60693 (patch)
treeb688ace11870b78027045997e18c5e38315eddb7 /gcc/tree-inline.c
parent5d1504d42af6b12efeb83a2056424ceb1512961f (diff)
downloadgcc-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.c5
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);