diff --git a/gcc/alias.c b/gcc/alias.c
index e8675c5..6b94078 100644
--- a/gcc/alias.c
+++ b/gcc/alias.c
@@ -25,8 +25,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "rtl.h"
 #include "tree.h"
 #include "varasm.h"
-#include "expr.h"
-#include "tm_p.h"
 #include "hashtab.h"
 #include "hash-set.h"
 #include "vec.h"
@@ -34,10 +32,16 @@ along with GCC; see the file COPYING3.  If not see
 #include "hard-reg-set.h"
 #include "input.h"
 #include "function.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
 #include "alias.h"
 #include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "tm_p.h"
 #include "regs.h"
-#include "flags.h"
 #include "diagnostic-core.h"
 #include "cselib.h"
 #include "hash-map.h"
diff --git a/gcc/asan.c b/gcc/asan.c
index e33cdc8..ca57bf7 100644
--- a/gcc/asan.c
+++ b/gcc/asan.c
@@ -59,6 +59,14 @@ along with GCC; see the file COPYING3.  If not see
 #include "asan.h"
 #include "gimple-pretty-print.h"
 #include "target.h"
+#include "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "insn-codes.h"
 #include "optabs.h"
diff --git a/gcc/auto-inc-dec.c b/gcc/auto-inc-dec.c
index d0d2be6..0cb3c8e 100644
--- a/gcc/auto-inc-dec.c
+++ b/gcc/auto-inc-dec.c
@@ -43,6 +43,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "except.h"
 #include "diagnostic-core.h"
 #include "recog.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-pass.h"
 #include "df.h"
diff --git a/gcc/bb-reorder.c b/gcc/bb-reorder.c
index b568114..b1376f0 100644
--- a/gcc/bb-reorder.c
+++ b/gcc/bb-reorder.c
@@ -97,6 +97,12 @@
 #include "function.h"
 #include "tm_p.h"
 #include "obstack.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "optabs.h"
 #include "params.h"
diff --git a/gcc/bt-load.c b/gcc/bt-load.c
index 53c4db3..3d7f677 100644
--- a/gcc/bt-load.c
+++ b/gcc/bt-load.c
@@ -26,15 +26,21 @@ along with GCC; see the file COPYING3.  If not see
 #include "hard-reg-set.h"
 #include "regs.h"
 #include "target.h"
-#include "expr.h"
-#include "flags.h"
-#include "insn-attr.h"
 #include "hashtab.h"
 #include "hash-set.h"
 #include "vec.h"
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "insn-attr.h"
 #include "except.h"
 #include "tm_p.h"
 #include "diagnostic-core.h"
diff --git a/gcc/builtins.c b/gcc/builtins.c
index 445bff2..9589431 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -48,6 +48,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "regs.h"
 #include "except.h"
 #include "insn-config.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "insn-codes.h"
 #include "optabs.h"
diff --git a/gcc/caller-save.c b/gcc/caller-save.c
index fdde47e..cc5de06 100644
--- a/gcc/caller-save.c
+++ b/gcc/caller-save.c
@@ -39,6 +39,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "basic-block.h"
 #include "df.h"
 #include "reload.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "diagnostic-core.h"
 #include "tm_p.h"
diff --git a/gcc/calls.c b/gcc/calls.c
index d6bfa0a..23c6c7e 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -42,6 +42,12 @@ along with GCC; see the file COPYING3.  If not see
 #include "is-a.h"
 #include "gimple.h"
 #include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "insn-codes.h"
 #include "optabs.h"
diff --git a/gcc/ccmp.c b/gcc/ccmp.c
index 9c239e2..e6cf6a8 100644
--- a/gcc/ccmp.c
+++ b/gcc/ccmp.c
@@ -27,6 +27,20 @@ along with GCC; see the file COPYING3.  If not see
 #include "stringpool.h"
 #include "stor-layout.h"
 #include "regs.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 "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "insn-codes.h"
 #include "optabs.h"
@@ -50,7 +64,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "cfgexpand.h"
 #include "tree-phinodes.h"
 #include "ssa-iterators.h"
-#include "expmed.h"
 #include "ccmp.h"
 
 /* The following functions expand conditional compare (CCMP) instructions.
diff --git a/gcc/cfgbuild.c b/gcc/cfgbuild.c
index 8732bf9..c6364c6 100644
--- a/gcc/cfgbuild.c
+++ b/gcc/cfgbuild.c
@@ -41,6 +41,12 @@ along with GCC; see the file COPYING3.  If not see
 #include "regs.h"
 #include "flags.h"
 #include "except.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "diagnostic-core.h"
 #include "timevar.h"
diff --git a/gcc/cfgcleanup.c b/gcc/cfgcleanup.c
index 2ea0126..0bb4117 100644
--- a/gcc/cfgcleanup.c
+++ b/gcc/cfgcleanup.c
@@ -54,6 +54,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "emit-rtl.h"
 #include "tree-pass.h"
 #include "cfgloop.h"
+#include "function.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "dominance.h"
 #include "cfg.h"
@@ -66,7 +71,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "df.h"
 #include "dce.h"
 #include "dbgcnt.h"
-#include "emit-rtl.h"
 #include "rtl-iter.h"
 
 #define FORWARDER_BLOCK_P(BB) ((BB)->flags & BB_FORWARDER_BLOCK)
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c
index d85dbca..d465f75 100644
--- a/gcc/cfgexpand.c
+++ b/gcc/cfgexpand.c
@@ -46,6 +46,12 @@ along with GCC; see the file COPYING3.  If not see
 #include "basic-block.h"
 #include "insn-codes.h"
 #include "optabs.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
 #include "expr.h"
 #include "langhooks.h"
 #include "bitmap.h"
@@ -70,7 +76,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree-ssa.h"
 #include "tree-pass.h"
 #include "except.h"
-#include "flags.h"
 #include "diagnostic.h"
 #include "gimple-pretty-print.h"
 #include "toplev.h"
diff --git a/gcc/cfgloopanal.c b/gcc/cfgloopanal.c
index a2722cb..2a71cb6 100644
--- a/gcc/cfgloopanal.c
+++ b/gcc/cfgloopanal.c
@@ -35,6 +35,13 @@ along with GCC; see the file COPYING3.  If not see
 #include "cfg.h"
 #include "basic-block.h"
 #include "cfgloop.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "graphds.h"
 #include "params.h"
diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c
index 42d21d7..7aa1beb 100644
--- a/gcc/cfgrtl.c
+++ b/gcc/cfgrtl.c
@@ -66,6 +66,12 @@ along with GCC; see the file COPYING3.  If not see
 #include "obstack.h"
 #include "insn-attr.h"
 #include "insn-config.h"
+#include "rtl.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "target.h"
 #include "common/common-target.h"
diff --git a/gcc/cgraph.c b/gcc/cgraph.c
index 50c7b34..be5df49 100644
--- a/gcc/cgraph.c
+++ b/gcc/cgraph.c
@@ -76,6 +76,12 @@ along with GCC; see the file COPYING3.  If not see
 #include "ipa-inline.h"
 #include "cfgloop.h"
 #include "gimple-pretty-print.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-dfa.h"
 #include "profile.h"
diff --git a/gcc/cilk-common.c b/gcc/cilk-common.c
index 48c8aa6..4db2c12 100644
--- a/gcc/cilk-common.c
+++ b/gcc/cilk-common.c
@@ -27,6 +27,22 @@ along with GCC; see the file COPYING3.  If not see
 #include "stringpool.h"
 #include "stor-layout.h"
 #include "langhooks.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 "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "insn-codes.h"
 #include "optabs.h"
diff --git a/gcc/combine-stack-adj.c b/gcc/combine-stack-adj.c
index fa3ec99..43ead21 100644
--- a/gcc/combine-stack-adj.c
+++ b/gcc/combine-stack-adj.c
@@ -55,6 +55,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "predict.h"
 #include "dominance.h"
diff --git a/gcc/combine.c b/gcc/combine.c
index ee7b3f9..f09267a 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -100,6 +100,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "basic-block.h"
 #include "insn-config.h"
 /* Include expr.h after insn-config.h so we get HAVE_conditional_move.  */
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "insn-attr.h"
 #include "recog.h"
@@ -119,7 +124,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "cgraph.h"
 #include "obstack.h"
 #include "statistics.h"
-#include "params.h"
 #include "rtl-iter.h"
 
 /* Number of attempts to combine instructions in this function.  */
diff --git a/gcc/config/aarch64/aarch64-builtins.c b/gcc/config/aarch64/aarch64-builtins.c
index e3779a4..cabde9c 100644
--- a/gcc/config/aarch64/aarch64-builtins.c
+++ b/gcc/config/aarch64/aarch64-builtins.c
@@ -27,6 +27,20 @@
 #include "stor-layout.h"
 #include "stringpool.h"
 #include "calls.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 "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tm_p.h"
 #include "recog.h"
@@ -35,15 +49,8 @@
 #include "insn-codes.h"
 #include "optabs.h"
 #include "hash-table.h"
-#include "vec.h"
 #include "ggc.h"
 #include "predict.h"
-#include "hashtab.h"
-#include "hash-set.h"
-#include "machmode.h"
-#include "hard-reg-set.h"
-#include "input.h"
-#include "function.h"
 #include "dominance.h"
 #include "cfg.h"
 #include "cfgrtl.h"
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index 226a808..aa1b0376 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -43,6 +43,19 @@
 #include "df.h"
 #include "hard-reg-set.h"
 #include "output.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "input.h"
+#include "function.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "reload.h"
 #include "toplev.h"
@@ -50,12 +63,6 @@
 #include "target-def.h"
 #include "targhooks.h"
 #include "ggc.h"
-#include "hashtab.h"
-#include "hash-set.h"
-#include "vec.h"
-#include "machmode.h"
-#include "input.h"
-#include "function.h"
 #include "tm_p.h"
 #include "recog.h"
 #include "langhooks.h"
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c
index afcede9..b5817db 100644
--- a/gcc/config/alpha/alpha.c
+++ b/gcc/config/alpha/alpha.c
@@ -36,18 +36,23 @@ along with GCC; see the file COPYING3.  If not see
 #include "insn-attr.h"
 #include "flags.h"
 #include "recog.h"
-#include "expr.h"
-#include "insn-codes.h"
-#include "optabs.h"
-#include "reload.h"
-#include "obstack.h"
-#include "except.h"
 #include "hashtab.h"
 #include "hash-set.h"
 #include "vec.h"
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "insn-codes.h"
+#include "optabs.h"
+#include "reload.h"
+#include "obstack.h"
+#include "except.h"
 #include "diagnostic-core.h"
 #include "ggc.h"
 #include "tm_p.h"
diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c
index 764f736..39e8313 100644
--- a/gcc/config/arc/arc.c
+++ b/gcc/config/arc/arc.c
@@ -57,6 +57,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "output.h"
 #include "insn-attr.h"
 #include "flags.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "recog.h"
 #include "debug.h"
diff --git a/gcc/config/arm/arm-builtins.c b/gcc/config/arm/arm-builtins.c
index 62eb9f7..b12f9c1 100644
--- a/gcc/config/arm/arm-builtins.c
+++ b/gcc/config/arm/arm-builtins.c
@@ -24,6 +24,20 @@
 #include "rtl.h"
 #include "tree.h"
 #include "stor-layout.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 "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tm_p.h"
 #include "recog.h"
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 0ec526b..cedb59b 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -46,6 +46,11 @@
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "insn-codes.h"
 #include "optabs.h"
diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c
index bc83adb..8c884c5 100644
--- a/gcc/config/avr/avr.c
+++ b/gcc/config/avr/avr.c
@@ -38,16 +38,21 @@
 #include "stor-layout.h"
 #include "stringpool.h"
 #include "output.h"
-#include "expr.h"
-#include "c-family/c-common.h"
-#include "diagnostic-core.h"
-#include "obstack.h"
 #include "hashtab.h"
 #include "hash-set.h"
 #include "vec.h"
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "c-family/c-common.h"
+#include "diagnostic-core.h"
+#include "obstack.h"
 #include "recog.h"
 #include "optabs.h"
 #include "ggc.h"
diff --git a/gcc/config/bfin/bfin.c b/gcc/config/bfin/bfin.c
index 4c9ce57..e473103 100644
--- a/gcc/config/bfin/bfin.c
+++ b/gcc/config/bfin/bfin.c
@@ -44,6 +44,11 @@
 #include "function.h"
 #include "target.h"
 #include "target-def.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "diagnostic-core.h"
 #include "recog.h"
diff --git a/gcc/config/c6x/c6x.c b/gcc/config/c6x/c6x.c
index 9d2415a..b494167 100644
--- a/gcc/config/c6x/c6x.c
+++ b/gcc/config/c6x/c6x.c
@@ -33,6 +33,20 @@
 #include "output.h"
 #include "insn-attr.h"
 #include "insn-codes.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 "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "regs.h"
 #include "optabs.h"
@@ -53,13 +67,6 @@
 #include "tm-preds.h"
 #include "tm-constrs.h"
 #include "df.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 "diagnostic-core.h"
 #include "hash-map.h"
 #include "is-a.h"
diff --git a/gcc/config/cr16/cr16.c b/gcc/config/cr16/cr16.c
index be7d663..b3dd227 100644
--- a/gcc/config/cr16/cr16.c
+++ b/gcc/config/cr16/cr16.c
@@ -43,6 +43,11 @@
 #include "input.h"
 #include "function.h"
 #include "recog.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "optabs.h"
 #include "diagnostic-core.h"
diff --git a/gcc/config/cris/cris.c b/gcc/config/cris/cris.c
index 1983ae0..c943beb 100644
--- a/gcc/config/cris/cris.c
+++ b/gcc/config/cris/cris.c
@@ -34,14 +34,18 @@ along with GCC; see the file COPYING3.  If not see
 #include "stor-layout.h"
 #include "calls.h"
 #include "stmt.h"
-#include "expr.h"
-#include "except.h"
 #include "hashtab.h"
 #include "hash-set.h"
 #include "vec.h"
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "expr.h"
+#include "except.h"
 #include "diagnostic-core.h"
 #include "recog.h"
 #include "reload.h"
diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c
index 1785e85..7838669 100644
--- a/gcc/config/darwin.c
+++ b/gcc/config/darwin.c
@@ -35,14 +35,19 @@ along with GCC; see the file COPYING3.  If not see
 #include "stringpool.h"
 #include "varasm.h"
 #include "stor-layout.h"
-#include "expr.h"
-#include "reload.h"
 #include "hashtab.h"
 #include "hash-set.h"
 #include "vec.h"
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "reload.h"
 #include "ggc.h"
 #include "langhooks.h"
 #include "target.h"
diff --git a/gcc/config/epiphany/epiphany.c b/gcc/config/epiphany/epiphany.c
index 92024aa..bb24bc9 100644
--- a/gcc/config/epiphany/epiphany.c
+++ b/gcc/config/epiphany/epiphany.c
@@ -44,6 +44,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "function.h"
 #include "insn-codes.h"
 #include "optabs.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "diagnostic-core.h"
 #include "recog.h"
@@ -61,7 +66,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "basic-block.h"
 #include "df.h"
 #include "langhooks.h"
-#include "insn-codes.h"
 #include "ggc.h"
 #include "tm-constrs.h"
 #include "tree-pass.h"	/* for current_pass */
diff --git a/gcc/config/fr30/fr30.c b/gcc/config/fr30/fr30.c
index 4832b77..62e211f 100644
--- a/gcc/config/fr30/fr30.c
+++ b/gcc/config/fr30/fr30.c
@@ -36,15 +36,20 @@
 #include "stor-layout.h"
 #include "varasm.h"
 #include "output.h"
-#include "expr.h"
-#include "obstack.h"
-#include "except.h"
 #include "hashtab.h"
 #include "hash-set.h"
 #include "vec.h"
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "obstack.h"
+#include "except.h"
 #include "dominance.h"
 #include "cfg.h"
 #include "cfgrtl.h"
diff --git a/gcc/config/frv/frv.c b/gcc/config/frv/frv.c
index edd4a58..f52bf1f 100644
--- a/gcc/config/frv/frv.c
+++ b/gcc/config/frv/frv.c
@@ -36,15 +36,20 @@ along with GCC; see the file COPYING3.  If not see
 #include "flags.h"
 #include "recog.h"
 #include "reload.h"
-#include "expr.h"
-#include "obstack.h"
-#include "except.h"
 #include "hashtab.h"
 #include "hash-set.h"
 #include "vec.h"
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "obstack.h"
+#include "except.h"
 #include "insn-codes.h"
 #include "optabs.h"
 #include "diagnostic-core.h"
diff --git a/gcc/config/h8300/h8300.c b/gcc/config/h8300/h8300.c
index c949426..8bb3144 100644
--- a/gcc/config/h8300/h8300.c
+++ b/gcc/config/h8300/h8300.c
@@ -37,13 +37,18 @@ along with GCC; see the file COPYING3.  If not see
 #include "insn-attr.h"
 #include "flags.h"
 #include "recog.h"
-#include "expr.h"
 #include "hashtab.h"
 #include "hash-set.h"
 #include "vec.h"
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
 #include "insn-codes.h"
 #include "optabs.h"
 #include "diagnostic-core.h"
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index bfb135e..59a74cc 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -45,6 +45,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "input.h"
 #include "function.h"
 #include "recog.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "optabs.h"
 #include "diagnostic-core.h"
diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c
index 73d3289..e3f22a2 100644
--- a/gcc/config/ia64/ia64.c
+++ b/gcc/config/ia64/ia64.c
@@ -37,16 +37,21 @@ along with GCC; see the file COPYING3.  If not see
 #include "insn-attr.h"
 #include "flags.h"
 #include "recog.h"
-#include "expr.h"
-#include "insn-codes.h"
-#include "optabs.h"
-#include "except.h"
 #include "hashtab.h"
 #include "hash-set.h"
 #include "vec.h"
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "insn-codes.h"
+#include "optabs.h"
+#include "except.h"
 #include "ggc.h"
 #include "predict.h"
 #include "dominance.h"
diff --git a/gcc/config/iq2000/iq2000.c b/gcc/config/iq2000/iq2000.c
index 161eaf6..65a153a 100644
--- a/gcc/config/iq2000/iq2000.c
+++ b/gcc/config/iq2000/iq2000.c
@@ -39,6 +39,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "insn-codes.h"
 #include "optabs.h"
diff --git a/gcc/config/lm32/lm32.c b/gcc/config/lm32/lm32.c
index 449833c..be5aca3 100644
--- a/gcc/config/lm32/lm32.c
+++ b/gcc/config/lm32/lm32.c
@@ -50,8 +50,13 @@
 #include "output.h"
 #include "tree.h"
 #include "calls.h"
-#include "expr.h"
 #include "flags.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
 #include "reload.h"
 #include "tm_p.h"
 #include "diagnostic-core.h"
diff --git a/gcc/config/m32c/m32c.c b/gcc/config/m32c/m32c.c
index fa0e883..746452d 100644
--- a/gcc/config/m32c/m32c.c
+++ b/gcc/config/m32c/m32c.c
@@ -39,16 +39,21 @@
 #include "stor-layout.h"
 #include "varasm.h"
 #include "calls.h"
-#include "expr.h"
-#include "insn-codes.h"
-#include "optabs.h"
-#include "except.h"
 #include "hashtab.h"
 #include "hash-set.h"
 #include "vec.h"
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "insn-codes.h"
+#include "optabs.h"
+#include "except.h"
 #include "ggc.h"
 #include "target.h"
 #include "target-def.h"
diff --git a/gcc/config/m32r/m32r.c b/gcc/config/m32r/m32r.c
index 26b93bf..ffd7f95 100644
--- a/gcc/config/m32r/m32r.c
+++ b/gcc/config/m32r/m32r.c
@@ -35,13 +35,18 @@
 #include "dbxout.h"
 #include "insn-attr.h"
 #include "flags.h"
-#include "expr.h"
 #include "hashtab.h"
 #include "hash-set.h"
 #include "vec.h"
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
 #include "recog.h"
 #include "diagnostic-core.h"
 #include "ggc.h"
diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c
index d8abc0e..a7f9f6b 100644
--- a/gcc/config/m68k/m68k.c
+++ b/gcc/config/m68k/m68k.c
@@ -40,13 +40,18 @@ along with GCC; see the file COPYING3.  If not see
 #include "insn-attr.h"
 #include "recog.h"
 #include "diagnostic-core.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "reload.h"
 #include "tm_p.h"
 #include "target.h"
 #include "target-def.h"
 #include "debug.h"
-#include "flags.h"
 #include "dominance.h"
 #include "cfg.h"
 #include "cfgrtl.h"
diff --git a/gcc/config/mcore/mcore.c b/gcc/config/mcore/mcore.c
index c2db334..9c01998 100644
--- a/gcc/config/mcore/mcore.c
+++ b/gcc/config/mcore/mcore.c
@@ -37,15 +37,20 @@
 #include "insn-attr.h"
 #include "flags.h"
 #include "obstack.h"
-#include "expr.h"
-#include "reload.h"
-#include "recog.h"
 #include "hashtab.h"
 #include "hash-set.h"
 #include "vec.h"
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "reload.h"
+#include "recog.h"
 #include "ggc.h"
 #include "diagnostic-core.h"
 #include "target.h"
diff --git a/gcc/config/mep/mep.c b/gcc/config/mep/mep.c
index 7244db4..1c20013 100644
--- a/gcc/config/mep/mep.c
+++ b/gcc/config/mep/mep.c
@@ -38,15 +38,19 @@ along with GCC; see the file COPYING3.  If not see
 #include "flags.h"
 #include "recog.h"
 #include "obstack.h"
-#include "tree.h"
-#include "expr.h"
-#include "except.h"
 #include "hashtab.h"
 #include "hash-set.h"
 #include "vec.h"
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "except.h"
 #include "insn-codes.h"
 #include "optabs.h"
 #include "reload.h"
diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
index 7a44396..72a39b8 100644
--- a/gcc/config/microblaze/microblaze.c
+++ b/gcc/config/microblaze/microblaze.c
@@ -42,8 +42,13 @@
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
-#include "expr.h"
 #include "flags.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
 #include "reload.h"
 #include "output.h"
 #include "ggc.h"
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index 1aea23e..b702986 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -44,11 +44,16 @@ along with GCC; see the file COPYING3.  If not see
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "insn-codes.h"
 #include "optabs.h"
 #include "libfuncs.h"
-#include "flags.h"
 #include "reload.h"
 #include "tm_p.h"
 #include "ggc.h"
diff --git a/gcc/config/mmix/mmix.c b/gcc/config/mmix/mmix.c
index c143c8f..e6d6f51 100644
--- a/gcc/config/mmix/mmix.c
+++ b/gcc/config/mmix/mmix.c
@@ -47,6 +47,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "varasm.h"
 #include "stor-layout.h"
 #include "calls.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "diagnostic-core.h"
 #include "recog.h"
diff --git a/gcc/config/mn10300/mn10300.c b/gcc/config/mn10300/mn10300.c
index 1fc64ed..9a59db9 100644
--- a/gcc/config/mn10300/mn10300.c
+++ b/gcc/config/mn10300/mn10300.c
@@ -36,15 +36,20 @@
 #include "flags.h"
 #include "recog.h"
 #include "reload.h"
-#include "expr.h"
-#include "insn-codes.h"
-#include "optabs.h"
 #include "hashtab.h"
 #include "hash-set.h"
 #include "vec.h"
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "insn-codes.h"
+#include "optabs.h"
 #include "obstack.h"
 #include "diagnostic-core.h"
 #include "tm_p.h"
diff --git a/gcc/config/moxie/moxie.c b/gcc/config/moxie/moxie.c
index 148d26b..08a9a1a 100644
--- a/gcc/config/moxie/moxie.c
+++ b/gcc/config/moxie/moxie.c
@@ -39,16 +39,21 @@
 #include "stor-layout.h"
 #include "varasm.h"
 #include "calls.h"
-#include "expr.h"
-#include "insn-codes.h"
-#include "optabs.h"
-#include "except.h"
 #include "hashtab.h"
 #include "hash-set.h"
 #include "vec.h"
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "insn-codes.h"
+#include "optabs.h"
+#include "except.h"
 #include "ggc.h"
 #include "target.h"
 #include "target-def.h"
diff --git a/gcc/config/msp430/msp430.c b/gcc/config/msp430/msp430.c
index fe97f27..ef91422 100644
--- a/gcc/config/msp430/msp430.c
+++ b/gcc/config/msp430/msp430.c
@@ -39,6 +39,11 @@
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "insn-codes.h"
 #include "optabs.h"
diff --git a/gcc/config/nds32/nds32-cost.c b/gcc/config/nds32/nds32-cost.c
index 907737c..2411193 100644
--- a/gcc/config/nds32/nds32-cost.c
+++ b/gcc/config/nds32/nds32-cost.c
@@ -44,6 +44,12 @@
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "recog.h"
 #include "diagnostic-core.h"
diff --git a/gcc/config/nds32/nds32-fp-as-gp.c b/gcc/config/nds32/nds32-fp-as-gp.c
index f68a8e3..e0cd907 100644
--- a/gcc/config/nds32/nds32-fp-as-gp.c
+++ b/gcc/config/nds32/nds32-fp-as-gp.c
@@ -44,6 +44,12 @@
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "recog.h"
 #include "diagnostic-core.h"
diff --git a/gcc/config/nds32/nds32-intrinsic.c b/gcc/config/nds32/nds32-intrinsic.c
index 4c45e96..e3d3293 100644
--- a/gcc/config/nds32/nds32-intrinsic.c
+++ b/gcc/config/nds32/nds32-intrinsic.c
@@ -44,6 +44,12 @@
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "recog.h"
 #include "diagnostic-core.h"
diff --git a/gcc/config/nds32/nds32-isr.c b/gcc/config/nds32/nds32-isr.c
index ba8c412..f40e1b7 100644
--- a/gcc/config/nds32/nds32-isr.c
+++ b/gcc/config/nds32/nds32-isr.c
@@ -44,6 +44,12 @@
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "recog.h"
 #include "diagnostic-core.h"
diff --git a/gcc/config/nds32/nds32-md-auxiliary.c b/gcc/config/nds32/nds32-md-auxiliary.c
index ca78283..bee92f4 100644
--- a/gcc/config/nds32/nds32-md-auxiliary.c
+++ b/gcc/config/nds32/nds32-md-auxiliary.c
@@ -45,6 +45,12 @@
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "recog.h"
 #include "diagnostic-core.h"
diff --git a/gcc/config/nds32/nds32-memory-manipulation.c b/gcc/config/nds32/nds32-memory-manipulation.c
index b2c4555..e621ecb 100644
--- a/gcc/config/nds32/nds32-memory-manipulation.c
+++ b/gcc/config/nds32/nds32-memory-manipulation.c
@@ -45,6 +45,12 @@
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "recog.h"
 #include "diagnostic-core.h"
diff --git a/gcc/config/nds32/nds32-pipelines-auxiliary.c b/gcc/config/nds32/nds32-pipelines-auxiliary.c
index 23fc7f0..23e7da7 100644
--- a/gcc/config/nds32/nds32-pipelines-auxiliary.c
+++ b/gcc/config/nds32/nds32-pipelines-auxiliary.c
@@ -45,6 +45,12 @@
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "recog.h"
 #include "diagnostic-core.h"
diff --git a/gcc/config/nds32/nds32-predicates.c b/gcc/config/nds32/nds32-predicates.c
index 79c663b..458994e 100644
--- a/gcc/config/nds32/nds32-predicates.c
+++ b/gcc/config/nds32/nds32-predicates.c
@@ -44,6 +44,12 @@
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "recog.h"
 #include "diagnostic-core.h"
diff --git a/gcc/config/nds32/nds32.c b/gcc/config/nds32/nds32.c
index 5a8e24f..ded53a9 100644
--- a/gcc/config/nds32/nds32.c
+++ b/gcc/config/nds32/nds32.c
@@ -44,6 +44,12 @@
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "recog.h"
 #include "diagnostic-core.h"
diff --git a/gcc/config/nios2/nios2.c b/gcc/config/nios2/nios2.c
index 982112e..1cd5e9c 100644
--- a/gcc/config/nios2/nios2.c
+++ b/gcc/config/nios2/nios2.c
@@ -34,15 +34,20 @@
 #include "insn-attr.h"
 #include "flags.h"
 #include "recog.h"
-#include "expr.h"
-#include "insn-codes.h"
-#include "optabs.h"
 #include "hashtab.h"
 #include "hash-set.h"
 #include "vec.h"
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "insn-codes.h"
+#include "optabs.h"
 #include "ggc.h"
 #include "predict.h"
 #include "dominance.h"
diff --git a/gcc/config/nvptx/nvptx.c b/gcc/config/nvptx/nvptx.c
index ebc419f..8aa7880 100644
--- a/gcc/config/nvptx/nvptx.c
+++ b/gcc/config/nvptx/nvptx.c
@@ -29,6 +29,20 @@
 #include "output.h"
 #include "insn-attr.h"
 #include "insn-codes.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 "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "regs.h"
 #include "optabs.h"
@@ -38,7 +52,6 @@
 #include "tm_p.h"
 #include "tm-preds.h"
 #include "tm-constrs.h"
-#include "function.h"
 #include "langhooks.h"
 #include "dbxout.h"
 #include "target.h"
@@ -51,7 +64,6 @@
 #include "calls.h"
 #include "df.h"
 #include "builtins.h"
-#include "hashtab.h"
 
 /* Record the function decls we've written, and the libfuncs and function
    decls corresponding to them.  */
diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c
index 3549835..c4b4bd2 100644
--- a/gcc/config/pa/pa.c
+++ b/gcc/config/pa/pa.c
@@ -37,16 +37,21 @@ along with GCC; see the file COPYING3.  If not see
 #include "output.h"
 #include "dbxout.h"
 #include "except.h"
-#include "expr.h"
-#include "insn-codes.h"
-#include "optabs.h"
-#include "reload.h"
 #include "hashtab.h"
 #include "hash-set.h"
 #include "vec.h"
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "insn-codes.h"
+#include "optabs.h"
+#include "reload.h"
 #include "diagnostic-core.h"
 #include "ggc.h"
 #include "recog.h"
diff --git a/gcc/config/pdp11/pdp11.c b/gcc/config/pdp11/pdp11.c
index 5e66e78..262492d 100644
--- a/gcc/config/pdp11/pdp11.c
+++ b/gcc/config/pdp11/pdp11.c
@@ -41,6 +41,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "stor-layout.h"
 #include "varasm.h"
 #include "calls.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "diagnostic-core.h"
 #include "tm_p.h"
diff --git a/gcc/config/rl78/rl78.c b/gcc/config/rl78/rl78.c
index c7520aa..4545597 100644
--- a/gcc/config/rl78/rl78.c
+++ b/gcc/config/rl78/rl78.c
@@ -40,6 +40,11 @@
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "insn-codes.h"
 #include "optabs.h"
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 73152ce..ed7dc6d 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -37,16 +37,21 @@
 #include "calls.h"
 #include "print-tree.h"
 #include "varasm.h"
-#include "expr.h"
-#include "insn-codes.h"
-#include "optabs.h"
-#include "except.h"
 #include "hashtab.h"
 #include "hash-set.h"
 #include "vec.h"
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "insn-codes.h"
+#include "optabs.h"
+#include "except.h"
 #include "output.h"
 #include "dbxout.h"
 #include "predict.h"
diff --git a/gcc/config/rx/rx.c b/gcc/config/rx/rx.c
index e757566..6851cf2 100644
--- a/gcc/config/rx/rx.c
+++ b/gcc/config/rx/rx.c
@@ -44,6 +44,11 @@
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "insn-codes.h"
 #include "optabs.h"
diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c
index ae3ffd1..8554c68 100644
--- a/gcc/config/s390/s390.c
+++ b/gcc/config/s390/s390.c
@@ -47,6 +47,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "input.h"
 #include "function.h"
 #include "recog.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "reload.h"
 #include "diagnostic-core.h"
diff --git a/gcc/config/sh/sh-mem.cc b/gcc/config/sh/sh-mem.cc
index 34a33c1..22dc96a 100644
--- a/gcc/config/sh/sh-mem.cc
+++ b/gcc/config/sh/sh-mem.cc
@@ -24,15 +24,22 @@ along with GCC; see the file COPYING3.  If not see
 #include "machmode.h"
 #include "rtl.h"
 #include "tree.h"
-#include "expr.h"
-#include "tm_p.h"
-#include "predict.h"
-#include "vec.h"
 #include "hashtab.h"
 #include "hash-set.h"
+#include "vec.h"
 #include "hard-reg-set.h"
 #include "input.h"
 #include "function.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "tm_p.h"
+#include "predict.h"
 #include "dominance.h"
 #include "cfg.h"
 #include "cfgrtl.h"
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index b89d048..2f7a4ed 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -34,10 +34,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "calls.h"
 #include "varasm.h"
 #include "flags.h"
-#include "expr.h"
-#include "insn-codes.h"
-#include "optabs.h"
-#include "reload.h"
 #include "hashtab.h"
 #include "hash-set.h"
 #include "vec.h"
@@ -45,6 +41,15 @@ along with GCC; see the file COPYING3.  If not see
 #include "hard-reg-set.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "insn-codes.h"
+#include "optabs.h"
+#include "reload.h"
 #include "regs.h"
 #include "output.h"
 #include "insn-attr.h"
@@ -10002,7 +10007,6 @@ reg_unused_after (rtx reg, rtx_insn *insn)
   return true;
 }
 
-#include "ggc.h"
 
 static GTY(()) rtx t_reg_rtx;
 rtx
diff --git a/gcc/config/sh/sh_treg_combine.cc b/gcc/config/sh/sh_treg_combine.cc
index 68c7fc1..fe328b0 100644
--- a/gcc/config/sh/sh_treg_combine.cc
+++ b/gcc/config/sh/sh_treg_combine.cc
@@ -48,6 +48,10 @@ along with GCC; see the file COPYING3.  If not see
 #include "target.h"
 #include "tree-core.h"
 #include "optabs.h"
+#include "flags.h"
+#include "alias.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 
 #include <algorithm>
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c
index 1d0d45a..a5ed03a 100644
--- a/gcc/config/sparc/sparc.c
+++ b/gcc/config/sparc/sparc.c
@@ -45,6 +45,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "input.h"
 #include "function.h"
 #include "except.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "optabs.h"
 #include "recog.h"
diff --git a/gcc/config/spu/spu.c b/gcc/config/spu/spu.c
index 2009085..ac19978 100644
--- a/gcc/config/spu/spu.c
+++ b/gcc/config/spu/spu.c
@@ -32,16 +32,21 @@
 #include "stor-layout.h"
 #include "calls.h"
 #include "varasm.h"
-#include "expr.h"
-#include "insn-codes.h"
-#include "optabs.h"
-#include "except.h"
 #include "hashtab.h"
 #include "hash-set.h"
 #include "vec.h"
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "insn-codes.h"
+#include "optabs.h"
+#include "except.h"
 #include "output.h"
 #include "predict.h"
 #include "dominance.h"
diff --git a/gcc/config/stormy16/stormy16.c b/gcc/config/stormy16/stormy16.c
index 0b15487..08be86e 100644
--- a/gcc/config/stormy16/stormy16.c
+++ b/gcc/config/stormy16/stormy16.c
@@ -39,16 +39,21 @@
 #include "stor-layout.h"
 #include "varasm.h"
 #include "calls.h"
-#include "expr.h"
-#include "insn-codes.h"
-#include "optabs.h"
-#include "except.h"
 #include "hashtab.h"
 #include "hash-set.h"
 #include "vec.h"
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "insn-codes.h"
+#include "optabs.h"
+#include "except.h"
 #include "target.h"
 #include "target-def.h"
 #include "tm_p.h"
diff --git a/gcc/config/tilegx/mul-tables.c b/gcc/config/tilegx/mul-tables.c
index 8c986f5..283464d 100644
--- a/gcc/config/tilegx/mul-tables.c
+++ b/gcc/config/tilegx/mul-tables.c
@@ -24,6 +24,22 @@
 #include "config.h"
 #include "system.h"
 #include "coretypes.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 "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "insn-codes.h"
 #include "optabs.h"
diff --git a/gcc/config/tilegx/tilegx.c b/gcc/config/tilegx/tilegx.c
index 0090d90..0b7eb1f 100644
--- a/gcc/config/tilegx/tilegx.c
+++ b/gcc/config/tilegx/tilegx.c
@@ -28,6 +28,19 @@
 #include "output.h"
 #include "insn-attr.h"
 #include "recog.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 "flags.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "langhooks.h"
 #include "insn-codes.h"
@@ -46,13 +59,6 @@
 #include "tm-constrs.h"
 #include "target.h"
 #include "target-def.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 "dwarf2.h"
 #include "timevar.h"
 #include "tree.h"
diff --git a/gcc/config/tilepro/gen-mul-tables.cc b/gcc/config/tilepro/gen-mul-tables.cc
index 32befa1..cb5560e 100644
--- a/gcc/config/tilepro/gen-mul-tables.cc
+++ b/gcc/config/tilepro/gen-mul-tables.cc
@@ -1255,6 +1255,22 @@ main ()
   printf ("#include \"config.h\"\n");
   printf ("#include \"system.h\"\n");
   printf ("#include \"coretypes.h\"\n");
+  printf ("#include \"hashtab.h\"\n");
+  printf ("#include \"hash-set.h\"\n");
+  printf ("#include \"vec.h\"\n");
+  printf ("#include \"machmode.h\"\n");
+  printf ("#include \"tm.h\"\n");
+  printf ("#include \"hard-reg-set.h\"\n");
+  printf ("#include \"input.h\"\n");
+  printf ("#include \"function.h\"\n");
+  printf ("#include \"rtl.h\"\n");
+  printf ("#include \"flags.h\"\n");
+  printf ("#include \"tree-core.h\"\n");
+  printf ("#include \"insn-config.h\"\n");
+  printf ("#include \"alias.h\"\n");
+  printf ("#include \"emit-rtl.h\"\n");
+  printf ("#include \"expmed.h\"\n");
+  printf ("#include \"stmt.h\"\n");
   printf ("#include \"expr.h\"\n");
   printf ("#include \"insn-codes.h\"\n");
   printf ("#include \"optabs.h\"\n");
diff --git a/gcc/config/tilepro/tilepro.c b/gcc/config/tilepro/tilepro.c
index 4eef51a..4964b45 100644
--- a/gcc/config/tilepro/tilepro.c
+++ b/gcc/config/tilepro/tilepro.c
@@ -28,6 +28,19 @@
 #include "output.h"
 #include "insn-attr.h"
 #include "recog.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 "flags.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "langhooks.h"
 #include "insn-codes.h"
@@ -47,13 +60,6 @@
 #include "tm-constrs.h"
 #include "target.h"
 #include "target-def.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 "dwarf2.h"
 #include "timevar.h"
 #include "tree.h"
diff --git a/gcc/config/v850/v850.c b/gcc/config/v850/v850.c
index bdeb56b..61af061 100644
--- a/gcc/config/v850/v850.c
+++ b/gcc/config/v850/v850.c
@@ -36,13 +36,18 @@
 #include "insn-attr.h"
 #include "flags.h"
 #include "recog.h"
-#include "expr.h"
 #include "hashtab.h"
 #include "hash-set.h"
 #include "vec.h"
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
 #include "diagnostic-core.h"
 #include "ggc.h"
 #include "tm_p.h"
diff --git a/gcc/config/vax/vax.c b/gcc/config/vax/vax.c
index 949a2d2..8488d1c 100644
--- a/gcc/config/vax/vax.c
+++ b/gcc/config/vax/vax.c
@@ -48,10 +48,15 @@ along with GCC; see the file COPYING3.  If not see
 #include "output.h"
 #include "insn-attr.h"
 #include "recog.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "insn-codes.h"
 #include "optabs.h"
-#include "flags.h"
 #include "debug.h"
 #include "diagnostic-core.h"
 #include "reload.h"
diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c
index 9cc7675..9df8f37 100644
--- a/gcc/config/xtensa/xtensa.c
+++ b/gcc/config/xtensa/xtensa.c
@@ -52,8 +52,13 @@ along with GCC; see the file COPYING3.  If not see
 #include "stor-layout.h"
 #include "calls.h"
 #include "varasm.h"
-#include "expr.h"
 #include "flags.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
 #include "reload.h"
 #include "tm_p.h"
 #include "diagnostic-core.h"
diff --git a/gcc/coverage.c b/gcc/coverage.c
index beaa02f..cfb0abe 100644
--- a/gcc/coverage.c
+++ b/gcc/coverage.c
@@ -35,7 +35,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "flags.h"
 #include "output.h"
 #include "regs.h"
-#include "expr.h"
 #include "hashtab.h"
 #include "hash-set.h"
 #include "vec.h"
@@ -43,6 +42,13 @@ along with GCC; see the file COPYING3.  If not see
 #include "hard-reg-set.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
 #include "predict.h"
 #include "dominance.h"
 #include "cfg.h"
diff --git a/gcc/cprop.c b/gcc/cprop.c
index 15ebc17..e4e07b6 100644
--- a/gcc/cprop.c
+++ b/gcc/cprop.c
@@ -46,6 +46,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "lcm.h"
 #include "cfgcleanup.h"
 #include "basic-block.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "except.h"
 #include "params.h"
diff --git a/gcc/cse.c b/gcc/cse.c
index d3bc84a..def90bb 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -41,6 +41,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "flags.h"
 #include "insn-config.h"
 #include "recog.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "diagnostic-core.h"
 #include "toplev.h"
diff --git a/gcc/dbxout.c b/gcc/dbxout.c
index 207db10..c2cc3dc 100644
--- a/gcc/dbxout.c
+++ b/gcc/dbxout.c
@@ -97,6 +97,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "common/common-target.h"
 #include "langhooks.h"
 #include "obstack.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "hash-map.h"
 #include "is-a.h"
diff --git a/gcc/ddg.c b/gcc/ddg.c
index b370d51..b276a1d 100644
--- a/gcc/ddg.c
+++ b/gcc/ddg.c
@@ -45,6 +45,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "target.h"
 #include "cfgloop.h"
 #include "sbitmap.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "bitmap.h"
 #include "df.h"
diff --git a/gcc/dojump.c b/gcc/dojump.c
index 40b1bf4..92bf03d 100644
--- a/gcc/dojump.c
+++ b/gcc/dojump.c
@@ -35,6 +35,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "insn-config.h"
 #include "insn-attr.h"
 /* Include expr.h after insn-config.h so we get HAVE_conditional_move.  */
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "insn-codes.h"
 #include "optabs.h"
diff --git a/gcc/dse.c b/gcc/dse.c
index 2555bd1..33e5ced 100644
--- a/gcc/dse.c
+++ b/gcc/dse.c
@@ -46,6 +46,16 @@ along with GCC; see the file COPYING3.  If not see
 #include "alloc-pool.h"
 #include "alias.h"
 #include "insn-config.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "input.h"
+#include "function.h"
+#include "tree-core.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "recog.h"
 #include "insn-codes.h"
diff --git a/gcc/dwarf2cfi.c b/gcc/dwarf2cfi.c
index 04a17bd..6065fd0 100644
--- a/gcc/dwarf2cfi.c
+++ b/gcc/dwarf2cfi.c
@@ -45,6 +45,12 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree-pass.h"
 
 #include "except.h"		/* expand_builtin_dwarf_sp_column */
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"		/* init_return_column_size */
 #include "regs.h"		/* expand_builtin_init_dwarf_reg_sizes */
 #include "output.h"		/* asm_out_file */
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 4c2ff8d..81992b3 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -80,6 +80,10 @@ along with GCC; see the file COPYING3.  If not see
 #include "insn-config.h"
 #include "reload.h"
 #include "output.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "except.h"
 #include "dwarf2.h"
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index fa5e41b..a7dd0f2 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -53,9 +53,14 @@ along with GCC; see the file COPYING3.  If not see
 #include "tm_p.h"
 #include "flags.h"
 #include "stringpool.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "regs.h"
-#include "insn-config.h"
 #include "recog.h"
 #include "bitmap.h"
 #include "debug.h"
diff --git a/gcc/except.c b/gcc/except.c
index 6288eb0..057f3f2 100644
--- a/gcc/except.c
+++ b/gcc/except.c
@@ -127,9 +127,14 @@ along with GCC; see the file COPYING3.  If not see
 #include "function.h"
 #include "insn-codes.h"
 #include "optabs.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "libfuncs.h"
-#include "insn-config.h"
 #include "except.h"
 #include "output.h"
 #include "dwarf2asm.h"
diff --git a/gcc/explow.c b/gcc/explow.c
index 6ae015c..00af95c 100644
--- a/gcc/explow.c
+++ b/gcc/explow.c
@@ -36,11 +36,16 @@ along with GCC; see the file COPYING3.  If not see
 #include "hard-reg-set.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "insn-codes.h"
 #include "optabs.h"
 #include "libfuncs.h"
-#include "insn-config.h"
 #include "ggc.h"
 #include "recog.h"
 #include "langhooks.h"
diff --git a/gcc/expmed.c b/gcc/expmed.c
index 0970a22..277457d 100644
--- a/gcc/expmed.c
+++ b/gcc/expmed.c
@@ -30,6 +30,18 @@ along with GCC; see the file COPYING3.  If not see
 #include "tm_p.h"
 #include "flags.h"
 #include "insn-config.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 "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "insn-codes.h"
 #include "optabs.h"
@@ -39,7 +51,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "basic-block.h"
 #include "df.h"
 #include "target.h"
-#include "expmed.h"
 
 struct target_expmed default_target_expmed;
 #if SWITCHABLE_TARGET
diff --git a/gcc/expmed.h b/gcc/expmed.h
index 41d5d5f..cf134b3 100644
--- a/gcc/expmed.h
+++ b/gcc/expmed.h
@@ -671,4 +671,30 @@ extern rtx emit_cstore (rtx target, enum insn_code icode, enum rtx_code code,
 			enum machine_mode mode, enum machine_mode compare_mode,
 			int unsignedp, rtx x, rtx y, int normalizep,
 			enum machine_mode target_mode);
+
+/* Functions from expmed.c:  */
+
+/* Arguments MODE, RTX: return an rtx for the negation of that value.
+   May emit insns.  */
+extern rtx negate_rtx (machine_mode, rtx);
+
+/* Expand a logical AND operation.  */
+extern rtx expand_and (machine_mode, rtx, rtx, rtx);
+
+/* Emit a store-flag operation.  */
+extern rtx emit_store_flag (rtx, enum rtx_code, rtx, rtx, machine_mode,
+			    int, int);
+
+/* Like emit_store_flag, but always succeeds.  */
+extern rtx emit_store_flag_force (rtx, enum rtx_code, rtx, rtx,
+				  machine_mode, int, int);
+
+/* Choose a minimal N + 1 bit approximation to 1/D that can be used to
+   replace division by D, and put the least significant N bits of the result
+   in *MULTIPLIER_PTR and return the most significant bit.  */
+extern unsigned HOST_WIDE_INT choose_multiplier (unsigned HOST_WIDE_INT, int,
+						 int, unsigned HOST_WIDE_INT *,
+						 int *, int *);
+
+
 #endif
diff --git a/gcc/expr.c b/gcc/expr.c
index 3d2ff6e..1b4af0a 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -40,6 +40,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "insn-config.h"
 #include "insn-attr.h"
 /* Include expr.h after insn-config.h so we get HAVE_conditional_move.  */
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "insn-codes.h"
 #include "optabs.h"
diff --git a/gcc/expr.h b/gcc/expr.h
index 1b865ac..b36b3d4 100644
--- a/gcc/expr.h
+++ b/gcc/expr.h
@@ -20,25 +20,6 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_EXPR_H
 #define GCC_EXPR_H
 
-/* For inhibit_defer_pop */
-#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"
-/* For XEXP, GEN_INT, rtx_code */
-#include "rtl.h"
-/* For optimize_size */
-#include "flags.h"
-/* For tree_fits_[su]hwi_p, tree_to_[su]hwi, fold_convert, size_binop,
-   ssize_int, TREE_CODE, TYPE_SIZE, int_size_in_bytes,    */
-#include "tree-core.h"
-/* For GET_MODE_BITSIZE, word_mode */
-#include "insn-config.h"
-
 /* This is the 4th arg to `expand_expr'.
    EXPAND_STACK_PARM means we are possibly expanding a call param onto
    the stack.
@@ -73,29 +54,6 @@ typedef struct separate_ops
   tree op0, op1, op2;
 } *sepops;
 
-/* Functions from expmed.c:  */
-
-/* Arguments MODE, RTX: return an rtx for the negation of that value.
-   May emit insns.  */
-extern rtx negate_rtx (machine_mode, rtx);
-
-/* Expand a logical AND operation.  */
-extern rtx expand_and (machine_mode, rtx, rtx, rtx);
-
-/* Emit a store-flag operation.  */
-extern rtx emit_store_flag (rtx, enum rtx_code, rtx, rtx, machine_mode,
-			    int, int);
-
-/* Like emit_store_flag, but always succeeds.  */
-extern rtx emit_store_flag_force (rtx, enum rtx_code, rtx, rtx,
-				  machine_mode, int, int);
-
-/* Choose a minimal N + 1 bit approximation to 1/D that can be used to
-   replace division by D, and put the least significant N bits of the result
-   in *MULTIPLIER_PTR and return the most significant bit.  */
-extern unsigned HOST_WIDE_INT choose_multiplier (unsigned HOST_WIDE_INT, int,
-						 int, unsigned HOST_WIDE_INT *,
-						 int *, int *);
 
 /* Functions from expr.c:  */
 
@@ -365,8 +323,6 @@ extern void do_compare_rtx_and_jump (rtx, rtx, enum rtx_code, int,
 extern int try_casesi (tree, tree, tree, tree, rtx, rtx, rtx, int);
 extern int try_tablejump (tree, tree, tree, tree, rtx, rtx, int);
 
-/* Functions from alias.c */
-#include "alias.h"
 
 
 /* rtl.h and tree.h were included.  */
@@ -472,8 +428,6 @@ extern rtx adjust_automodify_address_1 (rtx, machine_mode, rtx,
    known to be in OFFSET (possibly 1).  */
 extern rtx offset_address (rtx, rtx, unsigned HOST_WIDE_INT);
 
-/* Definitions from emit-rtl.c */
-#include "emit-rtl.h"
 
 /* Return a memory reference like MEMREF, but with its mode widened to
    MODE and adjusted by OFFSET.  */
@@ -592,14 +546,6 @@ extern bool split_comparison (enum rtx_code, machine_mode,
 rtx get_personality_function (tree);
 
 
-/* In stmt.c */
-
-/* Expand a GIMPLE_SWITCH statement.  */
-extern void expand_case (gswitch *);
-
-/* Like expand_case but special-case for SJLJ exception dispatching.  */
-extern void expand_sjlj_dispatch_table (rtx, vec<tree> );
-
 /* Determine whether the LEN bytes can be moved by using several move
    instructions.  Return nonzero if a call to move_by_pieces should
    succeed.  */
diff --git a/gcc/final.c b/gcc/final.c
index 4c894c3..6b2e991 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -78,6 +78,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "target.h"
 #include "targhooks.h"
 #include "debug.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-pass.h"
 #include "hash-map.h"
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index d71fa94..da1b0f4 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -51,6 +51,19 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree-iterator.h"
 #include "realmpfr.h"
 #include "rtl.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 "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tm_p.h"
 #include "target.h"
@@ -59,13 +72,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "langhooks.h"
 #include "md5.h"
 #include "predict.h"
-#include "vec.h"
-#include "hashtab.h"
-#include "hash-set.h"
-#include "machmode.h"
-#include "hard-reg-set.h"
-#include "input.h"
-#include "function.h"
 #include "basic-block.h"
 #include "tree-ssa-alias.h"
 #include "internal-fn.h"
diff --git a/gcc/function.c b/gcc/function.c
index f069fed..6981c1b 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -49,12 +49,18 @@ along with GCC; see the file COPYING3.  If not see
 #include "hard-reg-set.h"
 #include "input.h"
 #include "function.h"
+#include "rtl.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "insn-codes.h"
 #include "optabs.h"
 #include "libfuncs.h"
 #include "regs.h"
-#include "insn-config.h"
 #include "recog.h"
 #include "output.h"
 #include "tm_p.h"
diff --git a/gcc/gcse.c b/gcc/gcse.c
index c4467d2..8478993 100644
--- a/gcc/gcse.c
+++ b/gcc/gcse.c
@@ -162,6 +162,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "lcm.h"
 #include "cfgcleanup.h"
 #include "basic-block.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "except.h"
 #include "ggc.h"
diff --git a/gcc/genemit.c b/gcc/genemit.c
index 5f30f42..0279ec8 100644
--- a/gcc/genemit.c
+++ b/gcc/genemit.c
@@ -808,13 +808,18 @@ from the machine description file `md'.  */\n\n");
   printf ("#include \"hard-reg-set.h\"\n");
   printf ("#include \"input.h\"\n");
   printf ("#include \"function.h\"\n");
+  printf ("#include \"flags.h\"\n");
+  printf ("#include \"tree-core.h\"\n");
+  printf ("#include \"insn-config.h\"\n");
+  printf ("#include \"alias.h\"\n");
+  printf ("#include \"emit-rtl.h\"\n");
+  printf ("#include \"expmed.h\"\n");
+  printf ("#include \"stmt.h\"\n");
   printf ("#include \"expr.h\"\n");
   printf ("#include \"insn-codes.h\"\n");
   printf ("#include \"optabs.h\"\n");
   printf ("#include \"dfp.h\"\n");
-  printf ("#include \"flags.h\"\n");
   printf ("#include \"output.h\"\n");
-  printf ("#include \"insn-config.h\"\n");
   printf ("#include \"recog.h\"\n");
   printf ("#include \"predict.h\"\n");
   printf ("#include \"basic-block.h\"\n");
diff --git a/gcc/generic-match-head.c b/gcc/generic-match-head.c
index adf4289..55c8f0e 100644
--- a/gcc/generic-match-head.c
+++ b/gcc/generic-match-head.c
@@ -43,6 +43,13 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree-ssanames.h"
 #include "gimple-fold.h"
 #include "gimple-iterator.h"
+#include "rtl.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-dfa.h"
 #include "builtins.h"
diff --git a/gcc/gengtype.c b/gcc/gengtype.c
index 04b7747..9ef59c8 100644
--- a/gcc/gengtype.c
+++ b/gcc/gengtype.c
@@ -1728,7 +1728,10 @@ open_base_files (void)
       "hashtab.h", "splay-tree.h", "obstack.h", "bitmap.h", "input.h",
       "tree.h", "rtl.h", "wide-int.h", "hashtab.h", "hash-set.h", "vec.h",
       "machmode.h", "tm.h", "hard-reg-set.h", "input.h", "predict.h",
-      "function.h", "insn-config.h", "expr.h", "alloc-pool.h",
+      "function.h", "insn-config.h", "hashtab.h", "hash-set.h", "vec.h",
+      "machmode.h", "tm.h", "hard-reg-set.h", "input.h", "function.h",
+      "rtl.h", "flags.h", "tree-core.h", "insn-config.h", "alias.h", "emit-rtl.h",
+      "expmed.h", "stmt.h", "expr.h", "alloc-pool.h",
       "hard-reg-set.h", "basic-block.h", "cselib.h", "insn-addr.h",
       "optabs.h", "libfuncs.h", "debug.h", "ggc.h", 
       "hash-table.h", "vec.h", "ggc.h", "dominance.h", "cfg.h", "basic-block.h",
diff --git a/gcc/genopinit.c b/gcc/genopinit.c
index 2d14d12..66e2289 100644
--- a/gcc/genopinit.c
+++ b/gcc/genopinit.c
@@ -474,6 +474,18 @@ main (int argc, char **argv)
 	   "#include \"tm_p.h\"\n"
 	   "#include \"flags.h\"\n"
 	   "#include \"insn-config.h\"\n"
+	   "#include \"hashtab.h\"\n"
+	   "#include \"hash-set.h\"\n"
+	   "#include \"vec.h\"\n"
+	   "#include \"machmode.h\"\n"
+	   "#include \"hard-reg-set.h\"\n"
+	   "#include \"input.h\"\n"
+	   "#include \"function.h\"\n"
+	   "#include \"tree-core.h\"\n"
+	   "#include \"alias.h\"\n"
+	   "#include \"emit-rtl.h\"\n"
+	   "#include \"expmed.h\"\n"
+	   "#include \"stmt.h\"\n"
 	   "#include \"expr.h\"\n"
 	   "#include \"insn-codes.h\"\n"
 	   "#include \"optabs.h\"\n"
diff --git a/gcc/genoutput.c b/gcc/genoutput.c
index d667b94..dcc744d 100644
--- a/gcc/genoutput.c
+++ b/gcc/genoutput.c
@@ -234,13 +234,23 @@ output_prologue (void)
   printf ("#include \"stor-layout.h\"\n");
   printf ("#include \"calls.h\"\n");
   printf ("#include \"rtl.h\"\n");
+  printf ("#include \"hashtab.h\"\n");
+  printf ("#include \"hash-set.h\"\n");
+  printf ("#include \"vec.h\"\n");
+  printf ("#include \"machmode.h\"\n");
+  printf ("#include \"hard-reg-set.h\"\n");
+  printf ("#include \"input.h\"\n");
+  printf ("#include \"function.h\"\n");
+  printf ("#include \"tree-core.h\"\n");
+  printf ("#include \"insn-config.h\"\n");
+  printf ("#include \"alias.h\"\n");
+  printf ("#include \"emit-rtl.h\"\n");
+  printf ("#include \"expmed.h\"\n");
+  printf ("#include \"stmt.h\"\n");
   printf ("#include \"expr.h\"\n");
   printf ("#include \"insn-codes.h\"\n");
   printf ("#include \"tm_p.h\"\n");
-  printf ("#include \"function.h\"\n");
   printf ("#include \"regs.h\"\n");
-  printf ("#include \"hard-reg-set.h\"\n");
-  printf ("#include \"insn-config.h\"\n\n");
   printf ("#include \"conditions.h\"\n");
   printf ("#include \"insn-attr.h\"\n\n");
   printf ("#include \"recog.h\"\n\n");
diff --git a/gcc/gimple-fold.c b/gcc/gimple-fold.c
index a8ca53d..d1fd7e2 100644
--- a/gcc/gimple-fold.c
+++ b/gcc/gimple-fold.c
@@ -24,10 +24,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "tree.h"
 #include "stringpool.h"
-#include "expr.h"
-#include "stmt.h"
-#include "stor-layout.h"
-#include "flags.h"
 #include "hashtab.h"
 #include "hash-set.h"
 #include "vec.h"
@@ -35,6 +31,16 @@ along with GCC; see the file COPYING3.  If not see
 #include "hard-reg-set.h"
 #include "input.h"
 #include "function.h"
+#include "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "stor-layout.h"
 #include "dumpfile.h"
 #include "bitmap.h"
 #include "predict.h"
diff --git a/gcc/gimple-match-head.c b/gcc/gimple-match-head.c
index d708132..94594e2 100644
--- a/gcc/gimple-match-head.c
+++ b/gcc/gimple-match-head.c
@@ -43,6 +43,13 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree-ssanames.h"
 #include "gimple-fold.h"
 #include "gimple-iterator.h"
+#include "rtl.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-dfa.h"
 #include "builtins.h"
diff --git a/gcc/gimple-ssa-strength-reduction.c b/gcc/gimple-ssa-strength-reduction.c
index 945075c..370413d 100644
--- a/gcc/gimple-ssa-strength-reduction.c
+++ b/gcc/gimple-ssa-strength-reduction.c
@@ -59,6 +59,14 @@ along with GCC; see the file COPYING3.  If not see
 #include "gimple-iterator.h"
 #include "gimplify-me.h"
 #include "stor-layout.h"
+#include "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-pass.h"
 #include "cfgloop.h"
@@ -70,7 +78,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "stringpool.h"
 #include "tree-ssanames.h"
 #include "domwalk.h"
-#include "expmed.h"
 #include "params.h"
 #include "tree-ssa-address.h"
 #include "tree-affine.h"
diff --git a/gcc/gimplify.c b/gcc/gimplify.c
index 4db2c7e..af25761 100644
--- a/gcc/gimplify.c
+++ b/gcc/gimplify.c
@@ -24,17 +24,25 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "tree.h"
-#include "expr.h"
+#include "hashtab.h"
 #include "hash-set.h"
-#include "hash-table.h"
-#include "predict.h"
 #include "vec.h"
-#include "hashtab.h"
 #include "machmode.h"
 #include "tm.h"
 #include "hard-reg-set.h"
 #include "input.h"
 #include "function.h"
+#include "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "hash-table.h"
+#include "predict.h"
 #include "basic-block.h"
 #include "tree-ssa-alias.h"
 #include "internal-fn.h"
@@ -49,7 +57,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "calls.h"
 #include "varasm.h"
 #include "stor-layout.h"
-#include "stmt.h"
 #include "print-tree.h"
 #include "tree-iterator.h"
 #include "tree-inline.h"
diff --git a/gcc/graphite-sese-to-poly.c b/gcc/graphite-sese-to-poly.c
index 9136d63..a9882dd 100644
--- a/gcc/graphite-sese-to-poly.c
+++ b/gcc/graphite-sese-to-poly.c
@@ -81,6 +81,15 @@ extern "C" {
 #include "tree-ssa-propagate.h"
 
 #ifdef HAVE_isl
+
+#include "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "graphite-poly.h"
 #include "graphite-sese-to-poly.h"
diff --git a/gcc/hw-doloop.c b/gcc/hw-doloop.c
index 763928f..951fcec 100644
--- a/gcc/hw-doloop.c
+++ b/gcc/hw-doloop.c
@@ -24,16 +24,22 @@ along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "rtl.h"
 #include "flags.h"
-#include "expr.h"
-#include "hard-reg-set.h"
-#include "regs.h"
-#include "predict.h"
-#include "vec.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 "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "regs.h"
+#include "predict.h"
 #include "dominance.h"
 #include "cfg.h"
 #include "cfgrtl.h"
diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c
index 90586da..b38c521 100644
--- a/gcc/ifcvt.c
+++ b/gcc/ifcvt.c
@@ -42,6 +42,11 @@
 #include "cfganal.h"
 #include "cfgcleanup.h"
 #include "basic-block.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "output.h"
 #include "insn-codes.h"
diff --git a/gcc/init-regs.c b/gcc/init-regs.c
index 0ddc458..8f8d116 100644
--- a/gcc/init-regs.c
+++ b/gcc/init-regs.c
@@ -24,20 +24,26 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree.h"
 #include "rtl.h"
 #include "regs.h"
-#include "expr.h"
-#include "tree-pass.h"
-#include "predict.h"
-#include "vec.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 "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "tree-pass.h"
+#include "predict.h"
 #include "dominance.h"
 #include "cfg.h"
 #include "basic-block.h"
-#include "flags.h"
 #include "df.h"
 
 /* Check all of the uses of pseudo variables.  If any use that is MUST
diff --git a/gcc/internal-fn.c b/gcc/internal-fn.c
index 0bd2439..c38ffcb 100644
--- a/gcc/internal-fn.c
+++ b/gcc/internal-fn.c
@@ -23,23 +23,30 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree.h"
 #include "internal-fn.h"
 #include "stor-layout.h"
-#include "expr.h"
-#include "insn-codes.h"
-#include "optabs.h"
-#include "predict.h"
-#include "vec.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 "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "insn-codes.h"
+#include "optabs.h"
+#include "predict.h"
 #include "dominance.h"
 #include "cfg.h"
 #include "basic-block.h"
 #include "tree-ssa-alias.h"
-#include "internal-fn.h"
 #include "gimple-expr.h"
 #include "is-a.h"
 #include "gimple.h"
diff --git a/gcc/ipa-devirt.c b/gcc/ipa-devirt.c
index 9f8dcb5..bc87844 100644
--- a/gcc/ipa-devirt.c
+++ b/gcc/ipa-devirt.c
@@ -126,6 +126,14 @@ along with GCC; see the file COPYING3.  If not see
 #include "function.h"
 #include "ipa-ref.h"
 #include "cgraph.h"
+#include "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-pass.h"
 #include "target.h"
diff --git a/gcc/ipa-icf-gimple.c b/gcc/ipa-icf-gimple.c
index ec0290a..1a7887f 100644
--- a/gcc/ipa-icf-gimple.c
+++ b/gcc/ipa-icf-gimple.c
@@ -38,6 +38,14 @@ along with GCC; see the file COPYING3.  If not see
 #include "gimple-expr.h"
 #include "is-a.h"
 #include "gimple.h"
+#include "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "gimple-iterator.h"
 #include "gimple-ssa.h"
diff --git a/gcc/ipa-icf.c b/gcc/ipa-icf.c
index b193200..a43264b 100644
--- a/gcc/ipa-icf.c
+++ b/gcc/ipa-icf.c
@@ -72,6 +72,14 @@ along with GCC; see the file COPYING3.  If not see
 #include "gimple-expr.h"
 #include "is-a.h"
 #include "gimple.h"
+#include "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "gimple-iterator.h"
 #include "gimple-ssa.h"
diff --git a/gcc/ipa-polymorphic-call.c b/gcc/ipa-polymorphic-call.c
index bfd4bd4..6cf0f35 100644
--- a/gcc/ipa-polymorphic-call.c
+++ b/gcc/ipa-polymorphic-call.c
@@ -25,9 +25,23 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree.h"
 #include "print-tree.h"
 #include "calls.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 "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-pass.h"
-#include "hash-set.h"
 #include "target.h"
 #include "hash-table.h"
 #include "inchash.h"
@@ -37,12 +51,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "hash-map.h"
 #include "is-a.h"
 #include "plugin-api.h"
-#include "vec.h"
-#include "hashtab.h"
-#include "machmode.h"
-#include "hard-reg-set.h"
-#include "input.h"
-#include "function.h"
 #include "ipa-ref.h"
 #include "cgraph.h"
 #include "ipa-utils.h"
diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c
index 50adefb..a247563 100644
--- a/gcc/ipa-prop.c
+++ b/gcc/ipa-prop.c
@@ -40,6 +40,14 @@ along with GCC; see the file COPYING3.  If not see
 #include "gimple-expr.h"
 #include "is-a.h"
 #include "gimple.h"
+#include "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "stor-layout.h"
 #include "print-tree.h"
@@ -65,7 +73,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree-pass.h"
 #include "tree-inline.h"
 #include "ipa-inline.h"
-#include "flags.h"
 #include "diagnostic.h"
 #include "gimple-pretty-print.h"
 #include "lto-streamer.h"
diff --git a/gcc/ipa-split.c b/gcc/ipa-split.c
index 276de3c..9861752 100644
--- a/gcc/ipa-split.c
+++ b/gcc/ipa-split.c
@@ -97,6 +97,14 @@ along with GCC; see the file COPYING3.  If not see
 #include "is-a.h"
 #include "gimple.h"
 #include "stringpool.h"
+#include "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "calls.h"
 #include "gimplify.h"
@@ -114,12 +122,10 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree-cfg.h"
 #include "tree-phinodes.h"
 #include "ssa-iterators.h"
-#include "stringpool.h"
 #include "tree-ssanames.h"
 #include "tree-into-ssa.h"
 #include "tree-dfa.h"
 #include "tree-pass.h"
-#include "flags.h"
 #include "diagnostic.h"
 #include "tree-dump.h"
 #include "tree-inline.h"
diff --git a/gcc/ira-color.c b/gcc/ira-color.c
index 39387c8..2b78af0 100644
--- a/gcc/ira-color.c
+++ b/gcc/ira-color.c
@@ -41,6 +41,12 @@ along with GCC; see the file COPYING3.  If not see
 #include "dominance.h"
 #include "cfg.h"
 #include "basic-block.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "diagnostic-core.h"
 #include "reload.h"
diff --git a/gcc/ira-costs.c b/gcc/ira-costs.c
index 2dabead..60d6e00 100644
--- a/gcc/ira-costs.c
+++ b/gcc/ira-costs.c
@@ -25,22 +25,27 @@ along with GCC; see the file COPYING3.  If not see
 #include "hash-table.h"
 #include "hard-reg-set.h"
 #include "rtl.h"
-#include "expr.h"
-#include "tm_p.h"
-#include "flags.h"
-#include "predict.h"
-#include "vec.h"
 #include "hashtab.h"
 #include "hash-set.h"
+#include "vec.h"
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "tm_p.h"
+#include "predict.h"
 #include "dominance.h"
 #include "cfg.h"
 #include "basic-block.h"
 #include "regs.h"
 #include "addresses.h"
-#include "insn-config.h"
 #include "recog.h"
 #include "reload.h"
 #include "diagnostic-core.h"
diff --git a/gcc/ira-emit.c b/gcc/ira-emit.c
index d246b7f..0c47212 100644
--- a/gcc/ira-emit.c
+++ b/gcc/ira-emit.c
@@ -89,6 +89,12 @@ along with GCC; see the file COPYING3.  If not see
 #include "cfgrtl.h"
 #include "cfgbuild.h"
 #include "basic-block.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "recog.h"
 #include "params.h"
diff --git a/gcc/ira.c b/gcc/ira.c
index e610d35..bae7590 100644
--- a/gcc/ira.c
+++ b/gcc/ira.c
@@ -390,6 +390,12 @@ along with GCC; see the file COPYING3.  If not see
 #include "cfgcleanup.h"
 #include "basic-block.h"
 #include "df.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "recog.h"
 #include "params.h"
diff --git a/gcc/java/builtins.c b/gcc/java/builtins.c
index 7c6b0ab..81dda86 100644
--- a/gcc/java/builtins.c
+++ b/gcc/java/builtins.c
@@ -42,6 +42,19 @@ The Free Software Foundation is independent of Sun Microsystems, Inc.  */
    Front ends should never have to look at that.  */
 #include "rtl.h"
 #include "insn-codes.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 "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "optabs.h"
 
diff --git a/gcc/jump.c b/gcc/jump.c
index 6a30a0c..5cfc1f3 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -56,6 +56,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "cfg.h"
 #include "cfgrtl.h"
 #include "basic-block.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "except.h"
 #include "diagnostic-core.h"
diff --git a/gcc/loop-doloop.c b/gcc/loop-doloop.c
index f252fec..be898d9 100644
--- a/gcc/loop-doloop.c
+++ b/gcc/loop-doloop.c
@@ -24,14 +24,20 @@ along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "rtl.h"
 #include "flags.h"
-#include "expr.h"
-#include "hard-reg-set.h"
-#include "vec.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 "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
 #include "diagnostic-core.h"
 #include "tm_p.h"
 #include "predict.h"
diff --git a/gcc/loop-invariant.c b/gcc/loop-invariant.c
index 19e536f..cc8fc3f 100644
--- a/gcc/loop-invariant.c
+++ b/gcc/loop-invariant.c
@@ -54,10 +54,16 @@ along with GCC; see the file COPYING3.  If not see
 #include "cfgrtl.h"
 #include "basic-block.h"
 #include "cfgloop.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "recog.h"
 #include "target.h"
-#include "flags.h"
 #include "df.h"
 #include "hash-table.h"
 #include "except.h"
diff --git a/gcc/loop-iv.c b/gcc/loop-iv.c
index f55cea2..8cb77eb 100644
--- a/gcc/loop-iv.c
+++ b/gcc/loop-iv.c
@@ -65,6 +65,13 @@ along with GCC; see the file COPYING3.  If not see
 #include "cfg.h"
 #include "basic-block.h"
 #include "cfgloop.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "intl.h"
 #include "diagnostic-core.h"
diff --git a/gcc/loop-unroll.c b/gcc/loop-unroll.c
index c4c6b0d..8cacc3e 100644
--- a/gcc/loop-unroll.c
+++ b/gcc/loop-unroll.c
@@ -41,6 +41,13 @@ along with GCC; see the file COPYING3.  If not see
 #include "params.h"
 #include "insn-codes.h"
 #include "optabs.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "hash-table.h"
 #include "recog.h"
diff --git a/gcc/lower-subreg.c b/gcc/lower-subreg.c
index 1eef803..de63243 100644
--- a/gcc/lower-subreg.c
+++ b/gcc/lower-subreg.c
@@ -45,6 +45,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "recog.h"
 #include "bitmap.h"
 #include "dce.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "except.h"
 #include "regs.h"
diff --git a/gcc/lra-assigns.c b/gcc/lra-assigns.c
index 707dbd0..1574b92 100644
--- a/gcc/lra-assigns.c
+++ b/gcc/lra-assigns.c
@@ -93,6 +93,12 @@ along with GCC; see the file COPYING3.	If not see
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "predict.h"
 #include "dominance.h"
diff --git a/gcc/lra-coalesce.c b/gcc/lra-coalesce.c
index 20acd8a..5f7208b 100644
--- a/gcc/lra-coalesce.c
+++ b/gcc/lra-coalesce.c
@@ -60,6 +60,11 @@ along with GCC; see the file COPYING3.	If not see
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "predict.h"
 #include "dominance.h"
diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c
index e0d4c19..85c5ba4 100644
--- a/gcc/lra-constraints.c
+++ b/gcc/lra-constraints.c
@@ -126,6 +126,12 @@
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "predict.h"
 #include "dominance.h"
diff --git a/gcc/lra-eliminations.c b/gcc/lra-eliminations.c
index aeae27c..d1c3d2a 100644
--- a/gcc/lra-eliminations.c
+++ b/gcc/lra-eliminations.c
@@ -71,6 +71,12 @@ along with GCC; see the file COPYING3.	If not see
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "predict.h"
 #include "dominance.h"
diff --git a/gcc/lra-lives.c b/gcc/lra-lives.c
index 6f64be3..1f4dbc0 100644
--- a/gcc/lra-lives.c
+++ b/gcc/lra-lives.c
@@ -42,6 +42,12 @@ along with GCC; see the file COPYING3.	If not see
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "predict.h"
 #include "dominance.h"
diff --git a/gcc/lra-remat.c b/gcc/lra-remat.c
index 3b8a806..c9bf2b6 100644
--- a/gcc/lra-remat.c
+++ b/gcc/lra-remat.c
@@ -71,6 +71,12 @@ along with GCC; see the file COPYING3.	If not see
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "predict.h"
 #include "dominance.h"
@@ -81,7 +87,6 @@ along with GCC; see the file COPYING3.	If not see
 #include "ira.h"
 #include "sparseset.h"
 #include "params.h"
-#include "df.h"
 #include "lra-int.h"
 
 /* Number of candidates for rematerialization.  */
diff --git a/gcc/lra-spills.c b/gcc/lra-spills.c
index f21a3ab..06fdbd2 100644
--- a/gcc/lra-spills.c
+++ b/gcc/lra-spills.c
@@ -73,6 +73,11 @@ along with GCC; see the file COPYING3.	If not see
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "predict.h"
 #include "dominance.h"
diff --git a/gcc/lra.c b/gcc/lra.c
index 05901c8..36ab256 100644
--- a/gcc/lra.c
+++ b/gcc/lra.c
@@ -122,6 +122,10 @@ along with GCC; see the file COPYING3.	If not see
 #include "function.h"
 #include "tree-core.h"
 #include "optabs.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "predict.h"
 #include "dominance.h"
diff --git a/gcc/lto-cgraph.c b/gcc/lto-cgraph.c
index cf92892..ea01595 100644
--- a/gcc/lto-cgraph.c
+++ b/gcc/lto-cgraph.c
@@ -40,8 +40,15 @@ along with GCC; see the file COPYING3.  If not see
 #include "gimple-expr.h"
 #include "is-a.h"
 #include "gimple.h"
-#include "expr.h"
+#include "rtl.h"
 #include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
 #include "params.h"
 #include "langhooks.h"
 #include "bitmap.h"
diff --git a/gcc/lto-section-in.c b/gcc/lto-section-in.c
index 3ccdfb9..bef49fb 100644
--- a/gcc/lto-section-in.c
+++ b/gcc/lto-section-in.c
@@ -38,8 +38,15 @@ along with GCC; see the file COPYING3.  If not see
 #include "gimple-expr.h"
 #include "is-a.h"
 #include "gimple.h"
-#include "expr.h"
+#include "rtl.h"
 #include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
 #include "params.h"
 #include "diagnostic-core.h"
 #include "except.h"
diff --git a/gcc/lto-section-out.c b/gcc/lto-section-out.c
index 8089d5d..3f61e3c 100644
--- a/gcc/lto-section-out.c
+++ b/gcc/lto-section-out.c
@@ -38,6 +38,14 @@ along with GCC; see the file COPYING3.  If not see
 #include "gimple-expr.h"
 #include "is-a.h"
 #include "gimple.h"
+#include "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "params.h"
 #include "except.h"
diff --git a/gcc/lto-streamer-in.c b/gcc/lto-streamer-in.c
index 2c9b6a5..d27d7bb 100644
--- a/gcc/lto-streamer-in.c
+++ b/gcc/lto-streamer-in.c
@@ -27,17 +27,24 @@ along with GCC; see the file COPYING3.  If not see
 #include "toplev.h"
 #include "tree.h"
 #include "stringpool.h"
-#include "expr.h"
-#include "flags.h"
-#include "params.h"
-#include "input.h"
 #include "hashtab.h"
-#include "predict.h"
-#include "vec.h"
 #include "hash-set.h"
+#include "vec.h"
 #include "machmode.h"
 #include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
+#include "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "params.h"
+#include "predict.h"
 #include "dominance.h"
 #include "cfg.h"
 #include "basic-block.h"
@@ -66,7 +73,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "gimple-streamer.h"
 #include "lto-streamer.h"
 #include "tree-streamer.h"
-#include "tree-pass.h"
 #include "streamer-hooks.h"
 #include "cfgloop.h"
 
diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c
index 2446d88..f8768b7 100644
--- a/gcc/lto-streamer-out.c
+++ b/gcc/lto-streamer-out.c
@@ -27,17 +27,24 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree.h"
 #include "stor-layout.h"
 #include "stringpool.h"
-#include "expr.h"
-#include "flags.h"
-#include "params.h"
-#include "input.h"
 #include "hashtab.h"
 #include "hash-set.h"
-#include "predict.h"
 #include "vec.h"
 #include "machmode.h"
 #include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
+#include "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "params.h"
+#include "predict.h"
 #include "dominance.h"
 #include "cfg.h"
 #include "basic-block.h"
diff --git a/gcc/modulo-sched.c b/gcc/modulo-sched.c
index 8abb8ee..ea57297 100644
--- a/gcc/modulo-sched.c
+++ b/gcc/modulo-sched.c
@@ -51,6 +51,10 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree-core.h"
 #include "insn-codes.h"
 #include "optabs.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "params.h"
 #include "gcov-io.h"
diff --git a/gcc/omp-low.c b/gcc/omp-low.c
index a2e4737..499ff67 100644
--- a/gcc/omp-low.c
+++ b/gcc/omp-low.c
@@ -65,11 +65,16 @@ along with GCC; see the file COPYING3.  If not see
 #include "ssa-iterators.h"
 #include "tree-ssanames.h"
 #include "tree-into-ssa.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-dfa.h"
 #include "tree-ssa.h"
-#include "flags.h"
-#include "expr.h"
 #include "tree-pass.h"
 #include "except.h"
 #include "splay-tree.h"
diff --git a/gcc/optabs.c b/gcc/optabs.c
index f8d584e..90baaa7 100644
--- a/gcc/optabs.c
+++ b/gcc/optabs.c
@@ -43,6 +43,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "input.h"
 #include "function.h"
 #include "except.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "insn-codes.h"
 #include "optabs.h"
diff --git a/gcc/passes.c b/gcc/passes.c
index 3f9f7df..a40c7ad 100644
--- a/gcc/passes.c
+++ b/gcc/passes.c
@@ -46,6 +46,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "machmode.h"
 #include "function.h"
 #include "toplev.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "predict.h"
 #include "basic-block.h"
diff --git a/gcc/postreload-gcse.c b/gcc/postreload-gcse.c
index 1923e18..37b70aa 100644
--- a/gcc/postreload-gcse.c
+++ b/gcc/postreload-gcse.c
@@ -44,6 +44,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "cfgrtl.h"
 #include "basic-block.h"
 #include "profile.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "except.h"
 #include "intl.h"
diff --git a/gcc/postreload.c b/gcc/postreload.c
index 43d4681..ff2ade1 100644
--- a/gcc/postreload.c
+++ b/gcc/postreload.c
@@ -34,6 +34,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "vec.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "insn-codes.h"
 #include "optabs.h"
diff --git a/gcc/predict.c b/gcc/predict.c
index 0cfe4a9..d6f9a75 100644
--- a/gcc/predict.c
+++ b/gcc/predict.c
@@ -54,6 +54,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "except.h"
 #include "diagnostic-core.h"
 #include "recog.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "coverage.h"
 #include "sreal.h"
@@ -78,7 +83,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree-ssa-loop.h"
 #include "tree-pass.h"
 #include "tree-scalar-evolution.h"
-#include "cfgloop.h"
 
 /* real constants: 0, 1, 1-1/REG_BR_PROB_BASE, REG_BR_PROB_BASE,
 		   1/REG_BR_PROB_BASE, 0.5, BB_FREQ_MAX.  */
diff --git a/gcc/profile.c b/gcc/profile.c
index a84d5fd..e7b44c2 100644
--- a/gcc/profile.c
+++ b/gcc/profile.c
@@ -54,7 +54,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "rtl.h"
 #include "flags.h"
 #include "regs.h"
-#include "expr.h"
 #include "hashtab.h"
 #include "hash-set.h"
 #include "vec.h"
@@ -62,6 +61,13 @@ along with GCC; see the file COPYING3.  If not see
 #include "hard-reg-set.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
 #include "predict.h"
 #include "dominance.h"
 #include "cfg.h"
diff --git a/gcc/recog.c b/gcc/recog.c
index 410edb1..3029aa1 100644
--- a/gcc/recog.c
+++ b/gcc/recog.c
@@ -31,14 +31,20 @@ along with GCC; see the file COPYING3.  If not see
 #include "recog.h"
 #include "regs.h"
 #include "addresses.h"
-#include "expr.h"
 #include "hashtab.h"
 #include "hash-set.h"
 #include "vec.h"
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "rtl.h"
 #include "flags.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
 #include "predict.h"
 #include "dominance.h"
 #include "cfg.h"
diff --git a/gcc/ree.c b/gcc/ree.c
index 3376901..09f645d 100644
--- a/gcc/ree.c
+++ b/gcc/ree.c
@@ -237,6 +237,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "cfgrtl.h"
 #include "basic-block.h"
 #include "insn-config.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "insn-attr.h"
 #include "recog.h"
diff --git a/gcc/reginfo.c b/gcc/reginfo.c
index c2daf22..a808337 100644
--- a/gcc/reginfo.c
+++ b/gcc/reginfo.c
@@ -32,22 +32,27 @@ along with GCC; see the file COPYING3.  If not see
 #include "hard-reg-set.h"
 #include "tree.h"
 #include "rtl.h"
-#include "expr.h"
-#include "tm_p.h"
-#include "flags.h"
-#include "predict.h"
-#include "vec.h"
 #include "hashtab.h"
 #include "hash-set.h"
+#include "vec.h"
 #include "machmode.h"
 #include "input.h"
 #include "function.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "tm_p.h"
+#include "predict.h"
 #include "dominance.h"
 #include "cfg.h"
 #include "basic-block.h"
 #include "regs.h"
 #include "addresses.h"
-#include "insn-config.h"
 #include "recog.h"
 #include "reload.h"
 #include "diagnostic-core.h"
diff --git a/gcc/reload.c b/gcc/reload.c
index 3f5abb8..cbd0a56 100644
--- a/gcc/reload.c
+++ b/gcc/reload.c
@@ -95,6 +95,20 @@ a register with any other reload.  */
 #include "rtl-error.h"
 #include "tm_p.h"
 #include "insn-config.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 "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "insn-codes.h"
 #include "optabs.h"
@@ -107,14 +121,6 @@ a register with any other reload.  */
 #include "reload.h"
 #include "regs.h"
 #include "addresses.h"
-#include "hard-reg-set.h"
-#include "flags.h"
-#include "hashtab.h"
-#include "hash-set.h"
-#include "vec.h"
-#include "machmode.h"
-#include "input.h"
-#include "function.h"
 #include "params.h"
 #include "target.h"
 #include "ira.h"
diff --git a/gcc/reload1.c b/gcc/reload1.c
index 7d5bad5..3a38295 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -35,6 +35,12 @@ along with GCC; see the file COPYING3.  If not see
 #include "vec.h"
 #include "input.h"
 #include "function.h"
+#include "rtl.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "insn-codes.h"
 #include "optabs.h"
@@ -53,7 +59,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree.h"
 #include "ira.h"
 #include "target.h"
-#include "emit-rtl.h"
 #include "dumpfile.h"
 #include "rtl-iter.h"
 
diff --git a/gcc/reorg.c b/gcc/reorg.c
index e8d29a4..29bbcec 100644
--- a/gcc/reorg.c
+++ b/gcc/reorg.c
@@ -107,7 +107,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "diagnostic-core.h"
 #include "rtl.h"
 #include "tm_p.h"
-#include "expr.h"
 #include "hashtab.h"
 #include "hash-set.h"
 #include "vec.h"
@@ -115,7 +114,14 @@ along with GCC; see the file COPYING3.  If not see
 #include "hard-reg-set.h"
 #include "input.h"
 #include "function.h"
+#include "flags.h"
+#include "tree-core.h"
 #include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
 #include "conditions.h"
 #include "predict.h"
 #include "dominance.h"
@@ -123,7 +129,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "basic-block.h"
 #include "regs.h"
 #include "recog.h"
-#include "flags.h"
 #include "obstack.h"
 #include "insn-attr.h"
 #include "resource.h"
@@ -131,7 +136,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "params.h"
 #include "target.h"
 #include "tree-pass.h"
-#include "emit-rtl.h"
 
 #ifdef DELAY_SLOTS
 
diff --git a/gcc/rtl-chkp.c b/gcc/rtl-chkp.c
index 2d56ba2..db45ca5 100644
--- a/gcc/rtl-chkp.c
+++ b/gcc/rtl-chkp.c
@@ -21,6 +21,22 @@ along with GCC; see the file COPYING3.  If not see
 #include "config.h"
 #include "system.h"
 #include "coretypes.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 "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "target.h"
 #include "tree-ssa-alias.h"
diff --git a/gcc/rtlhooks.c b/gcc/rtlhooks.c
index 05b46c3..ae6a4ec 100644
--- a/gcc/rtlhooks.c
+++ b/gcc/rtlhooks.c
@@ -23,6 +23,20 @@ along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "rtl.h"
 #include "rtlhooks-def.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 "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "recog.h"
 
diff --git a/gcc/shrink-wrap.c b/gcc/shrink-wrap.c
index 3392cdb..1a484cf 100644
--- a/gcc/shrink-wrap.c
+++ b/gcc/shrink-wrap.c
@@ -37,12 +37,18 @@ along with GCC; see the file COPYING3.  If not see
 #include "hard-reg-set.h"
 #include "input.h"
 #include "function.h"
+#include "rtl.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "insn-codes.h"
 #include "optabs.h"
 #include "libfuncs.h"
 #include "regs.h"
-#include "insn-config.h"
 #include "recog.h"
 #include "output.h"
 #include "tm_p.h"
diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c
index 8ec416e..3cb9693 100644
--- a/gcc/simplify-rtx.c
+++ b/gcc/simplify-rtx.c
@@ -39,6 +39,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "function.h"
 #include "insn-codes.h"
 #include "optabs.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "diagnostic-core.h"
 #include "ggc.h"
diff --git a/gcc/stack-ptr-mod.c b/gcc/stack-ptr-mod.c
index 1944c77..7b4a67b 100644
--- a/gcc/stack-ptr-mod.c
+++ b/gcc/stack-ptr-mod.c
@@ -24,20 +24,26 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree.h"
 #include "rtl.h"
 #include "regs.h"
-#include "expr.h"
-#include "tree-pass.h"
-#include "predict.h"
-#include "vec.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 "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "tree-pass.h"
+#include "predict.h"
 #include "dominance.h"
 #include "cfg.h"
 #include "basic-block.h"
-#include "flags.h"
 #include "output.h"
 #include "df.h"
 
diff --git a/gcc/stmt.c b/gcc/stmt.c
index 8ab7ba5..122ce04 100644
--- a/gcc/stmt.c
+++ b/gcc/stmt.c
@@ -42,6 +42,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "input.h"
 #include "function.h"
 #include "insn-config.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "libfuncs.h"
 #include "recog.h"
diff --git a/gcc/stmt.h b/gcc/stmt.h
index 3ccd1c4..c2e0c66 100644
--- a/gcc/stmt.h
+++ b/gcc/stmt.h
@@ -31,4 +31,10 @@ extern tree resolve_asm_operand_names (tree, tree, tree, tree);
 extern tree tree_overlaps_hard_reg_set (tree, HARD_REG_SET *);
 #endif
 
+/* Expand a GIMPLE_SWITCH statement.  */
+extern void expand_case (gswitch *);
+
+/* Like expand_case but special-case for SJLJ exception dispatching.  */
+extern void expand_sjlj_dispatch_table (rtx, vec<tree> );
+
 #endif  // GCC_STMT_H
diff --git a/gcc/stor-layout.c b/gcc/stor-layout.c
index db09855..a35a8ee 100644
--- a/gcc/stor-layout.c
+++ b/gcc/stor-layout.c
@@ -37,6 +37,12 @@ along with GCC; see the file COPYING3.  If not see
 #include "hard-reg-set.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "diagnostic-core.h"
 #include "target.h"
diff --git a/gcc/store-motion.c b/gcc/store-motion.c
index 3677fbb..81bb4dd 100644
--- a/gcc/store-motion.c
+++ b/gcc/store-motion.c
@@ -46,6 +46,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "lcm.h"
 #include "cfgcleanup.h"
 #include "basic-block.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "except.h"
 #include "ggc.h"
diff --git a/gcc/target-globals.c b/gcc/target-globals.c
index 2e03c5c..4af349d 100644
--- a/gcc/target-globals.c
+++ b/gcc/target-globals.c
@@ -33,6 +33,15 @@ along with GCC; see the file COPYING3.  If not see
 #include "hard-reg-set.h"
 #include "reload.h"
 #include "expmed.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "input.h"
+#include "function.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "stmt.h"
 #include "expr.h"
 #include "insn-codes.h"
 #include "optabs.h"
diff --git a/gcc/targhooks.c b/gcc/targhooks.c
index 42fd82e..bd05eec 100644
--- a/gcc/targhooks.c
+++ b/gcc/targhooks.c
@@ -55,15 +55,22 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree.h"
 #include "stor-layout.h"
 #include "varasm.h"
-#include "expr.h"
-#include "output.h"
-#include "diagnostic-core.h"
 #include "hashtab.h"
 #include "hash-set.h"
 #include "vec.h"
 #include "hard-reg-set.h"
 #include "input.h"
 #include "function.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "output.h"
+#include "diagnostic-core.h"
 #include "target.h"
 #include "tm_p.h"
 #include "target-def.h"
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 04f63df..b2cd795 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -49,6 +49,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "machmode.h"
 #include "function.h"
 #include "toplev.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "intl.h"
 #include "regs.h"
diff --git a/gcc/tree-affine.c b/gcc/tree-affine.c
index 7a0b89e..7d93f92 100644
--- a/gcc/tree-affine.c
+++ b/gcc/tree-affine.c
@@ -21,18 +21,26 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "tree.h"
-#include "expr.h"
-#include "tree-pretty-print.h"
-#include "tree-affine.h"
-#include "predict.h"
-#include "vec.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 "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "tree-pretty-print.h"
+#include "tree-affine.h"
+#include "predict.h"
 #include "basic-block.h"
 #include "tree-ssa-alias.h"
 #include "internal-fn.h"
@@ -40,7 +48,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "is-a.h"
 #include "gimple.h"
 #include "gimplify.h"
-#include "flags.h"
 #include "dumpfile.h"
 #include "cfgexpand.h"
 #include "wide-int-print.h"
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index 0ae4bd7..a7ecef2 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -65,6 +65,13 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree-ssa-loop-manip.h"
 #include "tree-ssa-loop-niter.h"
 #include "tree-into-ssa.h"
+#include "rtl.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-dfa.h"
 #include "tree-ssa.h"
diff --git a/gcc/tree-cfgcleanup.c b/gcc/tree-cfgcleanup.c
index 81425d0..c05804d 100644
--- a/gcc/tree-cfgcleanup.c
+++ b/gcc/tree-cfgcleanup.c
@@ -54,6 +54,13 @@ along with GCC; see the file COPYING3.  If not see
 #include "stringpool.h"
 #include "tree-ssanames.h"
 #include "tree-ssa-loop-manip.h"
+#include "rtl.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-dfa.h"
 #include "tree-ssa.h"
diff --git a/gcc/tree-chkp-opt.c b/gcc/tree-chkp-opt.c
index 92e0694..2a76bcb 100644
--- a/gcc/tree-chkp-opt.c
+++ b/gcc/tree-chkp-opt.c
@@ -48,6 +48,21 @@ along with GCC; see the file COPYING3.  If not see
 #include "gimple-iterator.h"
 #include "gimplify.h"
 #include "gimplify-me.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 "rtl.h"
+#include "flags.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-chkp.h"
 #include "ipa-chkp.h"
diff --git a/gcc/tree-chkp.c b/gcc/tree-chkp.c
index e7b9bbf..be7f394 100644
--- a/gcc/tree-chkp.c
+++ b/gcc/tree-chkp.c
@@ -55,6 +55,21 @@ along with GCC; see the file COPYING3.  If not see
 #include "gimplify.h"
 #include "gimplify-me.h"
 #include "print-tree.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 "rtl.h"
+#include "flags.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-ssa-propagate.h"
 #include "gimple-fold.h"
@@ -67,8 +82,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "cgraph.h"
 #include "ipa-chkp.h"
 #include "params.h"
-#include "ipa-chkp.h"
-#include "params.h"
 
 /*  Pointer Bounds Checker instruments code with memory checks to find
     out-of-bounds memory accesses.  Checks are performed by computing
diff --git a/gcc/tree-complex.c b/gcc/tree-complex.c
index 7fe7c2d..695a0de 100644
--- a/gcc/tree-complex.c
+++ b/gcc/tree-complex.c
@@ -50,6 +50,13 @@ along with GCC; see the file COPYING3.  If not see
 #include "ssa-iterators.h"
 #include "stringpool.h"
 #include "tree-ssanames.h"
+#include "rtl.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-dfa.h"
 #include "tree-ssa.h"
diff --git a/gcc/tree-data-ref.c b/gcc/tree-data-ref.c
index 387da6c..ef38a61 100644
--- a/gcc/tree-data-ref.c
+++ b/gcc/tree-data-ref.c
@@ -77,17 +77,25 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "tree.h"
-#include "expr.h"
-#include "gimple-pretty-print.h"
-#include "predict.h"
-#include "vec.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 "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "gimple-pretty-print.h"
+#include "predict.h"
 #include "dominance.h"
 #include "cfg.h"
 #include "basic-block.h"
diff --git a/gcc/tree-dfa.c b/gcc/tree-dfa.c
index 681bf18..1f01cab 100644
--- a/gcc/tree-dfa.c
+++ b/gcc/tree-dfa.c
@@ -51,6 +51,13 @@ along with GCC; see the file COPYING3.  If not see
 #include "ssa-iterators.h"
 #include "stringpool.h"
 #include "tree-ssanames.h"
+#include "rtl.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-dfa.h"
 #include "tree-inline.h"
diff --git a/gcc/tree-eh.c b/gcc/tree-eh.c
index 5d151f7..2f6446f 100644
--- a/gcc/tree-eh.c
+++ b/gcc/tree-eh.c
@@ -23,9 +23,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "hash-table.h"
 #include "tm.h"
 #include "tree.h"
-#include "expr.h"
-#include "calls.h"
-#include "flags.h"
 #include "hashtab.h"
 #include "hash-set.h"
 #include "vec.h"
@@ -33,6 +30,16 @@ along with GCC; see the file COPYING3.  If not see
 #include "hard-reg-set.h"
 #include "input.h"
 #include "function.h"
+#include "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "calls.h"
 #include "except.h"
 #include "predict.h"
 #include "dominance.h"
diff --git a/gcc/tree-if-conv.c b/gcc/tree-if-conv.c
index 2ec7774..8184536 100644
--- a/gcc/tree-if-conv.c
+++ b/gcc/tree-if-conv.c
@@ -124,6 +124,13 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree-ssa-address.h"
 #include "tree-pass.h"
 #include "dbgcnt.h"
+#include "rtl.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "insn-codes.h"
 #include "optabs.h"
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
index 0a75489..c039ed0 100644
--- a/gcc/tree-inline.c
+++ b/gcc/tree-inline.c
@@ -63,6 +63,12 @@ along with GCC; see the file COPYING3.  If not see
 #include "stringpool.h"
 #include "tree-ssanames.h"
 #include "tree-into-ssa.h"
+#include "rtl.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-dfa.h"
 #include "tree-ssa.h"
diff --git a/gcc/tree-into-ssa.c b/gcc/tree-into-ssa.c
index b5a854f..72990d1 100644
--- a/gcc/tree-into-ssa.c
+++ b/gcc/tree-into-ssa.c
@@ -53,6 +53,13 @@ along with GCC; see the file COPYING3.  If not see
 #include "stringpool.h"
 #include "tree-ssanames.h"
 #include "tree-into-ssa.h"
+#include "rtl.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-dfa.h"
 #include "tree-ssa.h"
@@ -62,7 +69,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "domwalk.h"
 #include "params.h"
 #include "diagnostic-core.h"
-#include "tree-into-ssa.h"
 
 #define PERCENT(x,y) ((float)(x) * 100.0 / (float)(y))
 
diff --git a/gcc/tree-nested.c b/gcc/tree-nested.c
index 4d31837..d8de484 100644
--- a/gcc/tree-nested.c
+++ b/gcc/tree-nested.c
@@ -51,6 +51,14 @@
 #include "ipa-ref.h"
 #include "cgraph.h"
 #include "tree-cfg.h"
+#include "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"	/* FIXME: For STACK_SAVEAREA_MODE and SAVE_NONLOCAL.  */
 #include "langhooks.h"
 #include "gimple-low.h"
diff --git a/gcc/tree-outof-ssa.c b/gcc/tree-outof-ssa.c
index 622b71b..1d0d81b 100644
--- a/gcc/tree-outof-ssa.c
+++ b/gcc/tree-outof-ssa.c
@@ -62,6 +62,14 @@ along with GCC; see the file COPYING3.  If not see
 
 /* FIXME: A lot of code here deals with expanding to RTL.  All that code
    should be in cfgexpand.c.  */
+#include "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 
 /* Return TRUE if expression STMT is suitable for replacement.  */
diff --git a/gcc/tree-predcom.c b/gcc/tree-predcom.c
index 3482bf0..ec163b6 100644
--- a/gcc/tree-predcom.c
+++ b/gcc/tree-predcom.c
@@ -221,6 +221,14 @@ 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 "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-dfa.h"
 #include "tree-ssa.h"
diff --git a/gcc/tree-pretty-print.c b/gcc/tree-pretty-print.c
index 808c15d..cc843a8 100644
--- a/gcc/tree-pretty-print.c
+++ b/gcc/tree-pretty-print.c
@@ -24,20 +24,28 @@ along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "tree.h"
 #include "stor-layout.h"
-#include "expr.h"
-#include "tree-pretty-print.h"
 #include "hashtab.h"
 #include "hash-set.h"
-#include "gimple-expr.h"
-#include "predict.h"
-#include "hash-map.h"
-#include "is-a.h"
-#include "plugin-api.h"
 #include "vec.h"
 #include "machmode.h"
 #include "hard-reg-set.h"
 #include "input.h"
 #include "function.h"
+#include "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "tree-pretty-print.h"
+#include "gimple-expr.h"
+#include "predict.h"
+#include "hash-map.h"
+#include "is-a.h"
+#include "plugin-api.h"
 #include "ipa-ref.h"
 #include "cgraph.h"
 #include "langhooks.h"
diff --git a/gcc/tree-scalar-evolution.c b/gcc/tree-scalar-evolution.c
index 7c69814..4a1fb6a 100644
--- a/gcc/tree-scalar-evolution.c
+++ b/gcc/tree-scalar-evolution.c
@@ -257,17 +257,25 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "tree.h"
-#include "expr.h"
-#include "gimple-pretty-print.h"
-#include "predict.h"
-#include "vec.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 "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "gimple-pretty-print.h"
+#include "predict.h"
 #include "dominance.h"
 #include "cfg.h"
 #include "basic-block.h"
@@ -297,7 +305,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "params.h"
 #include "tree-ssa-propagate.h"
 #include "gimple-fold.h"
-#include "gimplify-me.h"
 
 static tree analyze_scalar_evolution_1 (struct loop *, tree, tree);
 static tree analyze_scalar_evolution_for_address_of (struct loop *loop,
diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c
index f213c80..122d0b5 100644
--- a/gcc/tree-sra.c
+++ b/gcc/tree-sra.c
@@ -108,6 +108,14 @@ along with GCC; see the file COPYING3.  If not see
 #include "ssa-iterators.h"
 #include "stringpool.h"
 #include "tree-ssanames.h"
+#include "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-dfa.h"
 #include "tree-ssa.h"
@@ -119,7 +127,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "statistics.h"
 #include "params.h"
 #include "target.h"
-#include "flags.h"
 #include "dbgcnt.h"
 #include "tree-inline.h"
 #include "gimple-pretty-print.h"
diff --git a/gcc/tree-ssa-address.c b/gcc/tree-ssa-address.c
index 29ce38b..7d32cf3 100644
--- a/gcc/tree-ssa-address.c
+++ b/gcc/tree-ssa-address.c
@@ -47,20 +47,23 @@ along with GCC; see the file COPYING3.  If not see
 #include "stringpool.h"
 #include "tree-ssanames.h"
 #include "tree-ssa-loop-ivopts.h"
+#include "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-dfa.h"
 #include "dumpfile.h"
-#include "flags.h"
 #include "tree-inline.h"
 #include "tree-affine.h"
 
 /* FIXME: We compute address costs using RTL.  */
-#include "insn-config.h"
-#include "rtl.h"
 #include "recog.h"
-#include "expr.h"
 #include "target.h"
-#include "expmed.h"
 #include "tree-ssa-address.h"
 
 /* TODO -- handling of symbols (according to Richard Hendersons
diff --git a/gcc/tree-ssa-alias.c b/gcc/tree-ssa-alias.c
index 5ad2576..88788bb 100644
--- a/gcc/tree-ssa-alias.c
+++ b/gcc/tree-ssa-alias.c
@@ -49,12 +49,18 @@ along with GCC; see the file COPYING3.  If not see
 #include "gimple-ssa.h"
 #include "stringpool.h"
 #include "tree-ssanames.h"
+#include "rtl.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-dfa.h"
 #include "tree-inline.h"
 #include "params.h"
 #include "alloc-pool.h"
-#include "tree-ssa-alias.h"
 #include "bitmap.h"
 #include "hash-map.h"
 #include "plugin-api.h"
diff --git a/gcc/tree-ssa-copyrename.c b/gcc/tree-ssa-copyrename.c
index cd7bac5..cdda424 100644
--- a/gcc/tree-ssa-copyrename.c
+++ b/gcc/tree-ssa-copyrename.c
@@ -46,6 +46,13 @@ along with GCC; see the file COPYING3.  If not see
 #include "gimple-ssa.h"
 #include "stringpool.h"
 #include "tree-ssanames.h"
+#include "rtl.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-dfa.h"
 #include "tree-inline.h"
diff --git a/gcc/tree-ssa-dce.c b/gcc/tree-ssa-dce.c
index 7f68770..6fb4f16 100644
--- a/gcc/tree-ssa-dce.c
+++ b/gcc/tree-ssa-dce.c
@@ -78,10 +78,17 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree-ssanames.h"
 #include "tree-ssa-loop-niter.h"
 #include "tree-into-ssa.h"
+#include "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-dfa.h"
 #include "tree-pass.h"
-#include "flags.h"
 #include "cfgloop.h"
 #include "tree-scalar-evolution.h"
 #include "tree-chkp.h"
diff --git a/gcc/tree-ssa-dse.c b/gcc/tree-ssa-dse.c
index 91017ff..88e6dc2 100644
--- a/gcc/tree-ssa-dse.c
+++ b/gcc/tree-ssa-dse.c
@@ -48,11 +48,18 @@ along with GCC; see the file COPYING3.  If not see
 #include "ssa-iterators.h"
 #include "stringpool.h"
 #include "tree-ssanames.h"
+#include "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-dfa.h"
 #include "tree-pass.h"
 #include "domwalk.h"
-#include "flags.h"
 #include "langhooks.h"
 #include "tree-cfgcleanup.h"
 
diff --git a/gcc/tree-ssa-forwprop.c b/gcc/tree-ssa-forwprop.c
index e931471..564de0a 100644
--- a/gcc/tree-ssa-forwprop.c
+++ b/gcc/tree-ssa-forwprop.c
@@ -52,13 +52,19 @@ along with GCC; see the file COPYING3.  If not see
 #include "ssa-iterators.h"
 #include "stringpool.h"
 #include "tree-ssanames.h"
+#include "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-dfa.h"
 #include "tree-pass.h"
 #include "langhooks.h"
-#include "flags.h"
 #include "diagnostic.h"
-#include "expr.h"
 #include "cfgloop.h"
 #include "insn-codes.h"
 #include "optabs.h"
diff --git a/gcc/tree-ssa-live.c b/gcc/tree-ssa-live.c
index 0a4565a..c3fedc4 100644
--- a/gcc/tree-ssa-live.c
+++ b/gcc/tree-ssa-live.c
@@ -49,6 +49,14 @@ along with GCC; see the file COPYING3.  If not see
 #include "ssa-iterators.h"
 #include "stringpool.h"
 #include "tree-ssanames.h"
+#include "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-dfa.h"
 #include "timevar.h"
@@ -56,7 +64,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree-ssa-live.h"
 #include "diagnostic-core.h"
 #include "debug.h"
-#include "flags.h"
 #include "tree-ssa.h"
 
 #ifdef ENABLE_CHECKING
diff --git a/gcc/tree-ssa-loop-ivopts.c b/gcc/tree-ssa-loop-ivopts.c
index fca18b6..fcbe754 100644
--- a/gcc/tree-ssa-loop-ivopts.c
+++ b/gcc/tree-ssa-loop-ivopts.c
@@ -104,29 +104,33 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree-ssa-loop-manip.h"
 #include "tree-ssa-loop-niter.h"
 #include "tree-ssa-loop.h"
+#include "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-dfa.h"
 #include "tree-ssa.h"
 #include "cfgloop.h"
 #include "tree-pass.h"
-#include "insn-config.h"
 #include "tree-chrec.h"
 #include "tree-scalar-evolution.h"
-#include "cfgloop.h"
 #include "params.h"
 #include "langhooks.h"
 #include "tree-affine.h"
 #include "target.h"
 #include "tree-inline.h"
 #include "tree-ssa-propagate.h"
-#include "expmed.h"
 #include "tree-ssa-address.h"
 #include "builtins.h"
 
 /* FIXME: Expressions are expanded to RTL in this pass to determine the
    cost of different addressing modes.  This should be moved to a TBD
    interface between the GIMPLE and RTL worlds.  */
-#include "expr.h"
 #include "recog.h"
 
 /* The infinite cost.  */
diff --git a/gcc/tree-ssa-loop-niter.c b/gcc/tree-ssa-loop-niter.c
index 359d03d..4bb188d 100644
--- a/gcc/tree-ssa-loop-niter.c
+++ b/gcc/tree-ssa-loop-niter.c
@@ -23,16 +23,24 @@ along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "tree.h"
 #include "calls.h"
-#include "expr.h"
-#include "tm_p.h"
-#include "predict.h"
-#include "vec.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 "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "tm_p.h"
+#include "predict.h"
 #include "dominance.h"
 #include "cfg.h"
 #include "basic-block.h"
@@ -58,7 +66,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree-scalar-evolution.h"
 #include "tree-data-ref.h"
 #include "params.h"
-#include "flags.h"
 #include "diagnostic-core.h"
 #include "tree-inline.h"
 #include "tree-pass.h"
diff --git a/gcc/tree-ssa-loop-prefetch.c b/gcc/tree-ssa-loop-prefetch.c
index 28ebb37..a30037c 100644
--- a/gcc/tree-ssa-loop-prefetch.c
+++ b/gcc/tree-ssa-loop-prefetch.c
@@ -64,6 +64,13 @@ along with GCC; see the file COPYING3.  If not see
 
 /* FIXME: Needed for optabs, but this should all be moved to a TBD interface
    between the GIMPLE and RTL worlds.  */
+#include "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "insn-codes.h"
 #include "optabs.h"
diff --git a/gcc/tree-ssa-math-opts.c b/gcc/tree-ssa-math-opts.c
index 1ed2838..ae98fe6 100644
--- a/gcc/tree-ssa-math-opts.c
+++ b/gcc/tree-ssa-math-opts.c
@@ -117,6 +117,13 @@ along with GCC; see the file COPYING3.  If not see
 #include "ssa-iterators.h"
 #include "stringpool.h"
 #include "tree-ssanames.h"
+#include "rtl.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-dfa.h"
 #include "tree-ssa.h"
diff --git a/gcc/tree-ssa-phiopt.c b/gcc/tree-ssa-phiopt.c
index be1becb..df08e0f 100644
--- a/gcc/tree-ssa-phiopt.c
+++ b/gcc/tree-ssa-phiopt.c
@@ -52,6 +52,13 @@ along with GCC; see the file COPYING3.  If not see
 #include "ssa-iterators.h"
 #include "stringpool.h"
 #include "tree-ssanames.h"
+#include "rtl.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-dfa.h"
 #include "tree-pass.h"
@@ -60,8 +67,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "cfgloop.h"
 #include "tree-data-ref.h"
 #include "gimple-pretty-print.h"
-#include "insn-config.h"
-#include "expr.h"
 #include "insn-codes.h"
 #include "optabs.h"
 #include "tree-scalar-evolution.h"
diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c
index 933cf36..5369516 100644
--- a/gcc/tree-ssa-pre.c
+++ b/gcc/tree-ssa-pre.c
@@ -58,6 +58,14 @@ 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 "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-dfa.h"
 #include "tree-ssa.h"
@@ -65,7 +73,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "alloc-pool.h"
 #include "obstack.h"
 #include "tree-pass.h"
-#include "flags.h"
 #include "langhooks.h"
 #include "cfgloop.h"
 #include "tree-ssa-sccvn.h"
diff --git a/gcc/tree-ssa-reassoc.c b/gcc/tree-ssa-reassoc.c
index 52a4cae..56ecce5 100644
--- a/gcc/tree-ssa-reassoc.c
+++ b/gcc/tree-ssa-reassoc.c
@@ -59,6 +59,13 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree-ssanames.h"
 #include "tree-ssa-loop-niter.h"
 #include "tree-ssa-loop.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-dfa.h"
 #include "tree-ssa.h"
@@ -67,7 +74,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "alloc-pool.h"
 #include "langhooks.h"
 #include "cfgloop.h"
-#include "flags.h"
 #include "target.h"
 #include "params.h"
 #include "diagnostic-core.h"
diff --git a/gcc/tree-ssa-sccvn.c b/gcc/tree-ssa-sccvn.c
index d7a4742..e52048a 100644
--- a/gcc/tree-ssa-sccvn.c
+++ b/gcc/tree-ssa-sccvn.c
@@ -53,12 +53,19 @@ along with GCC; see the file COPYING3.  If not see
 #include "ssa-iterators.h"
 #include "stringpool.h"
 #include "tree-ssanames.h"
+#include "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-dfa.h"
 #include "tree-ssa.h"
 #include "dumpfile.h"
 #include "alloc-pool.h"
-#include "flags.h"
 #include "cfgloop.h"
 #include "params.h"
 #include "tree-ssa-propagate.h"
diff --git a/gcc/tree-ssa-strlen.c b/gcc/tree-ssa-strlen.c
index c2f3493..2222558 100644
--- a/gcc/tree-ssa-strlen.c
+++ b/gcc/tree-ssa-strlen.c
@@ -53,6 +53,14 @@ along with GCC; see the file COPYING3.  If not see
 #include "ssa-iterators.h"
 #include "stringpool.h"
 #include "tree-ssanames.h"
+#include "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-dfa.h"
 #include "tree-pass.h"
@@ -61,7 +69,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree-ssa-propagate.h"
 #include "gimple-pretty-print.h"
 #include "params.h"
-#include "expr.h"
 #include "plugin-api.h"
 #include "ipa-ref.h"
 #include "cgraph.h"
diff --git a/gcc/tree-ssa-structalias.c b/gcc/tree-ssa-structalias.c
index 69cf60b..ebe181c 100644
--- a/gcc/tree-ssa-structalias.c
+++ b/gcc/tree-ssa-structalias.c
@@ -55,6 +55,12 @@
 #include "stringpool.h"
 #include "tree-ssanames.h"
 #include "tree-into-ssa.h"
+#include "rtl.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
 #include "expr.h"
 #include "tree-dfa.h"
 #include "tree-inline.h"
@@ -63,7 +69,6 @@
 #include "alloc-pool.h"
 #include "splay-tree.h"
 #include "params.h"
-#include "alias.h"
 #include "tree-phinodes.h"
 #include "ssa-iterators.h"
 #include "tree-pretty-print.h"
diff --git a/gcc/tree-switch-conversion.c b/gcc/tree-switch-conversion.c
index eb5fbeb..c8478d2 100644
--- a/gcc/tree-switch-conversion.c
+++ b/gcc/tree-switch-conversion.c
@@ -70,6 +70,13 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
 #include "langhooks.h"
 
 /* Need to include expr.h and optabs.h for lshift_cheap_p.  */
+#include "rtl.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "insn-codes.h"
 #include "optabs.h"
diff --git a/gcc/tree-tailcall.c b/gcc/tree-tailcall.c
index 8f5c773..06c2037 100644
--- a/gcc/tree-tailcall.c
+++ b/gcc/tree-tailcall.c
@@ -48,12 +48,19 @@ along with GCC; see the file COPYING3.  If not see
 #include "stringpool.h"
 #include "tree-ssanames.h"
 #include "tree-into-ssa.h"
+#include "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-dfa.h"
 #include "gimple-pretty-print.h"
 #include "except.h"
 #include "tree-pass.h"
-#include "flags.h"
 #include "langhooks.h"
 #include "dbgcnt.h"
 #include "target.h"
diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c
index f7b192f..4424d87 100644
--- a/gcc/tree-vect-data-refs.c
+++ b/gcc/tree-vect-data-refs.c
@@ -57,7 +57,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree-ssa-loop-ivopts.h"
 #include "tree-ssa-loop-manip.h"
 #include "tree-ssa-loop.h"
-#include "dumpfile.h"
 #include "cfgloop.h"
 #include "tree-chrec.h"
 #include "tree-scalar-evolution.h"
@@ -68,6 +67,14 @@ along with GCC; see the file COPYING3.  If not see
 #include "ipa-ref.h"
 #include "cgraph.h"
 /* Need to include rtl.h, expr.h, etc. for optabs.  */
+#include "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "insn-codes.h"
 #include "optabs.h"
diff --git a/gcc/tree-vect-generic.c b/gcc/tree-vect-generic.c
index de09ff0..174ca5f 100644
--- a/gcc/tree-vect-generic.c
+++ b/gcc/tree-vect-generic.c
@@ -54,6 +54,13 @@ along with GCC; see the file COPYING3.  If not see
 #include "target.h"
 
 /* Need to include rtl.h, expr.h, etc. for optabs.  */
+#include "rtl.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "insn-codes.h"
 #include "optabs.h"
diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c
index d1d4596..2ada205 100644
--- a/gcc/tree-vect-loop.c
+++ b/gcc/tree-vect-loop.c
@@ -57,6 +57,14 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree-ssa-loop-niter.h"
 #include "tree-pass.h"
 #include "cfgloop.h"
+#include "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "recog.h"
 #include "insn-codes.h"
diff --git a/gcc/tree-vect-patterns.c b/gcc/tree-vect-patterns.c
index d5effab..50ca8cd 100644
--- a/gcc/tree-vect-patterns.c
+++ b/gcc/tree-vect-patterns.c
@@ -50,6 +50,14 @@ along with GCC; see the file COPYING3.  If not see
 #include "stringpool.h"
 #include "tree-ssanames.h"
 #include "cfgloop.h"
+#include "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "insn-codes.h"
 #include "optabs.h"
diff --git a/gcc/tree-vect-slp.c b/gcc/tree-vect-slp.c
index f43b724..c12b61b 100644
--- a/gcc/tree-vect-slp.c
+++ b/gcc/tree-vect-slp.c
@@ -50,6 +50,14 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree-ssanames.h"
 #include "tree-pass.h"
 #include "cfgloop.h"
+#include "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "recog.h"		/* FIXME: for insn_data */
 #include "insn-codes.h"
diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c
index 52f9d31..2e60a93 100644
--- a/gcc/tree-vect-stmts.c
+++ b/gcc/tree-vect-stmts.c
@@ -58,13 +58,20 @@ along with GCC; see the file COPYING3.  If not see
 #include "cfgloop.h"
 #include "tree-ssa-loop.h"
 #include "tree-scalar-evolution.h"
+#include "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "recog.h"		/* FIXME: for insn_data */
 #include "insn-codes.h"
 #include "optabs.h"
 #include "diagnostic-core.h"
 #include "tree-vectorizer.h"
-#include "dumpfile.h"
 #include "hash-map.h"
 #include "plugin-api.h"
 #include "ipa-ref.h"
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c
index bd238d5..7eb1267 100644
--- a/gcc/tree-vrp.c
+++ b/gcc/tree-vrp.c
@@ -68,6 +68,13 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree-ssa-propagate.h"
 #include "tree-chrec.h"
 #include "tree-ssa-threadupdate.h"
+#include "rtl.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "insn-codes.h"
 #include "optabs.h"
diff --git a/gcc/tree.c b/gcc/tree.c
index 3a857c0..889850c 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -75,6 +75,13 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree-phinodes.h"
 #include "stringpool.h"
 #include "tree-ssanames.h"
+#include "rtl.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-dfa.h"
 #include "params.h"
diff --git a/gcc/tsan.c b/gcc/tsan.c
index d221e45..99225a2 100644
--- a/gcc/tsan.c
+++ b/gcc/tsan.c
@@ -23,17 +23,25 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "tree.h"
-#include "expr.h"
-#include "intl.h"
-#include "tm.h"
-#include "predict.h"
-#include "vec.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 "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "intl.h"
+#include "predict.h"
 #include "dominance.h"
 #include "cfg.h"
 #include "basic-block.h"
diff --git a/gcc/ubsan.c b/gcc/ubsan.c
index fb5f104..aad3550 100644
--- a/gcc/ubsan.c
+++ b/gcc/ubsan.c
@@ -58,6 +58,13 @@ along with GCC; see the file COPYING3.  If not see
 #include "ubsan.h"
 #include "c-family/c-common.h"
 #include "rtl.h"
+#include "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-ssanames.h"
 #include "asan.h"
diff --git a/gcc/value-prof.c b/gcc/value-prof.c
index 82a144f..eb6aff4 100644
--- a/gcc/value-prof.c
+++ b/gcc/value-prof.c
@@ -25,21 +25,26 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree-nested.h"
 #include "calls.h"
 #include "rtl.h"
-#include "expr.h"
-#include "hard-reg-set.h"
-#include "predict.h"
-#include "vec.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 "flags.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
+#include "expr.h"
+#include "predict.h"
 #include "dominance.h"
 #include "cfg.h"
 #include "basic-block.h"
 #include "value-prof.h"
-#include "flags.h"
-#include "insn-config.h"
 #include "recog.h"
 #include "insn-codes.h"
 #include "optabs.h"
@@ -61,7 +66,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "diagnostic.h"
 #include "gimple-pretty-print.h"
 #include "coverage.h"
-#include "tree.h"
 #include "gcov-io.h"
 #include "timevar.h"
 #include "dumpfile.h"
@@ -72,7 +76,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "cgraph.h"
 #include "data-streamer.h"
 #include "builtins.h"
-#include "tree-nested.h"
 #include "params.h"
 #include "tree-chkp.h"
 
diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c
index e7d4ff1..94fac27 100644
--- a/gcc/var-tracking.c
+++ b/gcc/var-tracking.c
@@ -115,6 +115,11 @@
 #include "sbitmap.h"
 #include "alloc-pool.h"
 #include "regs.h"
+#include "tree-core.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "tree-pass.h"
 #include "bitmap.h"
@@ -126,8 +131,6 @@
 #include "diagnostic.h"
 #include "tree-pretty-print.h"
 #include "recog.h"
-#include "tm_p.h"
-#include "alias.h"
 #include "rtl-iter.h"
 #include "fibonacci_heap.h"
 
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 99dae5d..774a57b 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -42,6 +42,12 @@ along with GCC; see the file COPYING3.  If not see
 #include "hard-reg-set.h"
 #include "input.h"
 #include "function.h"
+#include "tree-core.h"
+#include "insn-config.h"
+#include "alias.h"
+#include "emit-rtl.h"
+#include "expmed.h"
+#include "stmt.h"
 #include "expr.h"
 #include "regs.h"
 #include "output.h"
