aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2007-02-04 18:58:26 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2007-02-04 17:58:26 +0000
commitbf3892af752e5a8db9f127808337ac448d9c6e65 (patch)
treeebf9b6a637e311e78230c745394e771d955d4685 /gcc
parent942fd98f6411e80db60c429d7ec3bae71351fd1c (diff)
downloadgcc-bf3892af752e5a8db9f127808337ac448d9c6e65.zip
gcc-bf3892af752e5a8db9f127808337ac448d9c6e65.tar.gz
gcc-bf3892af752e5a8db9f127808337ac448d9c6e65.tar.bz2
tree-sra.c (sra_walk_expr): Add linebreaks.
* tree-sra.c (sra_walk_expr): Add linebreaks. BITFIELD_REFs into vectors might cause maybe_lookup_element_for_expr to be called on non-sra-candidate. From-SVN: r121578
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/tree-sra.c9
2 files changed, 12 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 50aa8f1..af87922 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2007-02-04 Jan Hubicka <jh@suse.cz>
+
+ * tree-sra.c (sra_walk_expr): Add linebreaks. BITFIELD_REFs into
+ vectors might cause maybe_lookup_element_for_expr to be called
+ on non-sra-candidate.
+
2007-02-04 Kazu Hirata <kazu@codesourcery.com>
* config/bfin/bfin-modes.def, config/bfin/bfin.c,
diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c
index a2d28ca..03f9b59 100644
--- a/gcc/tree-sra.c
+++ b/gcc/tree-sra.c
@@ -793,10 +793,13 @@ sra_walk_expr (tree *expr_p, block_stmt_iterator *bsi, bool is_output,
/* A bit field reference to a specific vector is scalarized but for
ones for inputs need to be marked as used on the left hand size so
when we scalarize it, we can mark that variable as non renamable. */
- if (is_output && TREE_CODE (TREE_TYPE (TREE_OPERAND (inner, 0))) == VECTOR_TYPE)
+ if (is_output
+ && TREE_CODE (TREE_TYPE (TREE_OPERAND (inner, 0))) == VECTOR_TYPE)
{
- struct sra_elt *elt = maybe_lookup_element_for_expr (TREE_OPERAND (inner, 0));
- elt->is_vector_lhs = true;
+ struct sra_elt *elt
+ = maybe_lookup_element_for_expr (TREE_OPERAND (inner, 0));
+ if (elt)
+ elt->is_vector_lhs = true;
}
/* A bit field reference (access to *multiple* fields simultaneously)
is not currently scalarized. Consider this an access to the