diff options
author | dnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-12-10 21:54:42 +0000 |
---|---|---|
committer | dnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-12-10 21:54:42 +0000 |
commit | 6cf80e5bfc3562e1b03f78fa335b966b93e03b11 (patch) | |
tree | 14bfdf7a466c4e8af2752e4d606db1e56d86b149 /gcc/tree-vectorizer.c | |
parent | 4927c18d5ba4cf974253d1d378c94f21dae95fb0 (diff) | |
download | gcc-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.c | 4 |
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 { |