diff options
author | Jan Hubicka <jh@suse.cz> | 2007-02-04 18:58:26 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2007-02-04 17:58:26 +0000 |
commit | bf3892af752e5a8db9f127808337ac448d9c6e65 (patch) | |
tree | ebf9b6a637e311e78230c745394e771d955d4685 /gcc/tree-sra.c | |
parent | 942fd98f6411e80db60c429d7ec3bae71351fd1c (diff) | |
download | gcc-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/tree-sra.c')
-rw-r--r-- | gcc/tree-sra.c | 9 |
1 files changed, 6 insertions, 3 deletions
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 |