re PR bootstrap/63204 (gtype-desc.c:887:40: error: 'struct loop' has no member named...
authorRichard Biener <rguenther@suse.de>
Mon, 8 Sep 2014 12:01:50 +0000 (12:01 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Mon, 8 Sep 2014 12:01:50 +0000 (12:01 +0000)
2014-09-08  Richard Biener  <rguenther@suse.de>

PR bootstrap/63204
* cfgloop.c (mark_loop_for_removal): Track former header
unconditionally.
* cfgloop.h (struct loop): Add former_header member unconditionally.
* loop-init.c (fix_loop_structure): Enable bogus loop removal
diagnostic unconditionally.

From-SVN: r215012

gcc/ChangeLog
gcc/cfgloop.c
gcc/cfgloop.h
gcc/loop-init.c

index 6a8aec7bdd834eb053efa2dfba8223b311c43929..f25d4e4591555c6c8a8775d84b602d65d8ee8cf9 100644 (file)
@@ -1,3 +1,12 @@
+2014-09-08  Richard Biener  <rguenther@suse.de>
+
+       PR bootstrap/63204
+       * cfgloop.c (mark_loop_for_removal): Track former header
+       unconditionally.
+       * cfgloop.h (struct loop): Add former_header member unconditionally.
+       * loop-init.c (fix_loop_structure): Enable bogus loop removal
+       diagnostic unconditionally.
+
 2014-09-07 Venkataramanan Kumar <venkataramanan.kumar@linaro.org>
 
        PR target/63190
index 399420ddbde330dc3f5c75e017a654743dd77aca..6a488b3fefb589b022c39b6c3e2069c062bd7510 100644 (file)
@@ -1927,9 +1927,7 @@ bb_loop_depth (const_basic_block bb)
 void
 mark_loop_for_removal (loop_p loop)
 {
-#ifdef ENABLE_CHECKING
   loop->former_header = loop->header;
-#endif
   loop->header = NULL;
   loop->latch = NULL;
   loops_state_set (LOOPS_NEED_FIXUP);
index d62a4151cb03de720ff1b1cc25756794421430fa..eff02135b7137f86d9d2fe274753b560ae933abd 100644 (file)
@@ -194,13 +194,11 @@ struct GTY ((chain_next ("%h.next"))) loop {
   /* Number of iteration analysis data for RTL.  */
   struct niter_desc *simple_loop_desc;
 
-#ifdef ENABLE_CHECKING
   /* For sanity checking during loop fixup we record here the former
      loop header for loops marked for removal.  Note that this prevents
      the basic-block from being collected but its index can still be
      reused.  */
   basic_block former_header;
-#endif
 };
 
 /* Flags for state of loop structure.  */
index e3734abadcea94742c6a7ab97fd6d4ad6a8a94f7..b530120fdf820e0c5e0e96459c872dd34f66f04e 100644 (file)
@@ -245,12 +245,10 @@ fix_loop_structure (bitmap changed_bbs)
        }
 
       /* Remove the loop.  */
-#ifdef ENABLE_CHECKING
       if (loop->header)
        loop->former_header = loop->header;
       else
        gcc_assert (loop->former_header != NULL);
-#endif
       loop->header = NULL;
       flow_loop_tree_node_remove (loop);
     }
@@ -278,7 +276,6 @@ fix_loop_structure (bitmap changed_bbs)
   FOR_EACH_VEC_ELT (*get_loops (cfun), i, loop)
     if (loop && loop->header == NULL)
       {
-#ifdef ENABLE_CHECKING
        if (dump_file
            && ((unsigned) loop->former_header->index
                < basic_block_info_for_fn (cfun)->length ()))
@@ -306,7 +303,6 @@ fix_loop_structure (bitmap changed_bbs)
                           former_header->loop_father->header->index);
              }
          }
-#endif
        (*get_loops (cfun))[i] = NULL;
        flow_loop_free (loop);
       }