re PR bootstrap/63204 (gtype-desc.c:887:40: error: 'struct loop' has no member named 'former_header' breaks bootstrap)
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
This commit is contained in:
parent
0877451899
commit
e45fcf805f
4 changed files with 9 additions and 8 deletions
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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. */
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue