aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vectorizer.c
diff options
context:
space:
mode:
authorDiego Novillo <dnovillo@redhat.com>2004-12-10 21:54:42 +0000
committerDiego Novillo <dnovillo@gcc.gnu.org>2004-12-10 16:54:42 -0500
commit7d5f9cc68fe1e0a920405fe49a0ea3fdf200971e (patch)
tree14bfdf7a466c4e8af2752e4d606db1e56d86b149 /gcc/tree-vectorizer.c
parentd49d090735d64081c451de95145981f9cf47ba6f (diff)
downloadgcc-7d5f9cc68fe1e0a920405fe49a0ea3fdf200971e.zip
gcc-7d5f9cc68fe1e0a920405fe49a0ea3fdf200971e.tar.gz
gcc-7d5f9cc68fe1e0a920405fe49a0ea3fdf200971e.tar.bz2
tree-into-ssa.c (REWRITE_THIS_STMT): Define.
* tree-into-ssa.c (REWRITE_THIS_STMT): Define. (mark_def_sites): Clear REWRITE_THIS_STMT for statements that don't need any operands rewritten. (rewrite_stmt): Ignore statements that don't need to be rewritten. (rewrite_operand): Validate that an existing SSA_NAME is identical to the current reaching definition of the operand. * tree-dfa.c (mark_call_clobbered_vars_to_rename): New function. * tree-vectorizer.c (vectorizable_load): Call it. * tree-flow.h (mark_call_clobbered_vars_to_rename): Declare. * tree-sra.c (mark_all_v_defs): Also mark VUSEs for renaming. From-SVN: r92010
Diffstat (limited to 'gcc/tree-vectorizer.c')
-rw-r--r--gcc/tree-vectorizer.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c
index 96ae3e2..c591d48 100644
--- a/gcc/tree-vectorizer.c
+++ b/gcc/tree-vectorizer.c
@@ -2643,6 +2643,10 @@ vectorizable_load (tree stmt, block_stmt_iterator *bsi, tree *vec_stmt)
new_bb = bsi_insert_on_edge_immediate (pe, new_stmt);
gcc_assert (!new_bb);
magic = TREE_OPERAND (new_stmt, 0);
+
+ /* Since we have just created a CALL_EXPR, we may need to
+ rename call-clobbered variables. */
+ mark_call_clobbered_vars_to_rename ();
}
else
{