aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-sra.c
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2005-03-30 16:58:26 -0800
committerDevang Patel <dpatel@gcc.gnu.org>2005-03-30 16:58:26 -0800
commitae7f3734d5e1a4aa88fe8b25d553e57d161ee681 (patch)
tree74da652d261bc868451481842f3c2ef76afa1b8e /gcc/tree-sra.c
parent9ba8c99d67124633c8a423e0b9f6091097779255 (diff)
downloadgcc-ae7f3734d5e1a4aa88fe8b25d553e57d161ee681.zip
gcc-ae7f3734d5e1a4aa88fe8b25d553e57d161ee681.tar.gz
gcc-ae7f3734d5e1a4aa88fe8b25d553e57d161ee681.tar.bz2
tree-sra.c (decide_block_copy): Disable scalarization of sub-elements.
* tree-sra.c (decide_block_copy): Disable scalarization of sub-elements. * g++.dg/tree-sra/ssa-sra-3.C: New test. From-SVN: r97301
Diffstat (limited to 'gcc/tree-sra.c')
-rw-r--r--gcc/tree-sra.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c
index f8aeebe..2fb23bd 100644
--- a/gcc/tree-sra.c
+++ b/gcc/tree-sra.c
@@ -1299,6 +1299,12 @@ decide_block_copy (struct sra_elt *elt)
fputc ('\n', dump_file);
}
+ /* Disable scalarization of sub-elements */
+ for (c = elt->children; c; c = c->sibling)
+ {
+ c->cannot_scalarize = 1;
+ decide_block_copy (c);
+ }
return false;
}