aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfgloop.h
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2014-09-05 13:04:40 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2014-09-05 13:04:40 +0000
commite4ca2139f2fd864316e6fd4e76dea933c67621ab (patch)
tree90b86e5c02c302902763114e914e357c26422e94 /gcc/cfgloop.h
parentc3212d53df65a17e11cdd9917e433f5b94b37174 (diff)
downloadgcc-e4ca2139f2fd864316e6fd4e76dea933c67621ab.zip
gcc-e4ca2139f2fd864316e6fd4e76dea933c67621ab.tar.gz
gcc-e4ca2139f2fd864316e6fd4e76dea933c67621ab.tar.bz2
cfgloop.c (mark_loop_for_removal): Record former header when ENABLE_CHECKING.
2014-09-05 Richard Biener <rguenther@suse.de> * cfgloop.c (mark_loop_for_removal): Record former header when ENABLE_CHECKING. * cfgloop.h (strut loop): Add former_header member when ENABLE_CHECKING. * loop-init.c (fix_loop_structure): Sanity check loops marked for removal if they re-appeared. From-SVN: r214957
Diffstat (limited to 'gcc/cfgloop.h')
-rw-r--r--gcc/cfgloop.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/cfgloop.h b/gcc/cfgloop.h
index e868f5d..d62a415 100644
--- a/gcc/cfgloop.h
+++ b/gcc/cfgloop.h
@@ -193,6 +193,14 @@ 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. */