re PR tree-optimization/69196 (code size regression with jump threading at -O2)
authorJeff Law <law@redhat.com>
Sat, 5 Mar 2016 05:10:58 +0000 (22:10 -0700)
committerJeff Law <law@gcc.gnu.org>
Sat, 5 Mar 2016 05:10:58 +0000 (22:10 -0700)
PR tree-optimization/69196
* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
If the both SSA_NAMEs are anonymous, then consider them unassociated
and include the PHI in the statement count.

From-SVN: r233999

gcc/ChangeLog
gcc/tree-ssa-threadbackward.c

index 5c23836..09a2714 100644 (file)
@@ -1,3 +1,10 @@
+2016-03-04  Jeff Law  <law@redhat.com>
+
+       PR tree-optimization/69196
+       * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
+       If the both SSA_NAMEs are anonymous, then consider them unassociated
+       and include the PHI in the statement count.
+
 2016-03-05  Tom de Vries  <tom@codesourcery.com>
 
        * omp-low.c (check_omp_nesting_restrictions): Check for non-oacc
index 747296b..6f1b757 100644 (file)
@@ -311,7 +311,11 @@ fsm_find_control_statement_thread_paths (tree name,
                          gphi *phi = gsip.phi ();
                          tree dst = gimple_phi_result (phi);
 
-                         if (SSA_NAME_VAR (dst) != SSA_NAME_VAR (name)
+                         /* Note that if both NAME and DST are anonymous
+                            SSA_NAMEs, then we do not have enough information
+                            to consider them associated.  */
+                         if ((SSA_NAME_VAR (dst) != SSA_NAME_VAR (name)
+                              || !SSA_NAME_VAR (dst))
                              && !virtual_operand_p (dst))
                            ++n_insns;
                        }