summaryrefslogtreecommitdiff
path: root/gcc/gimple.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2019-09-30 11:59:16 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2019-09-30 11:59:16 +0000
commit61362d9d18916bd5b694385982cf4a02b7537b0e (patch)
tree7b3dbdbfe377d426f7d2bdb1eb1b6441279a7e6a /gcc/gimple.c
parent582c57a17eaf02e90492145cd7217bda5499076b (diff)
gimple.c (gimple_get_lhs): For PHIs return the result.
2019-09-30 Richard Biener <rguenther@suse.de> * gimple.c (gimple_get_lhs): For PHIs return the result. * tree-vectorizer.h (vectorizable_live_operation): Also get the SLP instance as argument. * tree-vect-loop.c (vect_analyze_loop_operations): Also handle double-reduction PHIs with vectorizable_lc_phi. (vect_analyze_loop_operations): Adjust. (vect_create_epilog_for_reduction): Remove all code not dealing with reduction LC PHI or epilogue generation. (vectorizable_live_operation): Call vect_create_epilog_for_reduction for live stmts of reductions. * tree-vect-stmts.c (vectorizable_condition): When !for_reduction do not handle defs that are not vect_internal_def. (can_vectorize_live_stmts): Adjust. (vect_analyze_stmt): When the vectorized stmt defined a value used on backedges adjust the backedge uses of vectorized PHIs. From-SVN: r276299
Diffstat (limited to 'gcc/gimple.c')
-rw-r--r--gcc/gimple.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/gimple.c b/gcc/gimple.c
index af62c8bf477..8e828a5f169 100644
--- a/gcc/gimple.c
+++ b/gcc/gimple.c
@@ -1797,6 +1797,8 @@ gimple_get_lhs (const gimple *stmt)
return gimple_assign_lhs (stmt);
else if (code == GIMPLE_CALL)
return gimple_call_lhs (stmt);
+ else if (code == GIMPLE_PHI)
+ return gimple_phi_result (stmt);
else
return NULL_TREE;
}