* tree-ssa-threadedge.c

(record_temporary_equivalences_from_stmts_at_dest): Avoid temporary
	propagation of operands if there are no operands.

From-SVN: r243152
This commit is contained in:
Jeff Law 2016-12-01 23:40:57 -07:00 committed by Jeff Law
parent f3adbf9e93
commit b06496b161
2 changed files with 10 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2016-12-01 Jeff Law <law@redhat.com>
* tree-ssa-threadedge.c
(record_temporary_equivalences_from_stmts_at_dest): Avoid temporary
propagation of operands if there are no operands.
2016-12-02 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/78586

View File

@ -328,9 +328,10 @@ record_temporary_equivalences_from_stmts_at_dest (edge e,
SSA_NAME_VALUE in addition to its own lattice. */
cached_lhs = gimple_fold_stmt_to_constant_1 (stmt,
threadedge_valueize);
if (!cached_lhs
|| (TREE_CODE (cached_lhs) != SSA_NAME
&& !is_gimple_min_invariant (cached_lhs)))
if (NUM_SSA_OPERANDS (stmt, SSA_OP_ALL_USES) != 0
&& (!cached_lhs
|| (TREE_CODE (cached_lhs) != SSA_NAME
&& !is_gimple_min_invariant (cached_lhs))))
{
/* We're going to temporarily copy propagate the operands
and see if that allows us to simplify this statement. */