From b06496b1617ffcaec0e82fd4cca9eae5e0301cd5 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Thu, 1 Dec 2016 23:40:57 -0700 Subject: [PATCH] * tree-ssa-threadedge.c (record_temporary_equivalences_from_stmts_at_dest): Avoid temporary propagation of operands if there are no operands. From-SVN: r243152 --- gcc/ChangeLog | 6 ++++++ gcc/tree-ssa-threadedge.c | 7 ++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c3170c0ebf3..75881ee7ace 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2016-12-01 Jeff Law + + * 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 PR tree-optimization/78586 diff --git a/gcc/tree-ssa-threadedge.c b/gcc/tree-ssa-threadedge.c index 534292c19e5..3fdd59e6804 100644 --- a/gcc/tree-ssa-threadedge.c +++ b/gcc/tree-ssa-threadedge.c @@ -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. */ -- 2.30.2