diff options
author | Richard Biener <rguenther@suse.de> | 2019-09-30 11:59:16 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2019-09-30 11:59:16 +0000 |
commit | 61362d9d18916bd5b694385982cf4a02b7537b0e (patch) | |
tree | 7b3dbdbfe377d426f7d2bdb1eb1b6441279a7e6a /gcc/gimple.c | |
parent | 582c57a17eaf02e90492145cd7217bda5499076b (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.c | 2 |
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; } |