re PR tree-optimization/69347 (excessive compile time with -O2)
authorJeff Law <law@redhat.com>
Tue, 19 Jan 2016 23:03:26 +0000 (16:03 -0700)
committerJeff Law <law@gcc.gnu.org>
Tue, 19 Jan 2016 23:03:26 +0000 (16:03 -0700)
PR middle-end/69347
* tree-ssa-threadbackwards.c
(fsm_find_control_statement_thread_paths): Do not try to lookup
FSM paths for SSA_NAMEs appearing in abnormal PHIs.

From-SVN: r232593

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

index f41b2c6..2930a8f 100644 (file)
@@ -1,3 +1,10 @@
+2016-01-19  Jeff Law  <law@redhat.com>
+
+       PR middle-end/69347
+       * tree-ssa-threadbackwards.c
+       (fsm_find_control_statement_thread_paths): Do not try to lookup
+       FSM paths for SSA_NAMEs appearing in abnormal PHIs.
+
 2016-01-20  Kugan Vivekanandarajah  <kuganv@linaro.org>
 
        * doc/lto.texi: Remove text that says only Gold has linker plugin
index 8c99f6f..8d8aa30 100644 (file)
@@ -99,6 +99,11 @@ fsm_find_control_statement_thread_paths (tree name,
                                         vec<basic_block, va_gc> *&path,
                                         bool seen_loop_phi)
 {
+  /* If NAME appears in an abnormal PHI, then don't try to trace its
+     value back through PHI nodes.  */
+  if (SSA_NAME_OCCURS_IN_ABNORMAL_PHI (name))
+    return;
+
   gimple *def_stmt = SSA_NAME_DEF_STMT (name);
   basic_block var_bb = gimple_bb (def_stmt);