summaryrefslogtreecommitdiff
path: root/gcc/tree-vectorizer.c
diff options
context:
space:
mode:
authordnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4>2004-12-10 21:54:42 +0000
committerdnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4>2004-12-10 21:54:42 +0000
commit6cf80e5bfc3562e1b03f78fa335b966b93e03b11 (patch)
tree14bfdf7a466c4e8af2752e4d606db1e56d86b149 /gcc/tree-vectorizer.c
parent4927c18d5ba4cf974253d1d378c94f21dae95fb0 (diff)
downloadgcc-6cf80e5bfc3562e1b03f78fa335b966b93e03b11.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92010 138bc75d-0d04-0410-961f-82ee72b054a4
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 96ae3e2e5d5..c591d48825c 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
{