aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-inline.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2019-03-07 14:53:37 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2019-03-07 14:53:37 +0000
commit5161ffa4f5ae6133167673afc607c07e0be787f8 (patch)
treeca7ad8acb532fbc7cd99febdb4553ecd19f65ca3 /gcc/tree-inline.c
parente0f7051e44e99d7e9f6b4d187abde5c09be5c77a (diff)
downloadgcc-5161ffa4f5ae6133167673afc607c07e0be787f8.zip
gcc-5161ffa4f5ae6133167673afc607c07e0be787f8.tar.gz
gcc-5161ffa4f5ae6133167673afc607c07e0be787f8.tar.bz2
re PR tree-optimization/89618 (Inner loop won't vectorize unless dummy statement is included)
2019-04-07 Richard Biener <rguenther@suse.de> PR middle-end/89618 * cfgloopmanip.c (copy_loop_info): Copy forgotten fields. * tree-inline.c (copy_loops): Simplify. * gcc.target/i386/pr89618.c: New testcase. From-SVN: r269458
Diffstat (limited to 'gcc/tree-inline.c')
-rw-r--r--gcc/tree-inline.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
index 9017da8..d3e53d2 100644
--- a/gcc/tree-inline.c
+++ b/gcc/tree-inline.c
@@ -2666,23 +2666,15 @@ copy_loops (copy_body_data *id,
/* Copy loop meta-data. */
copy_loop_info (src_loop, dest_loop);
+ if (dest_loop->unroll)
+ cfun->has_unroll = true;
+ if (dest_loop->force_vectorize)
+ cfun->has_force_vectorize_loops = true;
/* Finally place it into the loop array and the loop tree. */
place_new_loop (cfun, dest_loop);
flow_loop_tree_node_add (dest_parent, dest_loop);
- dest_loop->safelen = src_loop->safelen;
- if (src_loop->unroll)
- {
- dest_loop->unroll = src_loop->unroll;
- cfun->has_unroll = true;
- }
- dest_loop->dont_vectorize = src_loop->dont_vectorize;
- if (src_loop->force_vectorize)
- {
- dest_loop->force_vectorize = true;
- cfun->has_force_vectorize_loops = true;
- }
if (src_loop->simduid)
{
dest_loop->simduid = remap_decl (src_loop->simduid, id);