diff mbox

flattening cfgloop.h

Message ID CAAgBjM=oz8rUQuAk95Vwjf5bo47W5Jky8RweFDHBkc8FhzXPrw@mail.gmail.com
State New
Headers show

Commit Message

Prathamesh Kulkarni Dec. 14, 2014, 9:39 p.m. UTC
Hi,
The attached patch flattens cfgloop.h.
Created new file cfgloopanal.h which exports function prototypes
from cfgloopanal.c. Rest of the patch involves restructuring includes.

Boostrapped and tested on x86_64-unknown-linux-gnu with ISL enabled.
Built on all targets in config-list.mk with languages c, c++ enabled.

Thank you,
Prathamesh
2014-12-14  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

	* cfgloopanal.h: New header file containing function prototypes from cfgloopanal.c

	* cfgloop.h: Remove includes.
	(mark_irreducible_loops): Move prototype to cfgloopanal.h
	(num_loop_insns): Likewise.
	(average_num_loop_insns): Likewise.
	(get_loop_level): Likewise.
	(mark_loop_exit_edges): Likewise.
	(just_once_each_iteration_p): Likewise.
	(expected_loop_iterations_unbounded): Likewise.
	(estimate_reg_pressure_cost): Likewise.
	(init_set_costs): Likewise.

	* asan.c: Include double-int.h, wide-int.h, bitmap.h, sbitmap.h, cfgloopmanip.h, cfgloopanal.h
	* auto-profile.c: Likewise.
	* bt-load.c: Likewise.
	* cfg.c: Likewise.
	* cfgcleanup.c: Likewise.
	* cfgloop.c: Likewise.
	* cfgloopanal.c: Likewise.
	* cfgloopmanip.c: Likewise.
	* cfgrtl.c: Likewise.
	* cgraph.c: Likewise.
	* cgraphunit.c: Likewise.
	* config/aarch64/aarch64.c: Likewise.
	* config/mn10300/mn10300.c: Likewise.
	* config/rs6000/rs6000.c: Likewise.
	* config/s390/s390.c: Likewise.
	* config/sh/sh.c: Likewise.
	* config/spu/spu.c: Likewise.
	* config/tilegx/tilegx.c: Likewise.
	* config/tilepro/tilepro.c: Likewise.
	* config/i386/i386.c: Include double-int.h, bitmap.h, cfgloopmanip.h, cfgloopanal.h.
	* cprop.c: Likewise.
	* except.c: Likewise.
	* ggc-page.c: Likewise.
	* gimple-ssa-isolate-paths.c: Likewise.
	* graphite-blocking.c: Likewise.
	* graphite-dependences.c: Likewise.
	* graphite-interchange.c: Likewise.
	* graphite-isl-ast-to-gimple.c: Likewise.
	* graphite-optimize-isl.c: Likewise.
	* graphite-poly.c: Likewise.
	* graphite-scop-detection.c: Likewise.
	* graphite-sese-to-poly.c: Likewise.
	* graphite.c: Likewise.
	* haifa-sched.c: Likewise.
	* hw-doloop.c: Likewise.
	* ifcvt.c: Likewise.
	* ipa-icf-gimple.c: Likewise.
	* ipa-icf.c: Likewise.
	* ipa-inline-analysis.c: Likewise.
	* ipa-pure-const.c: Likewise.
	* ipa-split.c: Likewise.
	* ira-costs.c: Likewise.
	* loop-doloop.c: Likewise.
	* loop-init.c: Likewise.
	* loop-iv.c: Likewise.
	* loop-unroll.c: Likewise.
	* lto-streamer-in.c: Likewise.
	* lto-streamer-out.c: Likewise.
	* modulo-sched.c: Likewise.
	* omp-low.c: Likewise.
	* passes.c: Likewise.
	* predict.c: Likewise.
	* profile.c: Likewise.
	* sese.c: Likewise.
	* target-globals.c: Likewise.
	* toplev.c: Likewise.
	* tracer.c: Likewise.
	* trans-mem.c: Likewise.
	* tree-cfg.c: Likewise.
	* tree-cfgcleanup.c: Likewise.
	* tree-complex.c: Likewise.
	* tree-data-ref.c: Likewise.
	* tree-eh.c: Likewise.
	* tree-if-conv.c: Likewise.
	* tree-inline.c: Likewise.
	* tree-into-ssa.c: Likewise.
	* tree-loop-distribution.c: Likewise.
	* tree-parloops.c: Likewise.
	* tree-scalar-evolution.c: Likewise.
	* tree-ssa-copy.c: Likewise.
	* tree-ssa-dce.c: Likewise.
	* tree-ssa-dom.c: Likewise.
	* tree-ssa-forwprop.c: Likewise.
	* tree-ssa-loop-ch.c: Likewise.
	* tree-ssa-loop-im.c: Likewise.
	* tree-ssa-loop-ivcanon.c: Likewise.
	* tree-ssa-loop-ivopts.c: Likewise.
	* tree-ssa-loop-manip.c: Likewise.
	* tree-ssa-loop-niter.c: Likewise.
	* tree-ssa-loop-prefetch.c: Likewise.
	* tree-ssa-loop-unswitch.c: Likewise.
	* tree-ssa-loop.c: Likewise.
	* tree-ssa-phiopt.c: Likewise.
	* tree-ssa-pre.c: Likewise.
	* tree-ssa-reassoc.c: Likewise.
	* tree-ssa-sccvn.c: Likewise.
	* tree-ssa-sink.c: Likewise.
	* tree-ssa-tail-merge.c: Likewise.
	* tree-ssa-threadedge.c: Likewise.
	* tree-ssa-threadupdate.c: Likewise.
	* tree-ssa.c: Likewise.
	* tree-switch-conversion.c: Likewise.
	* tree-tailcall.c: Likewise.
	* tree-vect-data-refs.c: Likewise.
	* tree-vect-loop-manip.c: Likewise.
	* tree-vect-loop.c: Likewise.
	* tree-vect-patterns.c: Likewise.
	* tree-vect-slp.c: Likewise.
	* tree-vect-stmts.c: Likewise.
	* tree-vectorizer.c: Likewise.
	* tree-vrp.c: Likewise.
	* ubsan.c: Likewise.
	* vtable-verify.c: Likewise.
	* cfgexpand.c: Include double-int.h, wide-int.h, cfgloopmanip.h, cfgloopanal.h.
	* ddg.c: Likewise.
	* df-core.c: Likewise.
	* graph.c: Include double-int.h, wide-int.h, bitmap.h, cfgloopmanip.h, cfgloopanal.h.
	* tree-chkp-opt.c: Include double-int.h, wide-int.h, bitmap.h, sbitmap.h, hashtab.h,
	hash-set.h, vec.h, machmode.h, tm.h, hard-reg-set.h, input.h, function.h, cfgloopmanip.h, cfgloopanal.h.
	* tree-chkp.c: Likewise.
	* tree-predcom.c: Include double-int.h, wide-int.h, bitmap.h, sbitmap.h, vec.h, cfgloopmanip.h,
	cfgloopanal.h, cfgloop.h, predict.h.
	* loop-invariant.c: Include cfgloopanal.h.
	* sel-sched-ir.c: Likewise.
	* final.c: Include cfgloopmanip.h.
	* gengtypes.c (open_base_files): Generate includes double-int.h, wide-int.h, bitmap.h, sbitmap.h, hashtab.h, hash-set.h,
	vec.h, machmode.h, tm.h, hard-reg-set.h, input.h, function.h, cfgloopmanip.h, cfgloopanal.h

Comments

Richard Biener Dec. 17, 2014, 3:45 p.m. UTC | #1
On Sun, Dec 14, 2014 at 10:39 PM, Prathamesh Kulkarni
<prathamesh.kulkarni@linaro.org> wrote:
> Hi,
> The attached patch flattens cfgloop.h.
> Created new file cfgloopanal.h which exports function prototypes
> from cfgloopanal.c. Rest of the patch involves restructuring includes.
>
> Boostrapped and tested on x86_64-unknown-linux-gnu with ISL enabled.
> Built on all targets in config-list.mk with languages c, c++ enabled.

Ok.

Can you get yourself SVN write access please?  You can name me as
sponsor, see https://gcc.gnu.org/svnwrite.html

Thanks,
Richard.

> Thank you,
> Prathamesh
Prathamesh Kulkarni Dec. 17, 2014, 5:22 p.m. UTC | #2
On 17 December 2014 at 21:15, Richard Biener <richard.guenther@gmail.com> wrote:
> On Sun, Dec 14, 2014 at 10:39 PM, Prathamesh Kulkarni
> <prathamesh.kulkarni@linaro.org> wrote:
>> Hi,
>> The attached patch flattens cfgloop.h.
>> Created new file cfgloopanal.h which exports function prototypes
>> from cfgloopanal.c. Rest of the patch involves restructuring includes.
>>
>> Boostrapped and tested on x86_64-unknown-linux-gnu with ISL enabled.
>> Built on all targets in config-list.mk with languages c, c++ enabled.
>
> Ok.
>
> Can you get yourself SVN write access please?  You can name me as
> sponsor, see https://gcc.gnu.org/svnwrite.html
Thanks!
>
> Thanks,
> Richard.
>
>> Thank you,
>> Prathamesh
diff mbox

Patch

diff --git a/gcc/asan.c b/gcc/asan.c
index e33cdc8..e52cd63 100644
--- a/gcc/asan.c
+++ b/gcc/asan.c
@@ -66,6 +66,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm_p.h"
 #include "langhooks.h"
 #include "alloc-pool.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "gimple-builder.h"
 #include "ubsan.h"
diff --git a/gcc/auto-profile.c b/gcc/auto-profile.c
index 7055c4a..bdbb1a4 100644
--- a/gcc/auto-profile.c
+++ b/gcc/auto-profile.c
@@ -47,6 +47,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "langhooks.h"
 #include "opts.h"
 #include "tree-pass.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-ssa-alias.h"
 #include "tree-cfg.h"
diff --git a/gcc/bt-load.c b/gcc/bt-load.c
index 53c4db3..56d8a58 100644
--- a/gcc/bt-load.c
+++ b/gcc/bt-load.c
@@ -48,6 +48,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "predict.h"
 #include "basic-block.h"
 #include "df.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "rtl-iter.h"
 #include "fibonacci_heap.h"
diff --git a/gcc/cfg.c b/gcc/cfg.c
index 158c318..e129477 100644
--- a/gcc/cfg.c
+++ b/gcc/cfg.c
@@ -68,6 +68,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "cfganal.h"
 #include "basic-block.h"
 #include "df.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h" /* FIXME: For struct loop.  */
 #include "dumpfile.h"
 
diff --git a/gcc/cfgcleanup.c b/gcc/cfgcleanup.c
index 2ea0126..1495915 100644
--- a/gcc/cfgcleanup.c
+++ b/gcc/cfgcleanup.c
@@ -53,6 +53,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "function.h" /* For inline functions in emit-rtl.h they need crtl.  */
 #include "emit-rtl.h"
 #include "tree-pass.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "expr.h"
 #include "dominance.h"
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c
index d85dbca..baea4bc 100644
--- a/gcc/cfgexpand.c
+++ b/gcc/cfgexpand.c
@@ -82,6 +82,10 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree-ssa-live.h"
 #include "tree-outof-ssa.h"
 #include "sbitmap.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "regs.h" /* For reg_renumber.  */
 #include "insn-attr.h" /* For INSN_SCHEDULING.  */
diff --git a/gcc/cfgloop.c b/gcc/cfgloop.c
index 5c5cedc..019826c 100644
--- a/gcc/cfgloop.c
+++ b/gcc/cfgloop.c
@@ -34,6 +34,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "cfg.h"
 #include "cfganal.h"
 #include "basic-block.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "diagnostic-core.h"
 #include "flags.h"
diff --git a/gcc/cfgloop.h b/gcc/cfgloop.h
index c24e7c5..dec1832 100644
--- a/gcc/cfgloop.h
+++ b/gcc/cfgloop.h
@@ -20,20 +20,6 @@  along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_CFGLOOP_H
 #define GCC_CFGLOOP_H
 
-#include "double-int.h"
-#include "wide-int.h"
-#include "bitmap.h"
-#include "sbitmap.h"
-#include "hashtab.h"
-#include "hash-set.h"
-#include "vec.h"
-#include "machmode.h"
-#include "tm.h"
-#include "hard-reg-set.h"
-#include "input.h"
-#include "function.h"
-#include "cfgloopmanip.h"
-
 /* Structure to hold decision about unrolling/peeling.  */
 enum lpt_dec
 {
@@ -264,7 +250,6 @@  struct loop *alloc_loop (void);
 extern void flow_loop_free (struct loop *);
 int flow_loop_nodes_find (basic_block, struct loop *);
 unsigned fix_loop_structure (bitmap changed_bbs);
-bool mark_irreducible_loops (void);
 void release_recorded_exits (void);
 void record_loop_exits (void);
 void rescan_loop_exit (edge, bool, bool);
@@ -277,13 +262,9 @@  extern bool flow_bb_inside_loop_p (const struct loop *, const_basic_block);
 extern struct loop * find_common_loop (struct loop *, struct loop *);
 struct loop *superloop_at_depth (struct loop *, unsigned);
 struct eni_weights_d;
-extern int num_loop_insns (const struct loop *);
-extern int average_num_loop_insns (const struct loop *);
-extern unsigned get_loop_level (const struct loop *);
 extern bool loop_exit_edge_p (const struct loop *, const_edge);
 extern bool loop_exits_to_bb_p (struct loop *, basic_block);
 extern bool loop_exits_from_bb_p (struct loop *, basic_block);
-extern void mark_loop_exit_edges (void);
 extern location_t get_loop_location (struct loop *loop);
 
 /* Loops & cfg manipulation.  */
@@ -313,9 +294,6 @@  extern void delete_loop (struct loop *);
 extern void verify_loop_structure (void);
 
 /* Loop analysis.  */
-extern bool just_once_each_iteration_p (const struct loop *, const_basic_block);
-gcov_type expected_loop_iterations_unbounded (const struct loop *);
-extern unsigned expected_loop_iterations (const struct loop *);
 extern rtx doloop_condition_get (rtx);
 
 void mark_loop_for_removal (loop_p);
@@ -685,11 +663,6 @@  extern struct target_cfgloop *this_target_cfgloop;
 #define target_spill_cost \
   (this_target_cfgloop->x_target_spill_cost)
 
-/* Register pressure estimation for induction variable optimizations & loop
-   invariant motion.  */
-extern unsigned estimate_reg_pressure_cost (unsigned, unsigned, bool, bool);
-extern void init_set_costs (void);
-
 /* Loop optimizer initialization.  */
 extern void loop_optimizer_init (unsigned);
 extern void loop_optimizer_finalize (void);
diff --git a/gcc/cfgloopanal.c b/gcc/cfgloopanal.c
index a2722cb..bfda06e 100644
--- a/gcc/cfgloopanal.c
+++ b/gcc/cfgloopanal.c
@@ -34,6 +34,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "dominance.h"
 #include "cfg.h"
 #include "basic-block.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "expr.h"
 #include "graphds.h"
diff --git a/gcc/cfgloopanal.h b/gcc/cfgloopanal.h
new file mode 100644
index 0000000..71472ab
--- /dev/null
+++ b/gcc/cfgloopanal.h
@@ -0,0 +1,37 @@ 
+/* Natural loop analysis header.
+   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 3, or (at your option) any later
+version.
+
+GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING3.  If not see
+<http://www.gnu.org/licenses/>.  */
+
+#ifndef GCC_CFGLOOPANAL_H
+#define GCC_CFGLOOPANAL_H
+
+extern bool just_once_each_iteration_p (const struct loop *, const_basic_block);
+extern bool mark_irreducible_loops (void);
+extern int num_loop_insns (const struct loop *);
+extern int average_num_loop_insns (const struct loop *);
+extern gcov_type expected_loop_iterations_unbounded (const struct loop *);
+extern unsigned expected_loop_iterations (const struct loop *);
+extern unsigned get_loop_level (const struct loop *);
+extern void mark_loop_exit_edges (void);
+
+/* Register pressure estimation for induction variable optimizations & loop
+   invariant motion.  */
+extern unsigned estimate_reg_pressure_cost (unsigned, unsigned, bool, bool);
+extern void init_set_costs (void);
+
+#endif /* GCC_CFGLOOPANAL_H */
diff --git a/gcc/cfgloopmanip.c b/gcc/cfgloopmanip.c
index 83a5dc5..89d1b3f 100644
--- a/gcc/cfgloopmanip.c
+++ b/gcc/cfgloopmanip.c
@@ -34,6 +34,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "cfg.h"
 #include "cfganal.h"
 #include "basic-block.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree.h"
 #include "tree-ssa-alias.h"
diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c
index 42d21d7..d3b984f 100644
--- a/gcc/cfgrtl.c
+++ b/gcc/cfgrtl.c
@@ -69,6 +69,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "expr.h"
 #include "target.h"
 #include "common/common-target.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "ggc.h"
 #include "tree-pass.h"
diff --git a/gcc/cgraph.c b/gcc/cgraph.c
index 50c7b34..de35bb9 100644
--- a/gcc/cgraph.c
+++ b/gcc/cgraph.c
@@ -74,6 +74,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "alloc-pool.h"
 #include "ipa-prop.h"
 #include "ipa-inline.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "gimple-pretty-print.h"
 #include "expr.h"
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c
index fed1a3e..4044c99 100644
--- a/gcc/cgraphunit.c
+++ b/gcc/cgraphunit.c
@@ -215,6 +215,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "ipa-utils.h"
 #include "lto-streamer.h"
 #include "except.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "regset.h"     /* FIXME: For reg_obstack.  */
 #include "context.h"
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index e682edd..fab0289 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -71,6 +71,12 @@ 
 #include "gimplify.h"
 #include "optabs.h"
 #include "dwarf2.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-vectorizer.h"
 #include "aarch64-cost-tables.h"
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 1e1716e..fb0dcd9 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -77,6 +77,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "gimple-expr.h"
 #include "gimple.h"
 #include "gimplify.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "dwarf2.h"
 #include "df.h"
@@ -85,13 +91,11 @@  along with GCC; see the file COPYING3.  If not see
 #include "cselib.h"
 #include "debug.h"
 #include "sched-int.h"
-#include "sbitmap.h"
 #include "fibheap.h"
 #include "opts.h"
 #include "diagnostic.h"
 #include "dumpfile.h"
 #include "tree-pass.h"
-#include "wide-int.h"
 #include "context.h"
 #include "pass_manager.h"
 #include "target-globals.h"
diff --git a/gcc/config/mn10300/mn10300.c b/gcc/config/mn10300/mn10300.c
index 1fc64ed..959ce2a 100644
--- a/gcc/config/mn10300/mn10300.c
+++ b/gcc/config/mn10300/mn10300.c
@@ -62,6 +62,12 @@ 
 #include "basic-block.h"
 #include "df.h"
 #include "opts.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "dumpfile.h"
 #include "builtins.h"
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index be092a6..9d72af0 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -67,6 +67,12 @@ 
 #include "common/common-target.h"
 #include "langhooks.h"
 #include "reload.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "sched-int.h"
 #include "hash-table.h"
diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c
index ae3ffd1..cbd8d5d 100644
--- a/gcc/config/s390/s390.c
+++ b/gcc/config/s390/s390.c
@@ -77,6 +77,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "gimplify.h"
 #include "df.h"
 #include "params.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "opts.h"
 #include "tree-pass.h"
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index b89d048..81491f4 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -78,6 +78,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "is-a.h"
 #include "gimple.h"
 #include "gimplify.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "alloc-pool.h"
 #include "tm-constrs.h"
diff --git a/gcc/config/spu/spu.c b/gcc/config/spu/spu.c
index 2009085..4bc6802 100644
--- a/gcc/config/spu/spu.c
+++ b/gcc/config/spu/spu.c
@@ -76,6 +76,12 @@ 
 #include "ddg.h"
 #include "timevar.h"
 #include "dumpfile.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "builtins.h"
 #include "rtl-iter.h"
diff --git a/gcc/config/tilegx/tilegx.c b/gcc/config/tilegx/tilegx.c
index 0090d90..1ae7d14 100644
--- a/gcc/config/tilegx/tilegx.c
+++ b/gcc/config/tilegx/tilegx.c
@@ -70,6 +70,12 @@ 
 #include "varasm.h"
 #include "calls.h"
 #include "gimplify.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tilegx-builtins.h"
 #include "tilegx-multiply.h"
diff --git a/gcc/config/tilepro/tilepro.c b/gcc/config/tilepro/tilepro.c
index 4eef51a..6357071 100644
--- a/gcc/config/tilepro/tilepro.c
+++ b/gcc/config/tilepro/tilepro.c
@@ -71,6 +71,12 @@ 
 #include "varasm.h"
 #include "calls.h"
 #include "gimplify.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tilepro-builtins.h"
 #include "tilepro-multiply.h"
diff --git a/gcc/cprop.c b/gcc/cprop.c
index 15ebc17..44532b8 100644
--- a/gcc/cprop.c
+++ b/gcc/cprop.c
@@ -56,6 +56,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "df.h"
 #include "dbgcnt.h"
 #include "target.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 
 
diff --git a/gcc/ddg.c b/gcc/ddg.c
index b370d51..d9d6e8e 100644
--- a/gcc/ddg.c
+++ b/gcc/ddg.c
@@ -43,10 +43,14 @@  along with GCC; see the file COPYING3.  If not see
 #include "basic-block.h"
 #include "sched-int.h"
 #include "target.h"
-#include "cfgloop.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
 #include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
+#include "cfgloop.h"
 #include "expr.h"
-#include "bitmap.h"
 #include "df.h"
 #include "ddg.h"
 #include "rtl-iter.h"
diff --git a/gcc/df-core.c b/gcc/df-core.c
index 8e7a92f..82f1b24 100644
--- a/gcc/df-core.c
+++ b/gcc/df-core.c
@@ -402,6 +402,10 @@  are write-only operations.
 #include "df.h"
 #include "tree-pass.h"
 #include "params.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 
 static void *df_get_bb_info (struct dataflow *, unsigned int);
diff --git a/gcc/except.c b/gcc/except.c
index 6288eb0..df82f7c 100644
--- a/gcc/except.c
+++ b/gcc/except.c
@@ -155,6 +155,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "diagnostic.h"
 #include "tree-pretty-print.h"
 #include "tree-pass.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "builtins.h"
 
diff --git a/gcc/final.c b/gcc/final.c
index 4c894c3..8591d09 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -89,6 +89,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "coverage.h"
 #include "df.h"
 #include "ggc.h"
+#include "cfgloopmanip.h"
 #include "cfgloop.h"
 #include "params.h"
 #include "tree-pretty-print.h" /* for dump_function_header */
diff --git a/gcc/fwprop.c b/gcc/fwprop.c
index 377b33c..c50104c 100644
--- a/gcc/fwprop.c
+++ b/gcc/fwprop.c
@@ -46,6 +46,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "basic-block.h"
 #include "df.h"
 #include "target.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-pass.h"
 #include "domwalk.h"
diff --git a/gcc/gengtype.c b/gcc/gengtype.c
index 39d2918..ed332ed 100644
--- a/gcc/gengtype.c
+++ b/gcc/gengtype.c
@@ -1842,7 +1842,9 @@  open_base_files (void)
       "tree-ssa-loop.h", "tree-ssa-loop-ivopts.h", "tree-ssa-loop-manip.h",
       "tree-ssa-loop-niter.h", "tree-into-ssa.h", "tree-dfa.h", 
       "tree-ssa.h", "reload.h", "cpp-id-data.h", "tree-chrec.h",
-      "except.h", "output.h",  "cfgloop.h", "target.h", "lto-streamer.h",
+      "except.h", "output.h",  "bitmap.h", "sbitmap.h", "hashtab.h", "hash-set.h",
+      "vec.h", "machmode.h", "tm.h", "hard-reg-set.h", "input.h", "function.h",
+      "cfgloopmanip.h", "cfgloopanal.h", "cfgloop.h", "target.h", "lto-streamer.h",
       "target-globals.h", "ipa-ref.h", "cgraph.h", "ipa-prop.h", 
       "ipa-inline.h", "dwarf2out.h", "omp-low.h", NULL
     };
diff --git a/gcc/ggc-page.c b/gcc/ggc-page.c
index f55c4e9..d87863e 100644
--- a/gcc/ggc-page.c
+++ b/gcc/ggc-page.c
@@ -42,6 +42,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "function.h"
 #include "ipa-ref.h"
 #include "cgraph.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "plugin.h"
 #include "basic-block.h"
diff --git a/gcc/gimple-ssa-isolate-paths.c b/gcc/gimple-ssa-isolate-paths.c
index 6dc63fd..fa6ea4d 100644
--- a/gcc/gimple-ssa-isolate-paths.c
+++ b/gcc/gimple-ssa-isolate-paths.c
@@ -50,6 +50,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree-ssa-operands.h"
 #include "tree-phinodes.h"
 #include "ssa-iterators.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-pass.h"
 #include "tree-cfg.h"
diff --git a/gcc/graph.c b/gcc/graph.c
index fad48b4..47c486f 100644
--- a/gcc/graph.c
+++ b/gcc/graph.c
@@ -37,6 +37,11 @@  along with GCC; see the file COPYING3.  If not see
 #include "cfg.h"
 #include "cfganal.h"
 #include "basic-block.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "graph.h"
 #include "dumpfile.h"
diff --git a/gcc/graphite-blocking.c b/gcc/graphite-blocking.c
index a815277..e936360 100644
--- a/gcc/graphite-blocking.c
+++ b/gcc/graphite-blocking.c
@@ -52,6 +52,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "gimple-iterator.h"
 #include "tree-ssa-loop.h"
 #include "dumpfile.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-chrec.h"
 #include "tree-data-ref.h"
diff --git a/gcc/graphite-dependences.c b/gcc/graphite-dependences.c
index b79c692..5f825a4 100644
--- a/gcc/graphite-dependences.c
+++ b/gcc/graphite-dependences.c
@@ -52,6 +52,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "gimple-iterator.h"
 #include "tree-ssa-loop.h"
 #include "tree-pass.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-chrec.h"
 #include "tree-data-ref.h"
diff --git a/gcc/graphite-interchange.c b/gcc/graphite-interchange.c
index 9f30d24..9ceac90 100644
--- a/gcc/graphite-interchange.c
+++ b/gcc/graphite-interchange.c
@@ -64,6 +64,12 @@  extern "C" {
 #include "gimple-iterator.h"
 #include "tree-ssa-loop.h"
 #include "dumpfile.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-chrec.h"
 #include "tree-data-ref.h"
diff --git a/gcc/graphite-isl-ast-to-gimple.c b/gcc/graphite-isl-ast-to-gimple.c
index 456b24e..d6a4b19 100644
--- a/gcc/graphite-isl-ast-to-gimple.c
+++ b/gcc/graphite-isl-ast-to-gimple.c
@@ -59,6 +59,12 @@  extern "C" {
 #include "gimple-iterator.h"
 #include "tree-ssa-loop.h"
 #include "tree-pass.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-data-ref.h"
 #include "sese.h"
diff --git a/gcc/graphite-optimize-isl.c b/gcc/graphite-optimize-isl.c
index 4cce700..245a6d1 100644
--- a/gcc/graphite-optimize-isl.c
+++ b/gcc/graphite-optimize-isl.c
@@ -53,6 +53,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "gimple-iterator.h"
 #include "tree-ssa-loop.h"
 #include "dumpfile.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-chrec.h"
 #include "tree-data-ref.h"
diff --git a/gcc/graphite-poly.c b/gcc/graphite-poly.c
index fa313df..ae9a374 100644
--- a/gcc/graphite-poly.c
+++ b/gcc/graphite-poly.c
@@ -65,6 +65,12 @@  extern "C" {
 #include "tree-ssa-loop.h"
 #include "dumpfile.h"
 #include "gimple-pretty-print.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-chrec.h"
 #include "tree-data-ref.h"
diff --git a/gcc/graphite-scop-detection.c b/gcc/graphite-scop-detection.c
index d49f57a..08e8b23 100644
--- a/gcc/graphite-scop-detection.c
+++ b/gcc/graphite-scop-detection.c
@@ -56,6 +56,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree-ssa-loop.h"
 #include "tree-into-ssa.h"
 #include "tree-ssa.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-chrec.h"
 #include "tree-data-ref.h"
diff --git a/gcc/graphite-sese-to-poly.c b/gcc/graphite-sese-to-poly.c
index 9136d63..fd06cae 100644
--- a/gcc/graphite-sese-to-poly.c
+++ b/gcc/graphite-sese-to-poly.c
@@ -72,6 +72,12 @@  extern "C" {
 #include "tree-ssa-loop.h"
 #include "tree-into-ssa.h"
 #include "tree-pass.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-chrec.h"
 #include "tree-data-ref.h"
diff --git a/gcc/graphite.c b/gcc/graphite.c
index 59d5a13..37a65f8 100644
--- a/gcc/graphite.c
+++ b/gcc/graphite.c
@@ -66,6 +66,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree-cfg.h"
 #include "tree-ssa-loop.h"
 #include "tree-dump.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-chrec.h"
 #include "tree-data-ref.h"
diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c
index 4fb97fb..185ffb5 100644
--- a/gcc/haifa-sched.c
+++ b/gcc/haifa-sched.c
@@ -153,6 +153,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "common/common-target.h"
 #include "params.h"
 #include "dbgcnt.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "ira.h"
 #include "emit-rtl.h"  /* FIXME: Can go away once crtl is moved to rtl.h.  */
diff --git a/gcc/hw-doloop.c b/gcc/hw-doloop.c
index 763928f..d1de6dc 100644
--- a/gcc/hw-doloop.c
+++ b/gcc/hw-doloop.c
@@ -40,6 +40,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "basic-block.h"
 #include "tm_p.h"
 #include "df.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "recog.h"
 #include "target.h"
diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c
index 21f08c2..11acd4b 100644
--- a/gcc/ifcvt.c
+++ b/gcc/ifcvt.c
@@ -48,6 +48,12 @@ 
 #include "optabs.h"
 #include "diagnostic-core.h"
 #include "tm_p.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "target.h"
 #include "tree-pass.h"
diff --git a/gcc/ipa-icf-gimple.c b/gcc/ipa-icf-gimple.c
index 8f2a438..e9d7f2a 100644
--- a/gcc/ipa-icf-gimple.c
+++ b/gcc/ipa-icf-gimple.c
@@ -46,6 +46,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree-dfa.h"
 #include "tree-pass.h"
 #include "gimple-pretty-print.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "except.h"
 #include "hash-map.h"
diff --git a/gcc/ipa-icf.c b/gcc/ipa-icf.c
index b193200..2eb532d 100644
--- a/gcc/ipa-icf.c
+++ b/gcc/ipa-icf.c
@@ -89,6 +89,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "alloc-pool.h"
 #include "ipa-prop.h"
 #include "ipa-inline.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "except.h"
 #include "hash-table.h"
diff --git a/gcc/ipa-inline-analysis.c b/gcc/ipa-inline-analysis.c
index a2500d0..a2d63c5 100644
--- a/gcc/ipa-inline-analysis.c
+++ b/gcc/ipa-inline-analysis.c
@@ -115,6 +115,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "data-streamer.h"
 #include "tree-streamer.h"
 #include "ipa-inline.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-scalar-evolution.h"
 #include "ipa-utils.h"
diff --git a/gcc/ipa-pure-const.c b/gcc/ipa-pure-const.c
index 13e3a25..0bc6169 100644
--- a/gcc/ipa-pure-const.c
+++ b/gcc/ipa-pure-const.c
@@ -76,6 +76,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "lto-streamer.h"
 #include "data-streamer.h"
 #include "tree-streamer.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-scalar-evolution.h"
 #include "intl.h"
diff --git a/gcc/ipa-split.c b/gcc/ipa-split.c
index 276de3c..d3663e2 100644
--- a/gcc/ipa-split.c
+++ b/gcc/ipa-split.c
@@ -126,6 +126,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "params.h"
 #include "gimple-pretty-print.h"
 #include "ipa-inline.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-chkp.h"
 
diff --git a/gcc/ira-costs.c b/gcc/ira-costs.c
index 2dabead..4710ec2 100644
--- a/gcc/ira-costs.c
+++ b/gcc/ira-costs.c
@@ -46,6 +46,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "diagnostic-core.h"
 #include "target.h"
 #include "params.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloop.h"
 #include "ira-int.h"
 
 /* The flags is set up every time when we calculate pseudo register
diff --git a/gcc/loop-doloop.c b/gcc/loop-doloop.c
index f252fec..c9544bd 100644
--- a/gcc/loop-doloop.c
+++ b/gcc/loop-doloop.c
@@ -37,6 +37,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "predict.h"
 #include "dominance.h"
 #include "cfg.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "cfgrtl.h"
 #include "basic-block.h"
diff --git a/gcc/loop-init.c b/gcc/loop-init.c
index 3c6f1c7..ad2ca9b 100644
--- a/gcc/loop-init.c
+++ b/gcc/loop-init.c
@@ -37,6 +37,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "cfg.h"
 #include "cfgcleanup.h"
 #include "basic-block.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-pass.h"
 #include "flags.h"
diff --git a/gcc/loop-invariant.c b/gcc/loop-invariant.c
index 19e536f..51b9ffe2 100644
--- a/gcc/loop-invariant.c
+++ b/gcc/loop-invariant.c
@@ -53,6 +53,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "cfg.h"
 #include "cfgrtl.h"
 #include "basic-block.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "expr.h"
 #include "recog.h"
diff --git a/gcc/loop-iv.c b/gcc/loop-iv.c
index f55cea2..b200018 100644
--- a/gcc/loop-iv.c
+++ b/gcc/loop-iv.c
@@ -64,6 +64,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "dominance.h"
 #include "cfg.h"
 #include "basic-block.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "expr.h"
 #include "intl.h"
diff --git a/gcc/loop-unroll.c b/gcc/loop-unroll.c
index c4c6b0d..1f1fb0b 100644
--- a/gcc/loop-unroll.c
+++ b/gcc/loop-unroll.c
@@ -37,6 +37,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "cfg.h"
 #include "cfgrtl.h"
 #include "basic-block.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "params.h"
 #include "insn-codes.h"
diff --git a/gcc/lto-streamer-in.c b/gcc/lto-streamer-in.c
index 2c9b6a5..b7c878d 100644
--- a/gcc/lto-streamer-in.c
+++ b/gcc/lto-streamer-in.c
@@ -68,6 +68,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree-streamer.h"
 #include "tree-pass.h"
 #include "streamer-hooks.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 
 
diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c
index 2446d88..6d246fb 100644
--- a/gcc/lto-streamer-out.c
+++ b/gcc/lto-streamer-out.c
@@ -63,6 +63,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "gimple-streamer.h"
 #include "tree-streamer.h"
 #include "streamer-hooks.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "builtins.h"
 
diff --git a/gcc/modulo-sched.c b/gcc/modulo-sched.c
index 8abb8ee..b57e222 100644
--- a/gcc/modulo-sched.c
+++ b/gcc/modulo-sched.c
@@ -47,6 +47,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "basic-block.h"
 #include "sched-int.h"
 #include "target.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-core.h"
 #include "insn-codes.h"
@@ -54,7 +60,6 @@  along with GCC; see the file COPYING3.  If not see
 #include "expr.h"
 #include "params.h"
 #include "gcov-io.h"
-#include "sbitmap.h"
 #include "df.h"
 #include "ddg.h"
 #include "tree-pass.h"
diff --git a/gcc/omp-low.c b/gcc/omp-low.c
index a5cf925..b793ca5 100644
--- a/gcc/omp-low.c
+++ b/gcc/omp-low.c
@@ -75,6 +75,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "splay-tree.h"
 #include "insn-codes.h"
 #include "optabs.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "target.h"
 #include "common/common-target.h"
diff --git a/gcc/passes.c b/gcc/passes.c
index 74b40e5..4146d99 100644
--- a/gcc/passes.c
+++ b/gcc/passes.c
@@ -58,6 +58,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "debug.h"
 #include "target.h"
 #include "langhooks.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "hosthooks.h"
 #include "opts.h"
diff --git a/gcc/predict.c b/gcc/predict.c
index 0cfe4a9..d33a492 100644
--- a/gcc/predict.c
+++ b/gcc/predict.c
@@ -59,6 +59,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "sreal.h"
 #include "params.h"
 #include "target.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "hash-map.h"
 #include "tree-ssa-alias.h"
diff --git a/gcc/profile.c b/gcc/profile.c
index a84d5fd..fdc82ae 100644
--- a/gcc/profile.c
+++ b/gcc/profile.c
@@ -78,6 +78,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "gimple.h"
 #include "gimple-iterator.h"
 #include "tree-cfg.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "dumpfile.h"
 #include "hash-map.h"
diff --git a/gcc/sel-sched-ir.c b/gcc/sel-sched-ir.c
index ac9faa4..1137c42 100644
--- a/gcc/sel-sched-ir.c
+++ b/gcc/sel-sched-ir.c
@@ -38,6 +38,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "cfgrtl.h"
 #include "cfganal.h"
 #include "cfgbuild.h"
+#include "cfgloopanal.h"
 #include "basic-block.h"
 #include "flags.h"
 #include "insn-config.h"
diff --git a/gcc/sese.c b/gcc/sese.c
index e0869e0..c44e1cd 100644
--- a/gcc/sese.c
+++ b/gcc/sese.c
@@ -55,6 +55,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree-ssanames.h"
 #include "tree-ssa-loop.h"
 #include "tree-into-ssa.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-chrec.h"
 #include "tree-data-ref.h"
diff --git a/gcc/target-globals.c b/gcc/target-globals.c
index 2e03c5c..fc6eb0e 100644
--- a/gcc/target-globals.c
+++ b/gcc/target-globals.c
@@ -37,6 +37,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "insn-codes.h"
 #include "optabs.h"
 #include "libfuncs.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "ira-int.h"
 #include "builtins.h"
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 04f63df..3dd7e1b 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -65,7 +65,13 @@  along with GCC; see the file COPYING3.  If not see
 #include "target.h"
 #include "common/common-target.h"
 #include "langhooks.h"
-#include "cfgloop.h" /* for init_set_costs */
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"  /* for init_set_costs */
+#include "cfgloop.h"
 #include "hosthooks.h"
 #include "predict.h"
 #include "basic-block.h"
diff --git a/gcc/tracer.c b/gcc/tracer.c
index cecefdc..a809d6b 100644
--- a/gcc/tracer.c
+++ b/gcc/tracer.c
@@ -65,6 +65,12 @@ 
 #include "tree-cfg.h"
 #include "tree-ssa.h"
 #include "tree-inline.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "fibonacci_heap.h"
 
diff --git a/gcc/trans-mem.c b/gcc/trans-mem.c
index a81bf87..e399b39 100644
--- a/gcc/trans-mem.c
+++ b/gcc/trans-mem.c
@@ -66,6 +66,12 @@ 
 #include "target.h"
 #include "langhooks.h"
 #include "gimple-pretty-print.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-ssa-address.h"
 
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index 6aca58d..86517d7 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -72,6 +72,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree-pass.h"
 #include "diagnostic-core.h"
 #include "except.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-ssa-propagate.h"
 #include "value-prof.h"
diff --git a/gcc/tree-cfgcleanup.c b/gcc/tree-cfgcleanup.c
index 81425d0..b134db0 100644
--- a/gcc/tree-cfgcleanup.c
+++ b/gcc/tree-cfgcleanup.c
@@ -59,6 +59,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree-ssa.h"
 #include "tree-pass.h"
 #include "except.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-ssa-propagate.h"
 #include "tree-scalar-evolution.h"
diff --git a/gcc/tree-chkp-opt.c b/gcc/tree-chkp-opt.c
index 92e0694..4f8b16e 100644
--- a/gcc/tree-chkp-opt.c
+++ b/gcc/tree-chkp-opt.c
@@ -27,6 +27,20 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree-cfg.h"
 #include "tree-pass.h"
 #include "is-a.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
+#include "function.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "stringpool.h"
 #include "tree-ssa-alias.h"
diff --git a/gcc/tree-chkp.c b/gcc/tree-chkp.c
index e7b9bbf..986db5f 100644
--- a/gcc/tree-chkp.c
+++ b/gcc/tree-chkp.c
@@ -33,6 +33,20 @@  along with GCC; see the file COPYING3.  If not see
 #include "diagnostic.h"
 #include "ggc.h"
 #include "is-a.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
+#include "function.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "stringpool.h"
 #include "tree-ssa-alias.h"
diff --git a/gcc/tree-chrec.c b/gcc/tree-chrec.c
index 15f007a..6dba0df 100644
--- a/gcc/tree-chrec.c
+++ b/gcc/tree-chrec.c
@@ -28,16 +28,22 @@  along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tree.h"
 #include "tree-pretty-print.h"
-#include "cfgloop.h"
-#include "predict.h"
-#include "vec.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
 #include "hashtab.h"
 #include "hash-set.h"
+#include "vec.h"
 #include "machmode.h"
 #include "tm.h"
 #include "hard-reg-set.h"
 #include "input.h"
 #include "function.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
+#include "cfgloop.h"
+#include "predict.h"
 #include "dominance.h"
 #include "cfg.h"
 #include "basic-block.h"
diff --git a/gcc/tree-complex.c b/gcc/tree-complex.c
index 7fe7c2d..5bbd739 100644
--- a/gcc/tree-complex.c
+++ b/gcc/tree-complex.c
@@ -57,6 +57,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree-pass.h"
 #include "tree-ssa-propagate.h"
 #include "tree-hasher.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 
 
diff --git a/gcc/tree-data-ref.c b/gcc/tree-data-ref.c
index 387da6c..0334184 100644
--- a/gcc/tree-data-ref.c
+++ b/gcc/tree-data-ref.c
@@ -100,6 +100,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree-ssa-loop-niter.h"
 #include "tree-ssa-loop.h"
 #include "tree-ssa.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-data-ref.h"
 #include "tree-scalar-evolution.h"
diff --git a/gcc/tree-eh.c b/gcc/tree-eh.c
index 5d151f7..796f7bb 100644
--- a/gcc/tree-eh.c
+++ b/gcc/tree-eh.c
@@ -64,6 +64,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "langhooks.h"
 #include "diagnostic-core.h"
 #include "target.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "gimple-low.h"
 
diff --git a/gcc/tree-if-conv.c b/gcc/tree-if-conv.c
index 269fda5..b361729 100644
--- a/gcc/tree-if-conv.c
+++ b/gcc/tree-if-conv.c
@@ -116,6 +116,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree-ssanames.h"
 #include "tree-into-ssa.h"
 #include "tree-ssa.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-chrec.h"
 #include "tree-data-ref.h"
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
index 0a75489..5c658b9 100644
--- a/gcc/tree-inline.c
+++ b/gcc/tree-inline.c
@@ -78,6 +78,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "value-prof.h"
 #include "tree-pass.h"
 #include "target.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "builtins.h"
 #include "tree-chkp.h"
diff --git a/gcc/tree-into-ssa.c b/gcc/tree-into-ssa.c
index b5a854f..cde0444 100644
--- a/gcc/tree-into-ssa.c
+++ b/gcc/tree-into-ssa.c
@@ -58,6 +58,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree-ssa.h"
 #include "tree-inline.h"
 #include "tree-pass.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "domwalk.h"
 #include "params.h"
diff --git a/gcc/tree-loop-distribution.c b/gcc/tree-loop-distribution.c
index f2d63d7..1a4f2f3 100644
--- a/gcc/tree-loop-distribution.c
+++ b/gcc/tree-loop-distribution.c
@@ -76,6 +76,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree-ssa-loop.h"
 #include "tree-into-ssa.h"
 #include "tree-ssa.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-chrec.h"
 #include "tree-data-ref.h"
diff --git a/gcc/tree-parloops.c b/gcc/tree-parloops.c
index 7af5993..641595b 100644
--- a/gcc/tree-parloops.c
+++ b/gcc/tree-parloops.c
@@ -57,6 +57,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree-ssa-loop-niter.h"
 #include "tree-ssa-loop.h"
 #include "tree-into-ssa.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-data-ref.h"
 #include "tree-scalar-evolution.h"
diff --git a/gcc/tree-predcom.c b/gcc/tree-predcom.c
index 3482bf0..5ed290b 100644
--- a/gcc/tree-predcom.c
+++ b/gcc/tree-predcom.c
@@ -190,15 +190,21 @@  along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "tree.h"
 #include "tm_p.h"
-#include "cfgloop.h"
-#include "predict.h"
-#include "vec.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
 #include "hashtab.h"
 #include "hash-set.h"
+#include "vec.h"
 #include "machmode.h"
 #include "hard-reg-set.h"
 #include "input.h"
 #include "function.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
+#include "cfgloop.h"
+#include "predict.h"
 #include "dominance.h"
 #include "cfg.h"
 #include "basic-block.h"
diff --git a/gcc/tree-scalar-evolution.c b/gcc/tree-scalar-evolution.c
index 5183cb8..a166a29 100644
--- a/gcc/tree-scalar-evolution.c
+++ b/gcc/tree-scalar-evolution.c
@@ -289,6 +289,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree-ssa-loop-niter.h"
 #include "tree-ssa-loop.h"
 #include "tree-ssa.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-chrec.h"
 #include "tree-affine.h"
diff --git a/gcc/tree-ssa-copy.c b/gcc/tree-ssa-copy.c
index 3833dff..e41696f 100644
--- a/gcc/tree-ssa-copy.c
+++ b/gcc/tree-ssa-copy.c
@@ -51,6 +51,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree-pass.h"
 #include "tree-ssa-propagate.h"
 #include "langhooks.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-scalar-evolution.h"
 #include "tree-ssa-dom.h"
diff --git a/gcc/tree-ssa-dce.c b/gcc/tree-ssa-dce.c
index 1d887c2..7ae2da4 100644
--- a/gcc/tree-ssa-dce.c
+++ b/gcc/tree-ssa-dce.c
@@ -82,6 +82,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree-dfa.h"
 #include "tree-pass.h"
 #include "flags.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-scalar-evolution.h"
 #include "tree-chkp.h"
diff --git a/gcc/tree-ssa-dom.c b/gcc/tree-ssa-dom.c
index 60be376..50d91cf 100644
--- a/gcc/tree-ssa-dom.c
+++ b/gcc/tree-ssa-dom.c
@@ -39,6 +39,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "cfg.h"
 #include "cfganal.h"
 #include "basic-block.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "inchash.h"
 #include "gimple-pretty-print.h"
diff --git a/gcc/tree-ssa-forwprop.c b/gcc/tree-ssa-forwprop.c
index 6c14e13..354d43d 100644
--- a/gcc/tree-ssa-forwprop.c
+++ b/gcc/tree-ssa-forwprop.c
@@ -59,6 +59,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "flags.h"
 #include "diagnostic.h"
 #include "expr.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "insn-codes.h"
 #include "optabs.h"
diff --git a/gcc/tree-ssa-loop-ch.c b/gcc/tree-ssa-loop-ch.c
index 300b2fa..74322e2 100644
--- a/gcc/tree-ssa-loop-ch.c
+++ b/gcc/tree-ssa-loop-ch.c
@@ -44,6 +44,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree-cfg.h"
 #include "tree-into-ssa.h"
 #include "tree-pass.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-inline.h"
 #include "flags.h"
diff --git a/gcc/tree-ssa-loop-im.c b/gcc/tree-ssa-loop-im.c
index 2c676e3..1d3c9c1 100644
--- a/gcc/tree-ssa-loop-im.c
+++ b/gcc/tree-ssa-loop-im.c
@@ -55,6 +55,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree-ssa-loop-manip.h"
 #include "tree-ssa-loop.h"
 #include "tree-into-ssa.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "domwalk.h"
 #include "params.h"
diff --git a/gcc/tree-ssa-loop-ivcanon.c b/gcc/tree-ssa-loop-ivcanon.c
index 7dc5adc..29f906c 100644
--- a/gcc/tree-ssa-loop-ivcanon.c
+++ b/gcc/tree-ssa-loop-ivcanon.c
@@ -76,6 +76,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree-ssa-loop-niter.h"
 #include "tree-ssa-loop.h"
 #include "tree-into-ssa.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-pass.h"
 #include "tree-chrec.h"
diff --git a/gcc/tree-ssa-loop-ivopts.c b/gcc/tree-ssa-loop-ivopts.c
index fca18b6..5eea229 100644
--- a/gcc/tree-ssa-loop-ivopts.c
+++ b/gcc/tree-ssa-loop-ivopts.c
@@ -107,6 +107,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "expr.h"
 #include "tree-dfa.h"
 #include "tree-ssa.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-pass.h"
 #include "insn-config.h"
diff --git a/gcc/tree-ssa-loop-manip.c b/gcc/tree-ssa-loop-manip.c
index 124b67a..6891156 100644
--- a/gcc/tree-ssa-loop-manip.c
+++ b/gcc/tree-ssa-loop-manip.c
@@ -57,6 +57,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree-ssa.h"
 #include "dumpfile.h"
 #include "gimple-pretty-print.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-pass.h"	/* ??? for TODO_update_ssa but this isn't a pass.  */
 #include "tree-scalar-evolution.h"
diff --git a/gcc/tree-ssa-loop-niter.c b/gcc/tree-ssa-loop-niter.c
index d17227f..ccf18e2 100644
--- a/gcc/tree-ssa-loop-niter.c
+++ b/gcc/tree-ssa-loop-niter.c
@@ -53,6 +53,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree-ssa-loop-niter.h"
 #include "tree-ssa-loop.h"
 #include "dumpfile.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-chrec.h"
 #include "tree-scalar-evolution.h"
diff --git a/gcc/tree-ssa-loop-prefetch.c b/gcc/tree-ssa-loop-prefetch.c
index 28ebb37..886a031 100644
--- a/gcc/tree-ssa-loop-prefetch.c
+++ b/gcc/tree-ssa-loop-prefetch.c
@@ -50,6 +50,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree-ssa-loop-niter.h"
 #include "tree-ssa-loop.h"
 #include "tree-into-ssa.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-pass.h"
 #include "insn-config.h"
diff --git a/gcc/tree-ssa-loop-unswitch.c b/gcc/tree-ssa-loop-unswitch.c
index bad33ae..169d5d0 100644
--- a/gcc/tree-ssa-loop-unswitch.c
+++ b/gcc/tree-ssa-loop-unswitch.c
@@ -47,6 +47,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree-ssa-loop-niter.h"
 #include "tree-ssa-loop.h"
 #include "tree-into-ssa.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "params.h"
 #include "tree-pass.h"
diff --git a/gcc/tree-ssa-loop.c b/gcc/tree-ssa-loop.c
index 758b5fc..fb2974e 100644
--- a/gcc/tree-ssa-loop.c
+++ b/gcc/tree-ssa-loop.c
@@ -45,6 +45,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree-ssa-loop-niter.h"
 #include "tree-ssa-loop.h"
 #include "tree-pass.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "flags.h"
 #include "tree-inline.h"
diff --git a/gcc/tree-ssa-phiopt.c b/gcc/tree-ssa-phiopt.c
index 5a3519d..7a66226 100644
--- a/gcc/tree-ssa-phiopt.c
+++ b/gcc/tree-ssa-phiopt.c
@@ -57,6 +57,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree-pass.h"
 #include "langhooks.h"
 #include "domwalk.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-data-ref.h"
 #include "gimple-pretty-print.h"
diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c
index 933cf36..2f7fc6d 100644
--- a/gcc/tree-ssa-pre.c
+++ b/gcc/tree-ssa-pre.c
@@ -67,6 +67,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree-pass.h"
 #include "flags.h"
 #include "langhooks.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-ssa-sccvn.h"
 #include "tree-scalar-evolution.h"
diff --git a/gcc/tree-ssa-reassoc.c b/gcc/tree-ssa-reassoc.c
index 68a67b6..91f6eb0 100644
--- a/gcc/tree-ssa-reassoc.c
+++ b/gcc/tree-ssa-reassoc.c
@@ -66,6 +66,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree-pass.h"
 #include "alloc-pool.h"
 #include "langhooks.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "flags.h"
 #include "target.h"
diff --git a/gcc/tree-ssa-sccvn.c b/gcc/tree-ssa-sccvn.c
index 7f69415..19ea6a1 100644
--- a/gcc/tree-ssa-sccvn.c
+++ b/gcc/tree-ssa-sccvn.c
@@ -59,6 +59,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "dumpfile.h"
 #include "alloc-pool.h"
 #include "flags.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "params.h"
 #include "tree-ssa-propagate.h"
diff --git a/gcc/tree-ssa-sink.c b/gcc/tree-ssa-sink.c
index c6d8712..c278baa 100644
--- a/gcc/tree-ssa-sink.c
+++ b/gcc/tree-ssa-sink.c
@@ -52,6 +52,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "alloc-pool.h"
 #include "tree-pass.h"
 #include "flags.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "params.h"
 
diff --git a/gcc/tree-ssa-tail-merge.c b/gcc/tree-ssa-tail-merge.c
index 07814c9..7fc0640 100644
--- a/gcc/tree-ssa-tail-merge.c
+++ b/gcc/tree-ssa-tail-merge.c
@@ -225,6 +225,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "gimple-pretty-print.h"
 #include "tree-ssa-sccvn.h"
 #include "tree-dump.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-pass.h"
 #include "trans-mem.h"
diff --git a/gcc/tree-ssa-threadedge.c b/gcc/tree-ssa-threadedge.c
index ce70311..1a7ac63 100644
--- a/gcc/tree-ssa-threadedge.c
+++ b/gcc/tree-ssa-threadedge.c
@@ -35,6 +35,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "function.h"
 #include "dominance.h"
 #include "basic-block.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "timevar.h"
 #include "dumpfile.h"
diff --git a/gcc/tree-ssa-threadupdate.c b/gcc/tree-ssa-threadupdate.c
index 12f83ba..8f5e364 100644
--- a/gcc/tree-ssa-threadupdate.c
+++ b/gcc/tree-ssa-threadupdate.c
@@ -48,6 +48,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree-ssa-threadupdate.h"
 #include "ssa-iterators.h"
 #include "dumpfile.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "dbgcnt.h"
 #include "tree-cfg.h"
diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c
index 835e3c1..d59748a 100644
--- a/gcc/tree-ssa.c
+++ b/gcc/tree-ssa.c
@@ -60,6 +60,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "hash-map.h"
 #include "tree-pass.h"
 #include "diagnostic-core.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "cfgexpand.h"
 
diff --git a/gcc/tree-switch-conversion.c b/gcc/tree-switch-conversion.c
index eb5fbeb..a3b1b41 100644
--- a/gcc/tree-switch-conversion.c
+++ b/gcc/tree-switch-conversion.c
@@ -63,6 +63,12 @@  Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
 #include "tree-ssanames.h"
 #include "tree-pass.h"
 #include "gimple-pretty-print.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 
 /* ??? For lang_hooks.types.type_for_mode, but is there a word_mode
diff --git a/gcc/tree-tailcall.c b/gcc/tree-tailcall.c
index 8f5c773..213f934 100644
--- a/gcc/tree-tailcall.c
+++ b/gcc/tree-tailcall.c
@@ -57,6 +57,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "langhooks.h"
 #include "dbgcnt.h"
 #include "target.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "common/common-target.h"
 #include "hash-map.h"
diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c
index f7b192f..dcbe5b4 100644
--- a/gcc/tree-vect-data-refs.c
+++ b/gcc/tree-vect-data-refs.c
@@ -58,6 +58,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree-ssa-loop-manip.h"
 #include "tree-ssa-loop.h"
 #include "dumpfile.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-chrec.h"
 #include "tree-scalar-evolution.h"
diff --git a/gcc/tree-vect-loop-manip.c b/gcc/tree-vect-loop-manip.c
index a318a7e..5dc5d7a 100644
--- a/gcc/tree-vect-loop-manip.c
+++ b/gcc/tree-vect-loop-manip.c
@@ -56,6 +56,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree-into-ssa.h"
 #include "tree-ssa.h"
 #include "tree-pass.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "diagnostic-core.h"
 #include "tree-scalar-evolution.h"
diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c
index d1d4596..1117c30 100644
--- a/gcc/tree-vect-loop.c
+++ b/gcc/tree-vect-loop.c
@@ -56,6 +56,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "tree-ssa-loop-manip.h"
 #include "tree-ssa-loop-niter.h"
 #include "tree-pass.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "expr.h"
 #include "recog.h"
diff --git a/gcc/tree-vect-patterns.c b/gcc/tree-vect-patterns.c
index d5effab..8db1743 100644
--- a/gcc/tree-vect-patterns.c
+++ b/gcc/tree-vect-patterns.c
@@ -49,6 +49,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "ssa-iterators.h"
 #include "stringpool.h"
 #include "tree-ssanames.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "expr.h"
 #include "insn-codes.h"
diff --git a/gcc/tree-vect-slp.c b/gcc/tree-vect-slp.c
index f43b724..789041a 100644
--- a/gcc/tree-vect-slp.c
+++ b/gcc/tree-vect-slp.c
@@ -49,6 +49,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "stringpool.h"
 #include "tree-ssanames.h"
 #include "tree-pass.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "expr.h"
 #include "recog.h"		/* FIXME: for insn_data */
diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c
index 52f9d31..00c7054 100644
--- a/gcc/tree-vect-stmts.c
+++ b/gcc/tree-vect-stmts.c
@@ -55,6 +55,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "stringpool.h"
 #include "tree-ssanames.h"
 #include "tree-ssa-loop-manip.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-ssa-loop.h"
 #include "tree-scalar-evolution.h"
diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c
index dc37d1f..4f92069 100644
--- a/gcc/tree-vectorizer.c
+++ b/gcc/tree-vectorizer.c
@@ -89,6 +89,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "ssa-iterators.h"
 #include "tree-ssa-loop-manip.h"
 #include "tree-cfg.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-vectorizer.h"
 #include "tree-pass.h"
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c
index bd238d5..9a5104a 100644
--- a/gcc/tree-vrp.c
+++ b/gcc/tree-vrp.c
@@ -63,6 +63,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "gimple-pretty-print.h"
 #include "diagnostic-core.h"
 #include "intl.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "tree-scalar-evolution.h"
 #include "tree-ssa-propagate.h"
@@ -72,7 +78,6 @@  along with GCC; see the file COPYING3.  If not see
 #include "insn-codes.h"
 #include "optabs.h"
 #include "tree-ssa-threadedge.h"
-#include "wide-int.h"
 
 
 
diff --git a/gcc/ubsan.c b/gcc/ubsan.c
index fb5f104..d6d807f 100644
--- a/gcc/ubsan.c
+++ b/gcc/ubsan.c
@@ -54,6 +54,12 @@  along with GCC; see the file COPYING3.  If not see
 #include "output.h"
 #include "tm_p.h"
 #include "toplev.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 #include "ubsan.h"
 #include "c-family/c-common.h"
diff --git a/gcc/vtable-verify.c b/gcc/vtable-verify.c
index c7105d5..3801c9e 100644
--- a/gcc/vtable-verify.c
+++ b/gcc/vtable-verify.c
@@ -160,6 +160,20 @@  along with GCC; see the file COPYING3.  If not see
 #include "stringpool.h"
 #include "tree-ssanames.h"
 #include "tree-pass.h"
+#include "double-int.h"
+#include "wide-int.h"
+#include "bitmap.h"
+#include "sbitmap.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
+#include "function.h"
+#include "cfgloopmanip.h"
+#include "cfgloopanal.h"
 #include "cfgloop.h"
 
 #include "vtable-verify.h"