From 9fdcd34e0fc48867dfc4d00dad09bdcbb4562db1 Mon Sep 17 00:00:00 2001
From: Andrew MacLeod <amacleod@redhat.com>
Date: Fri, 10 Jul 2015 12:13:06 +0000
Subject: [PATCH] gimple-predict.h: New file.

2015-07-10  Andrew MacLeod  <amacleod@redhat.com>

	* gimple-predict.h: New file.
	(gimple_predict_predictor, gimple_predict_set_predictor,
	gimple_predict_outcome, gimple_predict_set_outcome,
	gimple_build_predict): Relocate here.
	* gimple.h (gimple_predict_predictor, gimple_predict_set_predictor,
	gimple_predict_outcome, gimple_predict_set_outcome): Move to
	gimple-predict.h.
	* gimple.c (gimple_build_predict): Move to gimple-predict.h
	* basic-block.h: Don't include cfghooks.h.
	* backend.h: Don't include predict.h.
	* cfghooks.h: Include predict.h.
	* gimple-pretty-print.c: Include gimple-predict.h.
	* gimplify.c: Likwise.
	* predict.c: Adjust includes.
	* tree-inline.c: Likewise.
	* asan.c: Likewise.
	* auto-inc-dec.c: Likewise.
	* auto-profile.c: Likewise.
	* bb-reorder.c: Likewise.
	* builtins.c: Likewise.
	* caller-save.c: Likewise.
	* calls.c: Likewise.
	* cfganal.c: Likewise.
	* cfgbuild.c: Likewise.
	* cfg.c: Likewise.
	* cfgcleanup.c: Likewise.
	* cfgexpand.c: Likewise.
	* cfghooks.c: Likewise.
	* cfgloopanal.c: Likewise.
	* cfgloop.c: Likewise.
	* cfgloopmanip.c: Likewise.
	* cfgrtl.c: Likewise.
	* cgraph.c: Likewise.
	* cgraphunit.c: Likewise.
	* combine.c: Likewise.
	* cprop.c: Likewise.
	* cse.c: Likewise.
	* dce.c: Likewise.
	* dojump.c: Likewise.
	* dse.c: Likewise.
	* except.c: Likewise.
	* expmed.c: Likewise.
	* expr.c: Likewise.
	* final.c: Likewise.
	* fold-const.c: Likewise.
	* function.c: Likewise.
	* fwprop.c: Likewise.
	* gcc-plugin.h: Likewise.
	* gcse.c: Likewise.
	* genattrtab.c: Likewise.
	* genemit.c: Likewise.
	* gengtype.c: Likewise.
	* genopinit.c: Likewise.
	* genoutput.c: Likewise.
	* genpreds.c: Likewise.
	* genrecog.c: Likewise.
	* gimple-fold.c: Likewise.
	* gimple-iterator.c: Likewise.
	* gimple-ssa-isolate-paths.c: Likewise.
	* gimple-ssa-strength-reduction.c: Likewise.
	* graph.c: Likewise.
	* graphite-blocking.c: Likewise.
	* graphite.c: Likewise.
	* graphite-dependences.c: Likewise.
	* graphite-interchange.c: Likewise.
	* graphite-isl-ast-to-gimple.c: Likewise.
	* graphite-optimize-isl.c: Likewise.
	* graphite-poly.c: Likewise.
	* graphite-scop-detection.c: Likewise.
	* graphite-sese-to-poly.c: Likewise.
	* haifa-sched.c: Likewise.
	* ifcvt.c: Likewise.
	* internal-fn.c: Likewise.
	* ipa-cp.c: Likewise.
	* ipa-profile.c: Likewise.
	* ipa-split.c: Likewise.
	* ipa-utils.c: Likewise.
	* ira-build.c: Likewise.
	* ira-color.c: Likewise.
	* ira-conflicts.c: Likewise.
	* ira-costs.c: Likewise.
	* ira-emit.c: Likewise.
	* ira-lives.c: Likewise.
	* jump.c: Likewise.
	* loop-doloop.c: Likewise.
	* loop-init.c: Likewise.
	* loop-invariant.c: Likewise.
	* loop-unroll.c: Likewise.
	* lower-subreg.c: Likewise.
	* lra-assigns.c: Likewise.
	* lra.c: Likewise.
	* lra-coalesce.c: Likewise.
	* lra-constraints.c: Likewise.
	* lra-lives.c: Likewise.
	* lto-cgraph.c: Likewise.
	* lto-streamer-in.c: Likewise.
	* mode-switching.c: Likewise.
	* modulo-sched.c: Likewise.
	* omp-low.c: Likewise.
	* optabs.c: Likewise.
	* passes.c: Likewise.
	* postreload.c: Likewise.
	* postreload-gcse.c: Likewise.
	* profile.c: Likewise.
	* recog.c: Likewise.
	* regstat.c: Likewise.
	* reload1.c: Likewise.
	* reorg.c: Likewise.
	* rtlanal.c: Likewise.
	* sched-ebb.c: Likewise.
	* sel-sched-ir.c: Likewise.
	* sese.c: Likewise.
	* shrink-wrap.c: Likewise.
	* simplify-rtx.c: Likewise.
	* stmt.c: Likewise.
	* store-motion.c: Likewise.
	* tracer.c: Likewise.
	* trans-mem.c: Likewise.
	* tree-call-cdce.c: Likewise.
	* tree-cfg.c: Likewise.
	* tree-cfgcleanup.c: Likewise.
	* tree-chkp.c: Likewise.
	* tree-complex.c: Likewise.
	* tree-eh.c: Likewise.
	* tree-if-conv.c: Likewise.
	* tree-loop-distribution.c: Likewise.
	* tree-outof-ssa.c: Likewise.
	* tree-parloops.c: Likewise.
	* tree-predcom.c: Likewise.
	* tree-pretty-print.c: Likewise.
	* tree-profile.c: Likewise.
	* tree-sra.c: Likewise.
	* tree-ssa.c: Likewise.
	* tree-ssa-coalesce.c: Likewise.
	* tree-ssa-dce.c: Likewise.
	* tree-ssa-dom.c: Likewise.
	* tree-ssa-forwprop.c: Likewise.
	* tree-ssa-ifcombine.c: Likewise.
	* tree-ssa-loop-ch.c: Likewise.
	* tree-ssa-loop-im.c: Likewise.
	* tree-ssa-loop-ivcanon.c: Likewise.
	* tree-ssa-loop-ivopts.c: Likewise.
	* tree-ssa-loop-manip.c: Likewise.
	* tree-ssa-loop-prefetch.c: Likewise.
	* tree-ssa-loop-unswitch.c: Likewise.
	* tree-ssa-math-opts.c: Likewise.
	* tree-ssa-phiopt.c: Likewise.
	* tree-ssa-pre.c: Likewise.
	* tree-ssa-reassoc.c: Likewise.
	* tree-ssa-sink.c: Likewise.
	* tree-ssa-tail-merge.c: Likewise.
	* tree-ssa-threadedge.c: Likewise.
	* tree-ssa-threadupdate.c: Likewise.
	* tree-switch-conversion.c: Likewise.
	* tree-tailcall.c: Likewise.
	* tree-vect-data-refs.c: Likewise.
	* tree-vect-loop.c: Likewise.
	* tree-vect-loop-manip.c: Likewise.
	* tree-vectorizer.c: Likewise.
	* tree-vrp.c: Likewise.
	* ubsan.c: Likewise.
	* value-prof.c: Likewise.
	* varasm.c: Likewise.
	* var-tracking.c: Likewise.
	* config/aarch64/aarch64-builtins.c: Likewise.
	* config/aarch64/aarch64.c: Likewise.
	* config/aarch64/cortex-a57-fma-steering.c: Likewise.
	* config/alpha/alpha.c: Likewise.
	* config/arc/arc.c: Likewise.
	* config/arm/arm.c: Likewise.
	* config/avr/avr.c: Likewise.
	* config/bfin/bfin.c: Likewise.
	* config/c6x/c6x.c: Likewise.
	* config/cr16/cr16.c: Likewise.
	* config/cris/cris.c: Likewise.
	* config/darwin.c: Likewise.
	* config/darwin-c.c: Likewise.
	* config/epiphany/epiphany.c: Likewise.
	* config/epiphany/mode-switch-use.c: Likewise.
	* config/epiphany/resolve-sw-modes.c: Likewise.
	* config/fr30/fr30.c: Likewise.
	* config/frv/frv.c: Likewise.
	* config/ft32/ft32.c: Likewise.
	* config/h8300/h8300.c: Likewise.
	* config/i386/i386.c: Likewise.
	* config/i386/winnt.c: Likewise.
	* config/ia64/ia64.c: Likewise.
	* config/iq2000/iq2000.c: Likewise.
	* config/lm32/lm32.c: Likewise.
	* config/m32c/m32c.c: Likewise.
	* config/m32r/m32r.c: Likewise.
	* config/m68k/m68k.c: Likewise.
	* config/mcore/mcore.c: Likewise.
	* config/mep/mep.c: Likewise.
	* config/microblaze/microblaze.c: Likewise.
	* config/mips/mips.c: Likewise.
	* config/mmix/mmix.c: Likewise.
	* config/mn10300/mn10300.c: Likewise.
	* config/moxie/moxie.c: Likewise.
	* config/msp430/msp430.c: Likewise.
	* config/nds32/nds32.c: Likewise.
	* config/nds32/nds32-cost.c: Likewise.
	* config/nds32/nds32-fp-as-gp.c: Likewise.
	* config/nds32/nds32-intrinsic.c: Likewise.
	* config/nds32/nds32-isr.c: Likewise.
	* config/nds32/nds32-md-auxiliary.c: Likewise.
	* config/nds32/nds32-memory-manipulation.c: Likewise.
	* config/nds32/nds32-pipelines-auxiliary.c: Likewise.
	* config/nds32/nds32-predicates.c: Likewise.
	* config/nios2/nios2.c: Likewise.
	* config/nvptx/nvptx.c: Likewise.
	* config/pa/pa.c: Likewise.
	* config/pdp11/pdp11.c: Likewise.
	* config/rl78/rl78.c: Likewise.
	* config/rs6000/rs6000.c: Likewise.
	* config/rx/rx.c: Likewise.
	* config/s390/s390.c: Likewise.
	* config/sh/sh.c: Likewise.
	* config/sh/sh-mem.cc: Likewise.
	* config/sh/sh_optimize_sett_clrt.cc: Likewise.
	* config/sh/sh_treg_combine.cc: Likewise.
	* config/sparc/sparc.c: Likewise.
	* config/spu/spu.c: Likewise.
	* config/stormy16/stormy16.c: Likewise.
	* config/tilegx/tilegx.c: Likewise.
	* config/tilepro/tilepro.c: Likewise.
	* config/v850/v850.c: Likewise.
	* config/vax/vax.c: Likewise.
	* config/visium/visium.c: Likewise.
	* config/xtensa/xtensa.c: Likewise.

java
2015-07-10  Andrew MacLeod  <amacleod@redhat.com>

	* java-gimplify.c: Include cfghooks.h rather than predict.h.

lto
2015-07-10  Andrew MacLeod  <amacleod@redhat.com>

	* lto.c: Include cfghooks.h rather than predict.h.

From-SVN: r225668
---
 gcc/ChangeLog                                | 233 +++++++++++++++++++
 gcc/asan.c                                   |   1 +
 gcc/auto-inc-dec.c                           |   1 +
 gcc/auto-profile.c                           |   1 +
 gcc/backend.h                                |   1 -
 gcc/basic-block.h                            |   2 -
 gcc/bb-reorder.c                             |   1 +
 gcc/builtins.c                               |   1 +
 gcc/caller-save.c                            |   1 +
 gcc/calls.c                                  |   1 +
 gcc/cfg.c                                    |   1 +
 gcc/cfganal.c                                |   1 +
 gcc/cfgbuild.c                               |   1 +
 gcc/cfgcleanup.c                             |   1 +
 gcc/cfgexpand.c                              |   1 +
 gcc/cfghooks.c                               |   1 +
 gcc/cfghooks.h                               |   2 +-
 gcc/cfgloop.c                                |   1 +
 gcc/cfgloopanal.c                            |   1 +
 gcc/cfgloopmanip.c                           |   1 +
 gcc/cfgrtl.c                                 |   1 +
 gcc/cgraph.c                                 |   1 +
 gcc/cgraphunit.c                             |   1 +
 gcc/combine.c                                |   1 +
 gcc/config/aarch64/aarch64-builtins.c        |   2 +-
 gcc/config/aarch64/aarch64.c                 |   1 +
 gcc/config/aarch64/cortex-a57-fma-steering.c |   1 +
 gcc/config/alpha/alpha.c                     |   1 +
 gcc/config/arc/arc.c                         |   1 +
 gcc/config/arm/arm.c                         |   1 +
 gcc/config/avr/avr.c                         |   1 +
 gcc/config/bfin/bfin.c                       |   1 +
 gcc/config/c6x/c6x.c                         |   1 +
 gcc/config/cr16/cr16.c                       |   1 +
 gcc/config/cris/cris.c                       |   1 +
 gcc/config/darwin-c.c                        |   2 +-
 gcc/config/darwin.c                          |   1 +
 gcc/config/epiphany/epiphany.c               |   1 +
 gcc/config/epiphany/mode-switch-use.c        |   1 +
 gcc/config/epiphany/resolve-sw-modes.c       |   1 +
 gcc/config/fr30/fr30.c                       |   1 +
 gcc/config/frv/frv.c                         |   1 +
 gcc/config/ft32/ft32.c                       |   1 +
 gcc/config/h8300/h8300.c                     |   1 +
 gcc/config/i386/i386.c                       |   1 +
 gcc/config/i386/winnt.c                      |   2 +-
 gcc/config/ia64/ia64.c                       |   1 +
 gcc/config/iq2000/iq2000.c                   |   1 +
 gcc/config/lm32/lm32.c                       |   1 +
 gcc/config/m32c/m32c.c                       |   1 +
 gcc/config/m32r/m32r.c                       |   1 +
 gcc/config/m68k/m68k.c                       |   1 +
 gcc/config/mcore/mcore.c                     |   1 +
 gcc/config/mep/mep.c                         |   1 +
 gcc/config/microblaze/microblaze.c           |   1 +
 gcc/config/mips/mips.c                       |   1 +
 gcc/config/mmix/mmix.c                       |   1 +
 gcc/config/mn10300/mn10300.c                 |   1 +
 gcc/config/moxie/moxie.c                     |   1 +
 gcc/config/msp430/msp430.c                   |   1 +
 gcc/config/nds32/nds32-cost.c                |   1 +
 gcc/config/nds32/nds32-fp-as-gp.c            |   1 +
 gcc/config/nds32/nds32-intrinsic.c           |   1 +
 gcc/config/nds32/nds32-isr.c                 |   1 +
 gcc/config/nds32/nds32-md-auxiliary.c        |   1 +
 gcc/config/nds32/nds32-memory-manipulation.c |   1 +
 gcc/config/nds32/nds32-pipelines-auxiliary.c |   1 +
 gcc/config/nds32/nds32-predicates.c          |   1 +
 gcc/config/nds32/nds32.c                     |   1 +
 gcc/config/nios2/nios2.c                     |   1 +
 gcc/config/nvptx/nvptx.c                     |   1 +
 gcc/config/pa/pa.c                           |   1 +
 gcc/config/pdp11/pdp11.c                     |   1 +
 gcc/config/rl78/rl78.c                       |   1 +
 gcc/config/rs6000/rs6000.c                   |   1 +
 gcc/config/rx/rx.c                           |   1 +
 gcc/config/s390/s390.c                       |   1 +
 gcc/config/sh/sh-mem.cc                      |   2 +-
 gcc/config/sh/sh.c                           |   1 +
 gcc/config/sh/sh_optimize_sett_clrt.cc       |   1 +
 gcc/config/sh/sh_treg_combine.cc             |   1 +
 gcc/config/sparc/sparc.c                     |   1 +
 gcc/config/spu/spu.c                         |   1 +
 gcc/config/stormy16/stormy16.c               |   1 +
 gcc/config/tilegx/tilegx.c                   |   1 +
 gcc/config/tilepro/tilepro.c                 |   1 +
 gcc/config/v850/v850.c                       |   1 +
 gcc/config/vax/vax.c                         |   1 +
 gcc/config/visium/visium.c                   |   1 +
 gcc/config/xtensa/xtensa.c                   |   1 +
 gcc/cprop.c                                  |   1 +
 gcc/cse.c                                    |   1 +
 gcc/dce.c                                    |   1 +
 gcc/dojump.c                                 |   1 +
 gcc/dse.c                                    |   1 +
 gcc/except.c                                 |   1 +
 gcc/expmed.c                                 |   1 +
 gcc/expr.c                                   |   1 +
 gcc/final.c                                  |   1 +
 gcc/fold-const.c                             |   1 +
 gcc/function.c                               |   1 +
 gcc/fwprop.c                                 |   1 +
 gcc/gcc-plugin.h                             |   1 +
 gcc/gcse.c                                   |   1 +
 gcc/genattrtab.c                             |   1 +
 gcc/genemit.c                                |   1 +
 gcc/gengtype.c                               |   2 +-
 gcc/genopinit.c                              |   1 +
 gcc/genoutput.c                              |   1 +
 gcc/genpreds.c                               |   1 +
 gcc/genrecog.c                               |   1 +
 gcc/gimple-fold.c                            |   1 +
 gcc/gimple-iterator.c                        |   1 +
 gcc/gimple-predict.h                         |  83 +++++++
 gcc/gimple-pretty-print.c                    |   1 +
 gcc/gimple-ssa-isolate-paths.c               |   1 +
 gcc/gimple-ssa-strength-reduction.c          |   1 +
 gcc/gimple.c                                 |  14 --
 gcc/gimple.h                                 |  45 ----
 gcc/gimplify.c                               |   1 +
 gcc/graph.c                                  |   1 +
 gcc/graphite-blocking.c                      |   1 +
 gcc/graphite-dependences.c                   |   1 +
 gcc/graphite-interchange.c                   |   1 +
 gcc/graphite-isl-ast-to-gimple.c             |   1 +
 gcc/graphite-optimize-isl.c                  |   1 +
 gcc/graphite-poly.c                          |   1 +
 gcc/graphite-scop-detection.c                |   1 +
 gcc/graphite-sese-to-poly.c                  |   1 +
 gcc/graphite.c                               |   1 +
 gcc/haifa-sched.c                            |   1 +
 gcc/ifcvt.c                                  |   1 +
 gcc/internal-fn.c                            |   1 +
 gcc/ipa-cp.c                                 |   1 +
 gcc/ipa-profile.c                            |   1 +
 gcc/ipa-split.c                              |   1 +
 gcc/ipa-utils.c                              |   1 +
 gcc/ira-build.c                              |   1 +
 gcc/ira-color.c                              |   1 +
 gcc/ira-conflicts.c                          |   1 +
 gcc/ira-costs.c                              |   1 +
 gcc/ira-emit.c                               |   1 +
 gcc/ira-lives.c                              |   1 +
 gcc/java/ChangeLog                           |   4 +
 gcc/java/java-gimplify.c                     |   2 +-
 gcc/jump.c                                   |   1 +
 gcc/loop-doloop.c                            |   1 +
 gcc/loop-init.c                              |   1 +
 gcc/loop-invariant.c                         |   1 +
 gcc/loop-unroll.c                            |   1 +
 gcc/lower-subreg.c                           |   1 +
 gcc/lra-assigns.c                            |   1 +
 gcc/lra-coalesce.c                           |   1 +
 gcc/lra-constraints.c                        |   1 +
 gcc/lra-lives.c                              |   1 +
 gcc/lra.c                                    |   1 +
 gcc/lto-cgraph.c                             |   1 +
 gcc/lto-streamer-in.c                        |   1 +
 gcc/lto/ChangeLog                            |   4 +
 gcc/lto/lto.c                                |   2 +-
 gcc/mode-switching.c                         |   1 +
 gcc/modulo-sched.c                           |   1 +
 gcc/omp-low.c                                |   1 +
 gcc/optabs.c                                 |   1 +
 gcc/passes.c                                 |   1 +
 gcc/postreload-gcse.c                        |   1 +
 gcc/postreload.c                             |   1 +
 gcc/predict.c                                |   2 +
 gcc/profile.c                                |   1 +
 gcc/recog.c                                  |   1 +
 gcc/regstat.c                                |   1 +
 gcc/reload1.c                                |   1 +
 gcc/reorg.c                                  |   1 +
 gcc/rtlanal.c                                |   1 +
 gcc/sched-ebb.c                              |   1 +
 gcc/sel-sched-ir.c                           |   1 +
 gcc/sese.c                                   |   1 +
 gcc/shrink-wrap.c                            |   1 +
 gcc/simplify-rtx.c                           |   1 +
 gcc/stmt.c                                   |   1 +
 gcc/store-motion.c                           |   1 +
 gcc/tracer.c                                 |   1 +
 gcc/trans-mem.c                              |   1 +
 gcc/tree-call-cdce.c                         |   1 +
 gcc/tree-cfg.c                               |   1 +
 gcc/tree-cfgcleanup.c                        |   1 +
 gcc/tree-chkp.c                              |   1 +
 gcc/tree-complex.c                           |   1 +
 gcc/tree-eh.c                                |   1 +
 gcc/tree-if-conv.c                           |   1 +
 gcc/tree-inline.c                            |   2 +
 gcc/tree-loop-distribution.c                 |   1 +
 gcc/tree-outof-ssa.c                         |   1 +
 gcc/tree-parloops.c                          |   1 +
 gcc/tree-predcom.c                           |   1 +
 gcc/tree-pretty-print.c                      |   1 +
 gcc/tree-profile.c                           |   1 +
 gcc/tree-sra.c                               |   1 +
 gcc/tree-ssa-coalesce.c                      |   1 +
 gcc/tree-ssa-dce.c                           |   1 +
 gcc/tree-ssa-dom.c                           |   1 +
 gcc/tree-ssa-forwprop.c                      |   1 +
 gcc/tree-ssa-ifcombine.c                     |   1 +
 gcc/tree-ssa-loop-ch.c                       |   1 +
 gcc/tree-ssa-loop-im.c                       |   1 +
 gcc/tree-ssa-loop-ivcanon.c                  |   1 +
 gcc/tree-ssa-loop-ivopts.c                   |   1 +
 gcc/tree-ssa-loop-manip.c                    |   1 +
 gcc/tree-ssa-loop-prefetch.c                 |   1 +
 gcc/tree-ssa-loop-unswitch.c                 |   1 +
 gcc/tree-ssa-math-opts.c                     |   1 +
 gcc/tree-ssa-phiopt.c                        |   1 +
 gcc/tree-ssa-pre.c                           |   1 +
 gcc/tree-ssa-reassoc.c                       |   1 +
 gcc/tree-ssa-sink.c                          |   1 +
 gcc/tree-ssa-tail-merge.c                    |   1 +
 gcc/tree-ssa-threadedge.c                    |   1 +
 gcc/tree-ssa-threadupdate.c                  |   1 +
 gcc/tree-ssa.c                               |   1 +
 gcc/tree-switch-conversion.c                 |   1 +
 gcc/tree-tailcall.c                          |   1 +
 gcc/tree-vect-data-refs.c                    |   1 +
 gcc/tree-vect-loop-manip.c                   |   1 +
 gcc/tree-vect-loop.c                         |   1 +
 gcc/tree-vectorizer.c                        |   1 +
 gcc/tree-vrp.c                               |   1 +
 gcc/ubsan.c                                  |   1 +
 gcc/value-prof.c                             |   1 +
 gcc/var-tracking.c                           |   1 +
 gcc/varasm.c                                 |   1 +
 230 files changed, 548 insertions(+), 70 deletions(-)
 create mode 100644 gcc/gimple-predict.h

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index dd9b1b692f22..56cbc5f5040b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,236 @@
+2015-07-10  Andrew MacLeod  <amacleod@redhat.com>
+
+	* gimple-predict.h: New file. 
+	(gimple_predict_predictor, gimple_predict_set_predictor,
+	gimple_predict_outcome, gimple_predict_set_outcome,
+	gimple_build_predict): Relocate here.
+	* gimple.h (gimple_predict_predictor, gimple_predict_set_predictor,
+	gimple_predict_outcome, gimple_predict_set_outcome): Move to 
+	gimple-predict.h.
+	* gimple.c (gimple_build_predict): Move to gimple-predict.h
+	* basic-block.h: Don't include cfghooks.h.
+	* backend.h: Don't include predict.h.
+	* cfghooks.h: Include predict.h.
+	* gimple-pretty-print.c: Include gimple-predict.h.
+	* gimplify.c: Likwise.
+	* predict.c: Adjust includes.
+	* tree-inline.c: Likewise.
+	* asan.c: Likewise.
+	* auto-inc-dec.c: Likewise.
+	* auto-profile.c: Likewise.
+	* bb-reorder.c: Likewise.
+	* builtins.c: Likewise.
+	* caller-save.c: Likewise.
+	* calls.c: Likewise.
+	* cfganal.c: Likewise.
+	* cfgbuild.c: Likewise.
+	* cfg.c: Likewise.
+	* cfgcleanup.c: Likewise.
+	* cfgexpand.c: Likewise.
+	* cfghooks.c: Likewise.
+	* cfgloopanal.c: Likewise.
+	* cfgloop.c: Likewise.
+	* cfgloopmanip.c: Likewise.
+	* cfgrtl.c: Likewise.
+	* cgraph.c: Likewise.
+	* cgraphunit.c: Likewise.
+	* combine.c: Likewise.
+	* cprop.c: Likewise.
+	* cse.c: Likewise.
+	* dce.c: Likewise.
+	* dojump.c: Likewise.
+	* dse.c: Likewise.
+	* except.c: Likewise.
+	* expmed.c: Likewise.
+	* expr.c: Likewise.
+	* final.c: Likewise.
+	* fold-const.c: Likewise.
+	* function.c: Likewise.
+	* fwprop.c: Likewise.
+	* gcc-plugin.h: Likewise.
+	* gcse.c: Likewise.
+	* genattrtab.c: Likewise.
+	* genemit.c: Likewise.
+	* gengtype.c: Likewise.
+	* genopinit.c: Likewise.
+	* genoutput.c: Likewise.
+	* genpreds.c: Likewise.
+	* genrecog.c: Likewise.
+	* gimple-fold.c: Likewise.
+	* gimple-iterator.c: Likewise.
+	* gimple-ssa-isolate-paths.c: Likewise.
+	* gimple-ssa-strength-reduction.c: Likewise.
+	* graph.c: Likewise.
+	* graphite-blocking.c: Likewise.
+	* graphite.c: Likewise.
+	* graphite-dependences.c: Likewise.
+	* graphite-interchange.c: Likewise.
+	* graphite-isl-ast-to-gimple.c: Likewise.
+	* graphite-optimize-isl.c: Likewise.
+	* graphite-poly.c: Likewise.
+	* graphite-scop-detection.c: Likewise.
+	* graphite-sese-to-poly.c: Likewise.
+	* haifa-sched.c: Likewise.
+	* ifcvt.c: Likewise.
+	* internal-fn.c: Likewise.
+	* ipa-cp.c: Likewise.
+	* ipa-profile.c: Likewise.
+	* ipa-split.c: Likewise.
+	* ipa-utils.c: Likewise.
+	* ira-build.c: Likewise.
+	* ira-color.c: Likewise.
+	* ira-conflicts.c: Likewise.
+	* ira-costs.c: Likewise.
+	* ira-emit.c: Likewise.
+	* ira-lives.c: Likewise.
+	* jump.c: Likewise.
+	* loop-doloop.c: Likewise.
+	* loop-init.c: Likewise.
+	* loop-invariant.c: Likewise.
+	* loop-unroll.c: Likewise.
+	* lower-subreg.c: Likewise.
+	* lra-assigns.c: Likewise.
+	* lra.c: Likewise.
+	* lra-coalesce.c: Likewise.
+	* lra-constraints.c: Likewise.
+	* lra-lives.c: Likewise.
+	* lto-cgraph.c: Likewise.
+	* lto-streamer-in.c: Likewise.
+	* mode-switching.c: Likewise.
+	* modulo-sched.c: Likewise.
+	* omp-low.c: Likewise.
+	* optabs.c: Likewise.
+	* passes.c: Likewise.
+	* postreload.c: Likewise.
+	* postreload-gcse.c: Likewise.
+	* profile.c: Likewise.
+	* recog.c: Likewise.
+	* regstat.c: Likewise.
+	* reload1.c: Likewise.
+	* reorg.c: Likewise.
+	* rtlanal.c: Likewise.
+	* sched-ebb.c: Likewise.
+	* sel-sched-ir.c: Likewise.
+	* sese.c: Likewise.
+	* shrink-wrap.c: Likewise.
+	* simplify-rtx.c: Likewise.
+	* stmt.c: Likewise.
+	* store-motion.c: Likewise.
+	* tracer.c: Likewise.
+	* trans-mem.c: Likewise.
+	* tree-call-cdce.c: Likewise.
+	* tree-cfg.c: Likewise.
+	* tree-cfgcleanup.c: Likewise.
+	* tree-chkp.c: Likewise.
+	* tree-complex.c: Likewise.
+	* tree-eh.c: Likewise.
+	* tree-if-conv.c: Likewise.
+	* tree-loop-distribution.c: Likewise.
+	* tree-outof-ssa.c: Likewise.
+	* tree-parloops.c: Likewise.
+	* tree-predcom.c: Likewise.
+	* tree-pretty-print.c: Likewise.
+	* tree-profile.c: Likewise.
+	* tree-sra.c: Likewise.
+	* tree-ssa.c: Likewise.
+	* tree-ssa-coalesce.c: Likewise.
+	* tree-ssa-dce.c: Likewise.
+	* tree-ssa-dom.c: Likewise.
+	* tree-ssa-forwprop.c: Likewise.
+	* tree-ssa-ifcombine.c: Likewise.
+	* tree-ssa-loop-ch.c: Likewise.
+	* tree-ssa-loop-im.c: Likewise.
+	* tree-ssa-loop-ivcanon.c: Likewise.
+	* tree-ssa-loop-ivopts.c: Likewise.
+	* tree-ssa-loop-manip.c: Likewise.
+	* tree-ssa-loop-prefetch.c: Likewise.
+	* tree-ssa-loop-unswitch.c: Likewise.
+	* tree-ssa-math-opts.c: Likewise.
+	* tree-ssa-phiopt.c: Likewise.
+	* tree-ssa-pre.c: Likewise.
+	* tree-ssa-reassoc.c: Likewise.
+	* tree-ssa-sink.c: Likewise.
+	* tree-ssa-tail-merge.c: Likewise.
+	* tree-ssa-threadedge.c: Likewise.
+	* tree-ssa-threadupdate.c: Likewise.
+	* tree-switch-conversion.c: Likewise.
+	* tree-tailcall.c: Likewise.
+	* tree-vect-data-refs.c: Likewise.
+	* tree-vect-loop.c: Likewise.
+	* tree-vect-loop-manip.c: Likewise.
+	* tree-vectorizer.c: Likewise.
+	* tree-vrp.c: Likewise.
+	* ubsan.c: Likewise.
+	* value-prof.c: Likewise.
+	* varasm.c: Likewise.
+	* var-tracking.c: Likewise.
+	* config/aarch64/aarch64-builtins.c: Likewise.
+	* config/aarch64/aarch64.c: Likewise.
+	* config/aarch64/cortex-a57-fma-steering.c: Likewise.
+	* config/alpha/alpha.c: Likewise.
+	* config/arc/arc.c: Likewise.
+	* config/arm/arm.c: Likewise.
+	* config/avr/avr.c: Likewise.
+	* config/bfin/bfin.c: Likewise.
+	* config/c6x/c6x.c: Likewise.
+	* config/cr16/cr16.c: Likewise.
+	* config/cris/cris.c: Likewise.
+	* config/darwin.c: Likewise.
+	* config/darwin-c.c: Likewise.
+	* config/epiphany/epiphany.c: Likewise.
+	* config/epiphany/mode-switch-use.c: Likewise.
+	* config/epiphany/resolve-sw-modes.c: Likewise.
+	* config/fr30/fr30.c: Likewise.
+	* config/frv/frv.c: Likewise.
+	* config/ft32/ft32.c: Likewise.
+	* config/h8300/h8300.c: Likewise.
+	* config/i386/i386.c: Likewise.
+	* config/i386/winnt.c: Likewise.
+	* config/ia64/ia64.c: Likewise.
+	* config/iq2000/iq2000.c: Likewise.
+	* config/lm32/lm32.c: Likewise.
+	* config/m32c/m32c.c: Likewise.
+	* config/m32r/m32r.c: Likewise.
+	* config/m68k/m68k.c: Likewise.
+	* config/mcore/mcore.c: Likewise.
+	* config/mep/mep.c: Likewise.
+	* config/microblaze/microblaze.c: Likewise.
+	* config/mips/mips.c: Likewise.
+	* config/mmix/mmix.c: Likewise.
+	* config/mn10300/mn10300.c: Likewise.
+	* config/moxie/moxie.c: Likewise.
+	* config/msp430/msp430.c: Likewise.
+	* config/nds32/nds32.c: Likewise.
+	* config/nds32/nds32-cost.c: Likewise.
+	* config/nds32/nds32-fp-as-gp.c: Likewise.
+	* config/nds32/nds32-intrinsic.c: Likewise.
+	* config/nds32/nds32-isr.c: Likewise.
+	* config/nds32/nds32-md-auxiliary.c: Likewise.
+	* config/nds32/nds32-memory-manipulation.c: Likewise.
+	* config/nds32/nds32-pipelines-auxiliary.c: Likewise.
+	* config/nds32/nds32-predicates.c: Likewise.
+	* config/nios2/nios2.c: Likewise.
+	* config/nvptx/nvptx.c: Likewise.
+	* config/pa/pa.c: Likewise.
+	* config/pdp11/pdp11.c: Likewise.
+	* config/rl78/rl78.c: Likewise.
+	* config/rs6000/rs6000.c: Likewise.
+	* config/rx/rx.c: Likewise.
+	* config/s390/s390.c: Likewise.
+	* config/sh/sh.c: Likewise.
+	* config/sh/sh-mem.cc: Likewise.
+	* config/sh/sh_optimize_sett_clrt.cc: Likewise.
+	* config/sh/sh_treg_combine.cc: Likewise.
+	* config/sparc/sparc.c: Likewise.
+	* config/spu/spu.c: Likewise.
+	* config/stormy16/stormy16.c: Likewise.
+	* config/tilegx/tilegx.c: Likewise.
+	* config/tilepro/tilepro.c: Likewise.
+	* config/v850/v850.c: Likewise.
+	* config/vax/vax.c: Likewise.
+	* config/visium/visium.c: Likewise.
+	* config/xtensa/xtensa.c: Likewise.
+
 2015-07-10  Richard Biener  <rguenther@suse.de>
 
 	* genmatch.c (dt_node::gen_kids_1): Fix indenting of
diff --git a/gcc/asan.c b/gcc/asan.c
index 1caeb32497d9..f375b72d1d5e 100644
--- a/gcc/asan.c
+++ b/gcc/asan.c
@@ -24,6 +24,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "alias.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/auto-inc-dec.c b/gcc/auto-inc-dec.c
index f0c9ca3f9829..3b9a1f360fb2 100644
--- a/gcc/auto-inc-dec.c
+++ b/gcc/auto-inc-dec.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/auto-profile.c b/gcc/auto-profile.c
index 33f5632f9ea2..fa0cd07f573f 100644
--- a/gcc/auto-profile.c
+++ b/gcc/auto-profile.c
@@ -28,6 +28,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "alias.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "gimple.h"
 #include "hard-reg-set.h"
diff --git a/gcc/backend.h b/gcc/backend.h
index 4066376c3a2b..a48966054c61 100644
--- a/gcc/backend.h
+++ b/gcc/backend.h
@@ -29,7 +29,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "function.h"
 #include "bitmap.h"
 #include "sbitmap.h"
-#include "predict.h"
 #include "basic-block.h"
 #include "cfg.h"
 
diff --git a/gcc/basic-block.h b/gcc/basic-block.h
index f28fa578f5a3..67555b2392c6 100644
--- a/gcc/basic-block.h
+++ b/gcc/basic-block.h
@@ -519,8 +519,6 @@ ei_cond (edge_iterator ei, edge *p)
 #define CLEANUP_CFGLAYOUT	32	/* Do cleanup in cfglayout mode.  */
 #define CLEANUP_CFG_CHANGED	64      /* The caller changed the CFG.  */
 
-#include "cfghooks.h"
-
 /* Return true if BB is in a transaction.  */
 
 static inline bool
diff --git a/gcc/bb-reorder.c b/gcc/bb-reorder.c
index cb421438f315..2af1d5441b4e 100644
--- a/gcc/bb-reorder.c
+++ b/gcc/bb-reorder.c
@@ -82,6 +82,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/builtins.c b/gcc/builtins.c
index 4bdf2782a5c1..e24c12a98504 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/caller-save.c b/gcc/caller-save.c
index 1526e03c15da..0bc0681f3a19 100644
--- a/gcc/caller-save.c
+++ b/gcc/caller-save.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/calls.c b/gcc/calls.c
index a79825a44e8a..f7184e2c88cf 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/cfg.c b/gcc/cfg.c
index 8c2723ee0bec..cbc351bb583e 100644
--- a/gcc/cfg.c
+++ b/gcc/cfg.c
@@ -53,6 +53,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "alloc-pool.h"
 #include "alias.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "hard-reg-set.h"
 #include "df.h"
diff --git a/gcc/cfganal.c b/gcc/cfganal.c
index 22cfd280c610..7676bd8d6cca 100644
--- a/gcc/cfganal.c
+++ b/gcc/cfganal.c
@@ -23,6 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "hard-reg-set.h"
 #include "cfganal.h"
 #include "timevar.h"
diff --git a/gcc/cfgbuild.c b/gcc/cfgbuild.c
index 236b84dc4459..797a60e45af0 100644
--- a/gcc/cfgbuild.c
+++ b/gcc/cfgbuild.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "alias.h"
 #include "tree.h"
 #include "rtl.h"
diff --git a/gcc/cfgcleanup.c b/gcc/cfgcleanup.c
index 0183ca888fcb..7e576bce39b9 100644
--- a/gcc/cfgcleanup.c
+++ b/gcc/cfgcleanup.c
@@ -33,6 +33,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c
index 777816aa6186..a047632ef75b 100644
--- a/gcc/cfgexpand.c
+++ b/gcc/cfgexpand.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/cfghooks.c b/gcc/cfghooks.c
index 285ec3d291fe..2cfdcfca5763 100644
--- a/gcc/cfghooks.c
+++ b/gcc/cfghooks.c
@@ -23,6 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "dumpfile.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "alias.h"
 #include "tree.h"
 #include "rtl.h"
diff --git a/gcc/cfghooks.h b/gcc/cfghooks.h
index a8fbe5d8d303..a33ee63b58f0 100644
--- a/gcc/cfghooks.h
+++ b/gcc/cfghooks.h
@@ -21,7 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_CFGHOOKS_H
 #define GCC_CFGHOOKS_H
 
-/* Only basic-block.h includes this.  */
+#include "predict.h"
 
 /* Structure to gather statistic about profile consistency, per pass.
    An array of this structure, indexed by pass static number, is allocated
diff --git a/gcc/cfgloop.c b/gcc/cfgloop.c
index 6d42206edca2..b8a1244aaa65 100644
--- a/gcc/cfgloop.c
+++ b/gcc/cfgloop.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/cfgloopanal.c b/gcc/cfgloopanal.c
index 575ae7a4905c..952a323bd4e2 100644
--- a/gcc/cfgloopanal.c
+++ b/gcc/cfgloopanal.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "rtl.h"
 #include "obstack.h"
 #include "cfgloop.h"
diff --git a/gcc/cfgloopmanip.c b/gcc/cfgloopmanip.c
index b665f1a77760..7d142aef2b6c 100644
--- a/gcc/cfgloopmanip.c
+++ b/gcc/cfgloopmanip.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c
index cebec20382ed..c1dc7d35263c 100644
--- a/gcc/cfgrtl.c
+++ b/gcc/cfgrtl.c
@@ -41,6 +41,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/cgraph.c b/gcc/cgraph.c
index d13bcd3a645b..58e14baae0ff 100644
--- a/gcc/cgraph.c
+++ b/gcc/cgraph.c
@@ -27,6 +27,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c
index 0082191f86e3..a95ce9ee1fc1 100644
--- a/gcc/cgraphunit.c
+++ b/gcc/cgraphunit.c
@@ -161,6 +161,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/combine.c b/gcc/combine.c
index e4e1d3ab6565..1ed49e36be8a 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -79,6 +79,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/aarch64/aarch64-builtins.c b/gcc/config/aarch64/aarch64-builtins.c
index b6c89b91a8f8..294bf9d906b5 100644
--- a/gcc/config/aarch64/aarch64-builtins.c
+++ b/gcc/config/aarch64/aarch64-builtins.c
@@ -23,7 +23,7 @@
 #include "coretypes.h"
 #include "tm.h"
 #include "function.h"
-#include "predict.h"
+#include "cfghooks.h"
 #include "basic-block.h"
 #include "cfg.h"
 #include "tree.h"
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index 6c13a07862b7..f382591dcd96 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -22,6 +22,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/config/aarch64/cortex-a57-fma-steering.c b/gcc/config/aarch64/cortex-a57-fma-steering.c
index 093c0e389cba..3744a9ea2a40 100644
--- a/gcc/config/aarch64/cortex-a57-fma-steering.c
+++ b/gcc/config/aarch64/cortex-a57-fma-steering.c
@@ -22,6 +22,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "rtl.h"
 #include "df.h"
 #include "regs.h"
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c
index dbd4a82aee7f..9919dd9cdea7 100644
--- a/gcc/config/alpha/alpha.c
+++ b/gcc/config/alpha/alpha.c
@@ -23,6 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c
index ca2ac4d48c96..b5b644c5eb19 100644
--- a/gcc/config/arc/arc.c
+++ b/gcc/config/arc/arc.c
@@ -32,6 +32,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 16bda3b2ed8a..4d60a32ed75f 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -24,6 +24,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c
index a4564612586f..2434f58c947b 100644
--- a/gcc/config/avr/avr.c
+++ b/gcc/config/avr/avr.c
@@ -22,6 +22,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/bfin/bfin.c b/gcc/config/bfin/bfin.c
index ea3e6679cb30..a1310538ad0c 100644
--- a/gcc/config/bfin/bfin.c
+++ b/gcc/config/bfin/bfin.c
@@ -22,6 +22,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/c6x/c6x.c b/gcc/config/c6x/c6x.c
index 936161c3d166..1337c954d221 100644
--- a/gcc/config/c6x/c6x.c
+++ b/gcc/config/c6x/c6x.c
@@ -23,6 +23,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/cr16/cr16.c b/gcc/config/cr16/cr16.c
index 47d8c77cc340..8185b59b2822 100644
--- a/gcc/config/cr16/cr16.c
+++ b/gcc/config/cr16/cr16.c
@@ -22,6 +22,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/cris/cris.c b/gcc/config/cris/cris.c
index b7fa1e627ca1..70f34424e185 100644
--- a/gcc/config/cris/cris.c
+++ b/gcc/config/cris/cris.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/darwin-c.c b/gcc/config/darwin-c.c
index 19f4404a6018..144d8af29382 100644
--- a/gcc/config/darwin-c.c
+++ b/gcc/config/darwin-c.c
@@ -37,7 +37,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "prefix.h"
 #include "c-family/c-target.h"
 #include "c-family/c-target-def.h"
-#include "predict.h"
+#include "cfghooks.h"
 #include "cfg.h"
 #include "cfgrtl.h"
 #include "cfganal.h"
diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c
index 3e1ae5216cb8..0c5004396fea 100644
--- a/gcc/config/darwin.c
+++ b/gcc/config/darwin.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/config/epiphany/epiphany.c b/gcc/config/epiphany/epiphany.c
index 692fc7476faf..f5aca81a8e98 100644
--- a/gcc/config/epiphany/epiphany.c
+++ b/gcc/config/epiphany/epiphany.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/epiphany/mode-switch-use.c b/gcc/config/epiphany/mode-switch-use.c
index f0657450aaa1..e6d3dce29874 100644
--- a/gcc/config/epiphany/mode-switch-use.c
+++ b/gcc/config/epiphany/mode-switch-use.c
@@ -23,6 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "rtl.h"
 #include "df.h"
 #include "emit-rtl.h"
diff --git a/gcc/config/epiphany/resolve-sw-modes.c b/gcc/config/epiphany/resolve-sw-modes.c
index 34ed2f599f56..de3204e52238 100644
--- a/gcc/config/epiphany/resolve-sw-modes.c
+++ b/gcc/config/epiphany/resolve-sw-modes.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "rtl.h"
 #include "df.h"
 #include "tm_p.h"
diff --git a/gcc/config/fr30/fr30.c b/gcc/config/fr30/fr30.c
index e96c62131a11..a347e9912e6f 100644
--- a/gcc/config/fr30/fr30.c
+++ b/gcc/config/fr30/fr30.c
@@ -24,6 +24,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/frv/frv.c b/gcc/config/frv/frv.c
index 9be5d3f619c8..831f78a57c85 100644
--- a/gcc/config/frv/frv.c
+++ b/gcc/config/frv/frv.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/ft32/ft32.c b/gcc/config/ft32/ft32.c
index 8a8dff7392c4..3b04ea4cda1d 100644
--- a/gcc/config/ft32/ft32.c
+++ b/gcc/config/ft32/ft32.c
@@ -22,6 +22,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/h8300/h8300.c b/gcc/config/h8300/h8300.c
index 0abb92c26818..63a7adbe5839 100644
--- a/gcc/config/h8300/h8300.c
+++ b/gcc/config/h8300/h8300.c
@@ -23,6 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 007e0e13955c..785990a74225 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/config/i386/winnt.c b/gcc/config/i386/winnt.c
index a2ee1abe20f8..362ef492a2bb 100644
--- a/gcc/config/i386/winnt.c
+++ b/gcc/config/i386/winnt.c
@@ -23,7 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "tm.h"
 #include "function.h"
-#include "predict.h"
+#include "cfghooks.h"
 #include "basic-block.h"
 #include "cfg.h"
 #include "tree.h"
diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c
index fef6839e0d29..779fc58789fd 100644
--- a/gcc/config/ia64/ia64.c
+++ b/gcc/config/ia64/ia64.c
@@ -23,6 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/config/iq2000/iq2000.c b/gcc/config/iq2000/iq2000.c
index 79087becd6b0..7e1fef62f92d 100644
--- a/gcc/config/iq2000/iq2000.c
+++ b/gcc/config/iq2000/iq2000.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/lm32/lm32.c b/gcc/config/lm32/lm32.c
index 2402583f4857..32cc58623712 100644
--- a/gcc/config/lm32/lm32.c
+++ b/gcc/config/lm32/lm32.c
@@ -23,6 +23,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/m32c/m32c.c b/gcc/config/m32c/m32c.c
index 40da261e4489..b6493a4d33df 100644
--- a/gcc/config/m32c/m32c.c
+++ b/gcc/config/m32c/m32c.c
@@ -22,6 +22,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/config/m32r/m32r.c b/gcc/config/m32r/m32r.c
index 72cdfd8a5d57..d126d2f70355 100644
--- a/gcc/config/m32r/m32r.c
+++ b/gcc/config/m32r/m32r.c
@@ -21,6 +21,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c
index 4bd20a5ff363..c26f37bb2ee6 100644
--- a/gcc/config/m68k/m68k.c
+++ b/gcc/config/m68k/m68k.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/mcore/mcore.c b/gcc/config/mcore/mcore.c
index 1ba27d09714a..d572d6a30f8c 100644
--- a/gcc/config/mcore/mcore.c
+++ b/gcc/config/mcore/mcore.c
@@ -21,6 +21,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/mep/mep.c b/gcc/config/mep/mep.c
index 2d343b302633..750de5a493ac 100644
--- a/gcc/config/mep/mep.c
+++ b/gcc/config/mep/mep.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
index da9005ee021e..40a659a8d7b0 100644
--- a/gcc/config/microblaze/microblaze.c
+++ b/gcc/config/microblaze/microblaze.c
@@ -23,6 +23,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index 31756d702a97..8fd7f2d05123 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -25,6 +25,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/config/mmix/mmix.c b/gcc/config/mmix/mmix.c
index 57f0659d462c..16e734c9ece0 100644
--- a/gcc/config/mmix/mmix.c
+++ b/gcc/config/mmix/mmix.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/mn10300/mn10300.c b/gcc/config/mn10300/mn10300.c
index 7abc61dabf1a..8c5986acf0fd 100644
--- a/gcc/config/mn10300/mn10300.c
+++ b/gcc/config/mn10300/mn10300.c
@@ -22,6 +22,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/moxie/moxie.c b/gcc/config/moxie/moxie.c
index af05d823bc5a..1216153e5dbf 100644
--- a/gcc/config/moxie/moxie.c
+++ b/gcc/config/moxie/moxie.c
@@ -22,6 +22,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/msp430/msp430.c b/gcc/config/msp430/msp430.c
index 9d0e4a0e1287..d2308cb064d1 100644
--- a/gcc/config/msp430/msp430.c
+++ b/gcc/config/msp430/msp430.c
@@ -22,6 +22,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/nds32/nds32-cost.c b/gcc/config/nds32/nds32-cost.c
index d25c41ab0c77..1546d5142895 100644
--- a/gcc/config/nds32/nds32-cost.c
+++ b/gcc/config/nds32/nds32-cost.c
@@ -24,6 +24,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/nds32/nds32-fp-as-gp.c b/gcc/config/nds32/nds32-fp-as-gp.c
index 85110829f83e..fe0fe6651b77 100644
--- a/gcc/config/nds32/nds32-fp-as-gp.c
+++ b/gcc/config/nds32/nds32-fp-as-gp.c
@@ -24,6 +24,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/nds32/nds32-intrinsic.c b/gcc/config/nds32/nds32-intrinsic.c
index 4bfcc8207b0b..b94e71d1ff19 100644
--- a/gcc/config/nds32/nds32-intrinsic.c
+++ b/gcc/config/nds32/nds32-intrinsic.c
@@ -24,6 +24,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/nds32/nds32-isr.c b/gcc/config/nds32/nds32-isr.c
index a61aa32b901a..b36664e9ca3e 100644
--- a/gcc/config/nds32/nds32-isr.c
+++ b/gcc/config/nds32/nds32-isr.c
@@ -24,6 +24,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/nds32/nds32-md-auxiliary.c b/gcc/config/nds32/nds32-md-auxiliary.c
index c01ce822f50d..50f28226a083 100644
--- a/gcc/config/nds32/nds32-md-auxiliary.c
+++ b/gcc/config/nds32/nds32-md-auxiliary.c
@@ -25,6 +25,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/nds32/nds32-memory-manipulation.c b/gcc/config/nds32/nds32-memory-manipulation.c
index c857ab784c53..caa45f8e2fb5 100644
--- a/gcc/config/nds32/nds32-memory-manipulation.c
+++ b/gcc/config/nds32/nds32-memory-manipulation.c
@@ -25,6 +25,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/nds32/nds32-pipelines-auxiliary.c b/gcc/config/nds32/nds32-pipelines-auxiliary.c
index ec6111c50c2b..df819a2560eb 100644
--- a/gcc/config/nds32/nds32-pipelines-auxiliary.c
+++ b/gcc/config/nds32/nds32-pipelines-auxiliary.c
@@ -25,6 +25,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/nds32/nds32-predicates.c b/gcc/config/nds32/nds32-predicates.c
index e0009e0db6e8..b9681f535eb2 100644
--- a/gcc/config/nds32/nds32-predicates.c
+++ b/gcc/config/nds32/nds32-predicates.c
@@ -24,6 +24,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/nds32/nds32.c b/gcc/config/nds32/nds32.c
index 56ba24a20d51..8417aac538b1 100644
--- a/gcc/config/nds32/nds32.c
+++ b/gcc/config/nds32/nds32.c
@@ -24,6 +24,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/nios2/nios2.c b/gcc/config/nios2/nios2.c
index 4b614db98910..77dac5795c6d 100644
--- a/gcc/config/nios2/nios2.c
+++ b/gcc/config/nios2/nios2.c
@@ -24,6 +24,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/nvptx/nvptx.c b/gcc/config/nvptx/nvptx.c
index f44909b0d2c3..d4bbf32f98fd 100644
--- a/gcc/config/nvptx/nvptx.c
+++ b/gcc/config/nvptx/nvptx.c
@@ -24,6 +24,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c
index 03ac6f220a2e..7cf540c77852 100644
--- a/gcc/config/pa/pa.c
+++ b/gcc/config/pa/pa.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/pdp11/pdp11.c b/gcc/config/pdp11/pdp11.c
index cba2b35d03ac..f0c2a5d8c9c6 100644
--- a/gcc/config/pdp11/pdp11.c
+++ b/gcc/config/pdp11/pdp11.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/rl78/rl78.c b/gcc/config/rl78/rl78.c
index eb07ca3b6d92..2bbfb2ead388 100644
--- a/gcc/config/rl78/rl78.c
+++ b/gcc/config/rl78/rl78.c
@@ -22,6 +22,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index cac1de5abb98..912393f0c701 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -22,6 +22,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/config/rx/rx.c b/gcc/config/rx/rx.c
index 7bda176da885..348470e8d8fb 100644
--- a/gcc/config/rx/rx.c
+++ b/gcc/config/rx/rx.c
@@ -26,6 +26,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c
index 3982afeaa87f..861dfb2bb35a 100644
--- a/gcc/config/s390/s390.c
+++ b/gcc/config/s390/s390.c
@@ -24,6 +24,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/config/sh/sh-mem.cc b/gcc/config/sh/sh-mem.cc
index b0a8cfc1f97a..5a0fb9780d0a 100644
--- a/gcc/config/sh/sh-mem.cc
+++ b/gcc/config/sh/sh-mem.cc
@@ -36,7 +36,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "stmt.h"
 #include "expr.h"
 #include "tm_p.h"
-#include "predict.h"
+#include "cfghooks.h"
 #include "cfg.h"
 #include "cfgrtl.h"
 #include "cfganal.h"
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index 71f3a5d7414f..8b287eb30db8 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -26,6 +26,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/config/sh/sh_optimize_sett_clrt.cc b/gcc/config/sh/sh_optimize_sett_clrt.cc
index 4c974d9dad71..89c0ca250b91 100644
--- a/gcc/config/sh/sh_optimize_sett_clrt.cc
+++ b/gcc/config/sh/sh_optimize_sett_clrt.cc
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "rtl.h"
 #include "df.h"
 #include "cfgrtl.h"
diff --git a/gcc/config/sh/sh_treg_combine.cc b/gcc/config/sh/sh_treg_combine.cc
index 4d12175a4a5f..c4add22fd62e 100644
--- a/gcc/config/sh/sh_treg_combine.cc
+++ b/gcc/config/sh/sh_treg_combine.cc
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c
index 0ea5102d9bff..ed8a1665e6a2 100644
--- a/gcc/config/sparc/sparc.c
+++ b/gcc/config/sparc/sparc.c
@@ -24,6 +24,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/config/spu/spu.c b/gcc/config/spu/spu.c
index 2470728e6f8c..9737ee2312bb 100644
--- a/gcc/config/spu/spu.c
+++ b/gcc/config/spu/spu.c
@@ -18,6 +18,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/config/stormy16/stormy16.c b/gcc/config/stormy16/stormy16.c
index 9d243f6f2094..3c9f0087f01c 100644
--- a/gcc/config/stormy16/stormy16.c
+++ b/gcc/config/stormy16/stormy16.c
@@ -22,6 +22,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/config/tilegx/tilegx.c b/gcc/config/tilegx/tilegx.c
index 8ceb41e4f506..1c8e7d90fae2 100644
--- a/gcc/config/tilegx/tilegx.c
+++ b/gcc/config/tilegx/tilegx.c
@@ -22,6 +22,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/config/tilepro/tilepro.c b/gcc/config/tilepro/tilepro.c
index e68d075717a1..70e0956dcc5a 100644
--- a/gcc/config/tilepro/tilepro.c
+++ b/gcc/config/tilepro/tilepro.c
@@ -22,6 +22,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/config/v850/v850.c b/gcc/config/v850/v850.c
index 77e0a5f85870..95c20ccc8046 100644
--- a/gcc/config/v850/v850.c
+++ b/gcc/config/v850/v850.c
@@ -22,6 +22,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/vax/vax.c b/gcc/config/vax/vax.c
index 72dfa62a54be..7e0a2c276290 100644
--- a/gcc/config/vax/vax.c
+++ b/gcc/config/vax/vax.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/visium/visium.c b/gcc/config/visium/visium.c
index da48d10e0566..41b79645b710 100644
--- a/gcc/config/visium/visium.c
+++ b/gcc/config/visium/visium.c
@@ -22,6 +22,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c
index efcc2fbbba5a..22ed13b900a3 100644
--- a/gcc/config/xtensa/xtensa.c
+++ b/gcc/config/xtensa/xtensa.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/cprop.c b/gcc/cprop.c
index cf3f99ae69a4..f55a0b4f5785 100644
--- a/gcc/cprop.c
+++ b/gcc/cprop.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/cse.c b/gcc/cse.c
index af06543cf06c..255c4dbea4cc 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/dce.c b/gcc/dce.c
index 347c490fdca7..c9cffc970554 100644
--- a/gcc/dce.c
+++ b/gcc/dce.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/dojump.c b/gcc/dojump.c
index 1f1ec5366ff0..6adc1a653cc3 100644
--- a/gcc/dojump.c
+++ b/gcc/dojump.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "rtl.h"
 #include "alias.h"
 #include "tree.h"
diff --git a/gcc/dse.c b/gcc/dse.c
index 89ba0c961a37..7a6bca2f8a9e 100644
--- a/gcc/dse.c
+++ b/gcc/dse.c
@@ -26,6 +26,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/except.c b/gcc/except.c
index d94cdabf25df..8d82c674726a 100644
--- a/gcc/except.c
+++ b/gcc/except.c
@@ -113,6 +113,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "rtl.h"
 #include "alias.h"
 #include "tree.h"
diff --git a/gcc/expmed.c b/gcc/expmed.c
index b865382e0c3e..557da33118fc 100644
--- a/gcc/expmed.c
+++ b/gcc/expmed.c
@@ -23,6 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/expr.c b/gcc/expr.c
index 6f6ee9d49788..899a42c7e7b1 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/final.c b/gcc/final.c
index cb83964d05e5..3e692d8a5f4e 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -46,6 +46,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index 61eee4ae8309..f78ec4e68dfa 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -44,6 +44,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/function.c b/gcc/function.c
index b87aef679893..f9d11bf4506e 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -35,6 +35,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/fwprop.c b/gcc/fwprop.c
index 263b40682887..9316b34d745a 100644
--- a/gcc/fwprop.c
+++ b/gcc/fwprop.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "rtl.h"
 #include "df.h"
 #include "diagnostic-core.h"
diff --git a/gcc/gcc-plugin.h b/gcc/gcc-plugin.h
index f04ef70dd26e..7cdbf85d0312 100644
--- a/gcc/gcc-plugin.h
+++ b/gcc/gcc-plugin.h
@@ -28,6 +28,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "hard-reg-set.h"
 #include "cfgrtl.h"
 #include "cfganal.h"
diff --git a/gcc/gcse.c b/gcc/gcse.c
index 2f3d7f70d25c..8573b7df91da 100644
--- a/gcc/gcse.c
+++ b/gcc/gcse.c
@@ -136,6 +136,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/genattrtab.c b/gcc/genattrtab.c
index 253a6beff6d6..31791be6b93c 100644
--- a/gcc/genattrtab.c
+++ b/gcc/genattrtab.c
@@ -5104,6 +5104,7 @@ write_header (FILE *outf)
   fprintf (outf, "#include \"system.h\"\n");
   fprintf (outf, "#include \"coretypes.h\"\n");
   fprintf (outf, "#include \"backend.h\"\n");
+  fprintf (outf, "#include \"predict.h\"\n");
   fprintf (outf, "#include \"tree.h\"\n");
   fprintf (outf, "#include \"rtl.h\"\n");
   fprintf (outf, "#include \"alias.h\"\n");
diff --git a/gcc/genemit.c b/gcc/genemit.c
index 7409a88b6b6a..288b8bddd3c7 100644
--- a/gcc/genemit.c
+++ b/gcc/genemit.c
@@ -745,6 +745,7 @@ from the machine description file `md'.  */\n\n");
   printf ("#include \"system.h\"\n");
   printf ("#include \"coretypes.h\"\n");
   printf ("#include \"backend.h\"\n");
+  printf ("#include \"predict.h\"\n");
   printf ("#include \"tree.h\"\n");
   printf ("#include \"rtl.h\"\n");
   printf ("#include \"alias.h\"\n");
diff --git a/gcc/gengtype.c b/gcc/gengtype.c
index e49b7c841774..866d809889d6 100644
--- a/gcc/gengtype.c
+++ b/gcc/gengtype.c
@@ -1710,7 +1710,7 @@ open_base_files (void)
   {
     /* The order of files here matters very much.  */
     static const char *const ifiles[] = {
-      "config.h", "system.h", "coretypes.h", "backend.h", "tree.h",
+      "config.h", "system.h", "coretypes.h", "backend.h", "predict.h", "tree.h",
       "rtl.h", "gimple.h", "fold-const.h", "insn-codes.h", "splay-tree.h",
       "alias.h", "insn-config.h", "flags.h", "expmed.h", "dojump.h",
       "explow.h", "calls.h", "emit-rtl.h", "varasm.h", "stmt.h",
diff --git a/gcc/genopinit.c b/gcc/genopinit.c
index 525317708fe1..97acd4940be8 100644
--- a/gcc/genopinit.c
+++ b/gcc/genopinit.c
@@ -465,6 +465,7 @@ main (int argc, char **argv)
 	   "#include \"system.h\"\n"
 	   "#include \"coretypes.h\"\n"
 	   "#include \"backend.h\"\n"
+	   "#include \"predict.h\"\n"
 	   "#include \"tree.h\"\n"
 	   "#include \"rtl.h\"\n"
 	   "#include \"alias.h\"\n"
diff --git a/gcc/genoutput.c b/gcc/genoutput.c
index cb78448d0b07..308f3b5e0b66 100644
--- a/gcc/genoutput.c
+++ b/gcc/genoutput.c
@@ -227,6 +227,7 @@ output_prologue (void)
   printf ("#include \"system.h\"\n");
   printf ("#include \"coretypes.h\"\n");
   printf ("#include \"backend.h\"\n");
+  printf ("#include \"predict.h\"\n");
   printf ("#include \"tree.h\"\n");
   printf ("#include \"rtl.h\"\n");
   printf ("#include \"flags.h\"\n");
diff --git a/gcc/genpreds.c b/gcc/genpreds.c
index 4b5535405655..878f819f544f 100644
--- a/gcc/genpreds.c
+++ b/gcc/genpreds.c
@@ -1524,6 +1524,7 @@ write_insn_preds_c (void)
 #include \"system.h\"\n\
 #include \"coretypes.h\"\n\
 #include \"backend.h\"\n\
+#include \"predict.h\"\n\
 #include \"tree.h\"\n\
 #include \"rtl.h\"\n\
 #include \"alias.h\"\n\
diff --git a/gcc/genrecog.c b/gcc/genrecog.c
index 96656f8fe5a7..1cfefd82f682 100644
--- a/gcc/genrecog.c
+++ b/gcc/genrecog.c
@@ -4180,6 +4180,7 @@ write_header (void)
 #include \"system.h\"\n\
 #include \"coretypes.h\"\n\
 #include \"backend.h\"\n\
+#include \"predict.h\"\n\
 #include \"rtl.h\"\n\
 #include \"tm_p.h\"\n\
 #include \"emit-rtl.h\"\n\
diff --git a/gcc/gimple-fold.c b/gcc/gimple-fold.c
index 7e8bd0d5a921..e19700de2ab3 100644
--- a/gcc/gimple-fold.c
+++ b/gcc/gimple-fold.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/gimple-iterator.c b/gcc/gimple-iterator.c
index 7b22a342abe3..da873ae2d9cf 100644
--- a/gcc/gimple-iterator.c
+++ b/gcc/gimple-iterator.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "hard-reg-set.h"
diff --git a/gcc/gimple-predict.h b/gcc/gimple-predict.h
new file mode 100644
index 000000000000..9f009a553662
--- /dev/null
+++ b/gcc/gimple-predict.h
@@ -0,0 +1,83 @@
+/* Gimple prediction routines.
+
+   Copyright (C) 2007-2015 Free Software Foundation, Inc.
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 3, or (at your option) any later
+version.
+
+GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING3.  If not see
+<http://www.gnu.org/licenses/>.  */
+
+#ifndef GCC_GIMPLE_PREDICT_H
+#define GCC_GIMPLE_PREDICT_H
+
+#include "predict.h"
+
+/* Return the predictor of GIMPLE_PREDICT statement GS.  */
+
+static inline enum br_predictor
+gimple_predict_predictor (gimple gs)
+{
+  GIMPLE_CHECK (gs, GIMPLE_PREDICT);
+  return (enum br_predictor) (gs->subcode & ~GF_PREDICT_TAKEN);
+}
+
+
+/* Set the predictor of GIMPLE_PREDICT statement GS to PREDICT.  */
+
+static inline void
+gimple_predict_set_predictor (gimple gs, enum br_predictor predictor)
+{
+  GIMPLE_CHECK (gs, GIMPLE_PREDICT);
+  gs->subcode = (gs->subcode & GF_PREDICT_TAKEN)
+		       | (unsigned) predictor;
+}
+
+
+/* Return the outcome of GIMPLE_PREDICT statement GS.  */
+
+static inline enum prediction
+gimple_predict_outcome (gimple gs)
+{
+  GIMPLE_CHECK (gs, GIMPLE_PREDICT);
+  return (gs->subcode & GF_PREDICT_TAKEN) ? TAKEN : NOT_TAKEN;
+}
+
+
+/* Set the outcome of GIMPLE_PREDICT statement GS to OUTCOME.  */
+
+static inline void
+gimple_predict_set_outcome (gimple gs, enum prediction outcome)
+{
+  GIMPLE_CHECK (gs, GIMPLE_PREDICT);
+  if (outcome == TAKEN)
+    gs->subcode |= GF_PREDICT_TAKEN;
+  else
+    gs->subcode &= ~GF_PREDICT_TAKEN;
+}
+
+/* Build a GIMPLE_PREDICT statement.  PREDICT is one of the predictors from
+   predict.def, OUTCOME is NOT_TAKEN or TAKEN.  */
+
+inline gimple
+gimple_build_predict (enum br_predictor predictor, enum prediction outcome)
+{
+  gimple p = gimple_alloc (GIMPLE_PREDICT, 0);
+  /* Ensure all the predictors fit into the lower bits of the subcode.  */
+  gcc_assert ((int) END_PREDICTORS <= GF_PREDICT_TAKEN);
+  gimple_predict_set_predictor (p, predictor);
+  gimple_predict_set_outcome (p, outcome);
+  return p;
+}
+
+#endif  /* GCC_GIMPLE_PREDICT_H */
diff --git a/gcc/gimple-pretty-print.c b/gcc/gimple-pretty-print.c
index 8c230cc47eb3..53900ddb48ec 100644
--- a/gcc/gimple-pretty-print.c
+++ b/gcc/gimple-pretty-print.c
@@ -25,6 +25,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "backend.h"
 #include "tree.h"
 #include "gimple.h"
+#include "gimple-predict.h"
 #include "hard-reg-set.h"
 #include "ssa.h"
 #include "alias.h"
diff --git a/gcc/gimple-ssa-isolate-paths.c b/gcc/gimple-ssa-isolate-paths.c
index d43b5ac5abff..7d3758ce5abb 100644
--- a/gcc/gimple-ssa-isolate-paths.c
+++ b/gcc/gimple-ssa-isolate-paths.c
@@ -24,6 +24,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "alias.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "hard-reg-set.h"
diff --git a/gcc/gimple-ssa-strength-reduction.c b/gcc/gimple-ssa-strength-reduction.c
index 4bc72259aa65..b369ef5ed892 100644
--- a/gcc/gimple-ssa-strength-reduction.c
+++ b/gcc/gimple-ssa-strength-reduction.c
@@ -38,6 +38,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "alias.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/gimple.c b/gcc/gimple.c
index b73ac2a7c9de..89291b07cf46 100644
--- a/gcc/gimple.c
+++ b/gcc/gimple.c
@@ -1136,20 +1136,6 @@ gimple_build_transaction (gimple_seq body, tree label)
   return p;
 }
 
-/* Build a GIMPLE_PREDICT statement.  PREDICT is one of the predictors from
-   predict.def, OUTCOME is NOT_TAKEN or TAKEN.  */
-
-gimple
-gimple_build_predict (enum br_predictor predictor, enum prediction outcome)
-{
-  gimple p = gimple_alloc (GIMPLE_PREDICT, 0);
-  /* Ensure all the predictors fit into the lower bits of the subcode.  */
-  gcc_assert ((int) END_PREDICTORS <= GF_PREDICT_TAKEN);
-  gimple_predict_set_predictor (p, predictor);
-  gimple_predict_set_outcome (p, outcome);
-  return p;
-}
-
 #if defined ENABLE_GIMPLE_CHECKING
 /* Complain of a gimple type mismatch and die.  */
 
diff --git a/gcc/gimple.h b/gcc/gimple.h
index bcf0acff2bb7..195ad3ce42ce 100644
--- a/gcc/gimple.h
+++ b/gcc/gimple.h
@@ -1358,7 +1358,6 @@ gomp_teams *gimple_build_omp_teams (gimple_seq, tree);
 gomp_atomic_load *gimple_build_omp_atomic_load (tree, tree);
 gomp_atomic_store *gimple_build_omp_atomic_store (tree);
 gtransaction *gimple_build_transaction (gimple_seq, tree);
-gimple gimple_build_predict (enum br_predictor, enum prediction);
 extern void gimple_seq_add_stmt (gimple_seq *, gimple);
 extern void gimple_seq_add_stmt_without_update (gimple_seq *, gimple);
 void gimple_seq_add_seq (gimple_seq *, gimple_seq);
@@ -5671,50 +5670,6 @@ is_gimple_resx (const_gimple gs)
   return gimple_code (gs) == GIMPLE_RESX;
 }
 
-/* Return the predictor of GIMPLE_PREDICT statement GS.  */
-
-static inline enum br_predictor
-gimple_predict_predictor (gimple gs)
-{
-  GIMPLE_CHECK (gs, GIMPLE_PREDICT);
-  return (enum br_predictor) (gs->subcode & ~GF_PREDICT_TAKEN);
-}
-
-
-/* Set the predictor of GIMPLE_PREDICT statement GS to PREDICT.  */
-
-static inline void
-gimple_predict_set_predictor (gimple gs, enum br_predictor predictor)
-{
-  GIMPLE_CHECK (gs, GIMPLE_PREDICT);
-  gs->subcode = (gs->subcode & GF_PREDICT_TAKEN)
-		       | (unsigned) predictor;
-}
-
-
-/* Return the outcome of GIMPLE_PREDICT statement GS.  */
-
-static inline enum prediction
-gimple_predict_outcome (gimple gs)
-{
-  GIMPLE_CHECK (gs, GIMPLE_PREDICT);
-  return (gs->subcode & GF_PREDICT_TAKEN) ? TAKEN : NOT_TAKEN;
-}
-
-
-/* Set the outcome of GIMPLE_PREDICT statement GS to OUTCOME.  */
-
-static inline void
-gimple_predict_set_outcome (gimple gs, enum prediction outcome)
-{
-  GIMPLE_CHECK (gs, GIMPLE_PREDICT);
-  if (outcome == TAKEN)
-    gs->subcode |= GF_PREDICT_TAKEN;
-  else
-    gs->subcode &= ~GF_PREDICT_TAKEN;
-}
-
-
 /* Return the type of the main expression computed by STMT.  Return
    void_type_node if the statement computes nothing.  */
 
diff --git a/gcc/gimplify.c b/gcc/gimplify.c
index 07ea2a7aa61b..94911543f2a1 100644
--- a/gcc/gimplify.c
+++ b/gcc/gimplify.c
@@ -27,6 +27,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "backend.h"
 #include "tree.h"
 #include "gimple.h"
+#include "gimple-predict.h"
 #include "rtl.h"
 #include "ssa.h"
 #include "options.h"
diff --git a/gcc/graph.c b/gcc/graph.c
index 69dfe97d1ddc..f55ae2230584 100644
--- a/gcc/graph.c
+++ b/gcc/graph.c
@@ -24,6 +24,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "diagnostic-core.h" /* for fatal_error */
 #include "backend.h"
+#include "cfghooks.h"
 #include "hard-reg-set.h"
 #include "cfganal.h"
 #include "cfgloop.h"
diff --git a/gcc/graphite-blocking.c b/gcc/graphite-blocking.c
index 297c63762322..9ee733e83b09 100644
--- a/gcc/graphite-blocking.c
+++ b/gcc/graphite-blocking.c
@@ -37,6 +37,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "alias.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "hard-reg-set.h"
diff --git a/gcc/graphite-dependences.c b/gcc/graphite-dependences.c
index 1ccb8ab75858..79b69a79cb1c 100644
--- a/gcc/graphite-dependences.c
+++ b/gcc/graphite-dependences.c
@@ -36,6 +36,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "alias.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "hard-reg-set.h"
diff --git a/gcc/graphite-interchange.c b/gcc/graphite-interchange.c
index 0ddfae92f23c..0f0580b0332d 100644
--- a/gcc/graphite-interchange.c
+++ b/gcc/graphite-interchange.c
@@ -48,6 +48,7 @@ extern "C" {
 #include "coretypes.h"
 #include "alias.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "hard-reg-set.h"
diff --git a/gcc/graphite-isl-ast-to-gimple.c b/gcc/graphite-isl-ast-to-gimple.c
index 1980a1b342e1..e9da68014095 100644
--- a/gcc/graphite-isl-ast-to-gimple.c
+++ b/gcc/graphite-isl-ast-to-gimple.c
@@ -43,6 +43,7 @@ extern "C" {
 #include "coretypes.h"
 #include "alias.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "hard-reg-set.h"
diff --git a/gcc/graphite-optimize-isl.c b/gcc/graphite-optimize-isl.c
index b87e645dd57a..3be82b502c0e 100644
--- a/gcc/graphite-optimize-isl.c
+++ b/gcc/graphite-optimize-isl.c
@@ -37,6 +37,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "alias.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "hard-reg-set.h"
diff --git a/gcc/graphite-poly.c b/gcc/graphite-poly.c
index 9aecc49464d6..d62b2afe21eb 100644
--- a/gcc/graphite-poly.c
+++ b/gcc/graphite-poly.c
@@ -48,6 +48,7 @@ extern "C" {
 #include "diagnostic-core.h"
 #include "alias.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "hard-reg-set.h"
diff --git a/gcc/graphite-scop-detection.c b/gcc/graphite-scop-detection.c
index 007368bf2ab7..46a55347eeba 100644
--- a/gcc/graphite-scop-detection.c
+++ b/gcc/graphite-scop-detection.c
@@ -34,6 +34,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "alias.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "hard-reg-set.h"
diff --git a/gcc/graphite-sese-to-poly.c b/gcc/graphite-sese-to-poly.c
index 919559293447..6ab44d9d195a 100644
--- a/gcc/graphite-sese-to-poly.c
+++ b/gcc/graphite-sese-to-poly.c
@@ -45,6 +45,7 @@ extern "C" {
 #include "coretypes.h"
 #include "alias.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/graphite.c b/gcc/graphite.c
index d633da602007..7a3536b8ea88 100644
--- a/gcc/graphite.c
+++ b/gcc/graphite.c
@@ -49,6 +49,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "diagnostic-core.h"
 #include "alias.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "hard-reg-set.h"
diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c
index b197c85b96e8..0912606aa1a3 100644
--- a/gcc/haifa-sched.c
+++ b/gcc/haifa-sched.c
@@ -126,6 +126,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "rtl.h"
 #include "df.h"
 #include "diagnostic-core.h"
diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c
index 31849eea445d..2d97cc578453 100644
--- a/gcc/ifcvt.c
+++ b/gcc/ifcvt.c
@@ -21,6 +21,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/internal-fn.c b/gcc/internal-fn.c
index 82d59c92ecfb..87260982569e 100644
--- a/gcc/internal-fn.c
+++ b/gcc/internal-fn.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "alias.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c
index 16b9cde43b96..41501ed75579 100644
--- a/gcc/ipa-cp.c
+++ b/gcc/ipa-cp.c
@@ -111,6 +111,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "gimple-expr.h"
 #include "target.h"
 #include "backend.h"
+#include "predict.h"
 #include "hard-reg-set.h"
 #include "cgraph.h"
 #include "alloc-pool.h"
diff --git a/gcc/ipa-profile.c b/gcc/ipa-profile.c
index 698729b1b0b6..e15061360a3c 100644
--- a/gcc/ipa-profile.c
+++ b/gcc/ipa-profile.c
@@ -48,6 +48,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "gimple.h"
 #include "hard-reg-set.h"
diff --git a/gcc/ipa-split.c b/gcc/ipa-split.c
index df6572f282db..69f293f7a882 100644
--- a/gcc/ipa-split.c
+++ b/gcc/ipa-split.c
@@ -79,6 +79,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "alias.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/ipa-utils.c b/gcc/ipa-utils.c
index fb3a9a1faa25..30b08b2f6e3d 100644
--- a/gcc/ipa-utils.c
+++ b/gcc/ipa-utils.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "gimple.h"
 #include "hard-reg-set.h"
diff --git a/gcc/ira-build.c b/gcc/ira-build.c
index 2dc6ec4c0eee..f5297246ee18 100644
--- a/gcc/ira-build.c
+++ b/gcc/ira-build.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "rtl.h"
 #include "df.h"
 #include "tm_p.h"
diff --git a/gcc/ira-color.c b/gcc/ira-color.c
index 98858b3d536c..85c226c5d7b1 100644
--- a/gcc/ira-color.c
+++ b/gcc/ira-color.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/ira-conflicts.c b/gcc/ira-conflicts.c
index a093fdc6e700..35f120be768b 100644
--- a/gcc/ira-conflicts.c
+++ b/gcc/ira-conflicts.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "rtl.h"
 #include "df.h"
 #include "regs.h"
diff --git a/gcc/ira-costs.c b/gcc/ira-costs.c
index e520f77820db..0a5b1e12964b 100644
--- a/gcc/ira-costs.c
+++ b/gcc/ira-costs.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "rtl.h"
 #include "tree.h"
 #include "flags.h"
diff --git a/gcc/ira-emit.c b/gcc/ira-emit.c
index df9f71b6ad36..544f200cf756 100644
--- a/gcc/ira-emit.c
+++ b/gcc/ira-emit.c
@@ -69,6 +69,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/ira-lives.c b/gcc/ira-lives.c
index 44f0cbf74ffa..7358f6760913 100644
--- a/gcc/ira-lives.c
+++ b/gcc/ira-lives.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "rtl.h"
 #include "df.h"
 #include "regs.h"
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index e560d70bf9cb..d64d3f2f327e 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,7 @@
+2015-07-10  Andrew MacLeod  <amacleod@redhat.com>
+
+	* java-gimplify.c: Include cfghooks.h rather than predict.h.
+
 2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
 
 	* boehm.c: Adjust includes.
diff --git a/gcc/java/java-gimplify.c b/gcc/java/java-gimplify.c
index 43a462d7f75b..c6e7657b5fb8 100644
--- a/gcc/java/java-gimplify.c
+++ b/gcc/java/java-gimplify.c
@@ -27,7 +27,7 @@ The Free Software Foundation is independent of Sun Microsystems, Inc.  */
 #include "alias.h"
 #include "tm.h"
 #include "function.h"
-#include "predict.h"
+#include "cfghooks.h"
 #include "basic-block.h"
 #include "tree.h"
 #include "gimple.h"
diff --git a/gcc/jump.c b/gcc/jump.c
index 66ea73c7a93a..21324cd0741f 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -37,6 +37,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "rtl.h"
 #include "tm_p.h"
 #include "flags.h"
diff --git a/gcc/loop-doloop.c b/gcc/loop-doloop.c
index 25f7a4f8438a..6554597ba860 100644
--- a/gcc/loop-doloop.c
+++ b/gcc/loop-doloop.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "rtl.h"
 #include "flags.h"
 #include "tree.h"
diff --git a/gcc/loop-init.c b/gcc/loop-init.c
index b786442fc36a..f7aea991d625 100644
--- a/gcc/loop-init.c
+++ b/gcc/loop-init.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/loop-invariant.c b/gcc/loop-invariant.c
index 702f3e32bd7c..111cdfda1fa6 100644
--- a/gcc/loop-invariant.c
+++ b/gcc/loop-invariant.c
@@ -38,6 +38,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/loop-unroll.c b/gcc/loop-unroll.c
index f19b10d0b626..e8158416a8dd 100644
--- a/gcc/loop-unroll.c
+++ b/gcc/loop-unroll.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "rtl.h"
 #include "alias.h"
 #include "tree.h"
diff --git a/gcc/lower-subreg.c b/gcc/lower-subreg.c
index f3b2ab5497da..7b73ffd0ccc5 100644
--- a/gcc/lower-subreg.c
+++ b/gcc/lower-subreg.c
@@ -23,6 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/lra-assigns.c b/gcc/lra-assigns.c
index 409f999b8b67..839036c79e70 100644
--- a/gcc/lra-assigns.c
+++ b/gcc/lra-assigns.c
@@ -78,6 +78,7 @@ along with GCC; see the file COPYING3.	If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/lra-coalesce.c b/gcc/lra-coalesce.c
index 3ec4e157a968..2794fedfcecb 100644
--- a/gcc/lra-coalesce.c
+++ b/gcc/lra-coalesce.c
@@ -46,6 +46,7 @@ along with GCC; see the file COPYING3.	If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c
index 7d170b63bc83..ddb91dd49cf9 100644
--- a/gcc/lra-constraints.c
+++ b/gcc/lra-constraints.c
@@ -110,6 +110,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/lra-lives.c b/gcc/lra-lives.c
index 78f165315590..8b8636875642 100644
--- a/gcc/lra-lives.c
+++ b/gcc/lra-lives.c
@@ -29,6 +29,7 @@ along with GCC; see the file COPYING3.	If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/lra.c b/gcc/lra.c
index a7b9919e6fc4..0ba7b1ce1b16 100644
--- a/gcc/lra.c
+++ b/gcc/lra.c
@@ -104,6 +104,7 @@ along with GCC; see the file COPYING3.	If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/lto-cgraph.c b/gcc/lto-cgraph.c
index 97585c961b2a..f700b0ce16d7 100644
--- a/gcc/lto-cgraph.c
+++ b/gcc/lto-cgraph.c
@@ -24,6 +24,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/lto-streamer-in.c b/gcc/lto-streamer-in.c
index b9cdd0040507..a9e31b1284c7 100644
--- a/gcc/lto-streamer-in.c
+++ b/gcc/lto-streamer-in.c
@@ -24,6 +24,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog
index 4f2d0ec34d7c..9970d59e6e73 100644
--- a/gcc/lto/ChangeLog
+++ b/gcc/lto/ChangeLog
@@ -1,3 +1,7 @@
+2015-07-10  Andrew MacLeod  <amacleod@redhat.com>
+
+	* lto.c: Include cfghooks.h rather than predict.h.
+
 2015-07-09  Andrew MacLeod  <amacleod@redhat.com>
 
 	* lto-lang.c: Adjust includes of target.h, alloc-pool.h and
diff --git a/gcc/lto/lto.c b/gcc/lto/lto.c
index d1a1e6d812ea..2d80ffec61a8 100644
--- a/gcc/lto/lto.c
+++ b/gcc/lto/lto.c
@@ -27,7 +27,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 #include "function.h"
 #include "bitmap.h"
-#include "predict.h"
+#include "cfghooks.h"
 #include "basic-block.h"
 #include "tree.h"
 #include "gimple.h"
diff --git a/gcc/mode-switching.c b/gcc/mode-switching.c
index cbcd7365b595..4529bc29fa26 100644
--- a/gcc/mode-switching.c
+++ b/gcc/mode-switching.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "rtl.h"
 #include "df.h"
 #include "target.h"
diff --git a/gcc/modulo-sched.c b/gcc/modulo-sched.c
index 83220d3081f3..d9596c33e10d 100644
--- a/gcc/modulo-sched.c
+++ b/gcc/modulo-sched.c
@@ -23,6 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/omp-low.c b/gcc/omp-low.c
index aa1e6666dbdc..0e69bc21269f 100644
--- a/gcc/omp-low.c
+++ b/gcc/omp-low.c
@@ -26,6 +26,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/optabs.c b/gcc/optabs.c
index 1c76411c1420..0719ba2c558c 100644
--- a/gcc/optabs.c
+++ b/gcc/optabs.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "diagnostic-core.h"
 
 /* Include insn-config.h before expr.h so that HAVE_conditional_move
diff --git a/gcc/passes.c b/gcc/passes.c
index a2afb0aa614e..d8e9271fa89b 100644
--- a/gcc/passes.c
+++ b/gcc/passes.c
@@ -26,6 +26,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/postreload-gcse.c b/gcc/postreload-gcse.c
index 46b14b246179..7ab9a0c4d89a 100644
--- a/gcc/postreload-gcse.c
+++ b/gcc/postreload-gcse.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/postreload.c b/gcc/postreload.c
index 03babc87695c..c8d199958e43 100644
--- a/gcc/postreload.c
+++ b/gcc/postreload.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/predict.c b/gcc/predict.c
index 6a3ff4241c2a..965d7cb6ade2 100644
--- a/gcc/predict.c
+++ b/gcc/predict.c
@@ -31,8 +31,10 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
+#include "gimple-predict.h"
 #include "rtl.h"
 #include "ssa.h"
 #include "alias.h"
diff --git a/gcc/profile.c b/gcc/profile.c
index eb9e028d804a..8e887692c0dc 100644
--- a/gcc/profile.c
+++ b/gcc/profile.c
@@ -51,6 +51,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/recog.c b/gcc/recog.c
index b69ace56c8b0..120f7b9a44a7 100644
--- a/gcc/recog.c
+++ b/gcc/recog.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/regstat.c b/gcc/regstat.c
index d7307b3a870f..cd4a5c44b281 100644
--- a/gcc/regstat.c
+++ b/gcc/regstat.c
@@ -23,6 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "rtl.h"
 #include "df.h"
 #include "tm_p.h"
diff --git a/gcc/reload1.c b/gcc/reload1.c
index 5192a99a3cec..1d199ca45c82 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/reorg.c b/gcc/reorg.c
index dd1cdfd61fec..bdeabcbdc16c 100644
--- a/gcc/reorg.c
+++ b/gcc/reorg.c
@@ -104,6 +104,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c
index cb20c2537dcb..0bba878d3b51 100644
--- a/gcc/rtlanal.c
+++ b/gcc/rtlanal.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/sched-ebb.c b/gcc/sched-ebb.c
index b6109eac2126..01aa80846319 100644
--- a/gcc/sched-ebb.c
+++ b/gcc/sched-ebb.c
@@ -23,6 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "rtl.h"
 #include "df.h"
 #include "diagnostic-core.h"
diff --git a/gcc/sel-sched-ir.c b/gcc/sel-sched-ir.c
index 2926b67afccc..6ac2c4bbb8a8 100644
--- a/gcc/sel-sched-ir.c
+++ b/gcc/sel-sched-ir.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/sese.c b/gcc/sese.c
index 8e5b9064d13a..2dedd9516b67 100644
--- a/gcc/sese.c
+++ b/gcc/sese.c
@@ -24,6 +24,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "alias.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "hard-reg-set.h"
diff --git a/gcc/shrink-wrap.c b/gcc/shrink-wrap.c
index a357aa3b7762..c90c40a24297 100644
--- a/gcc/shrink-wrap.c
+++ b/gcc/shrink-wrap.c
@@ -23,6 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c
index aeca187d83fc..c243080be260 100644
--- a/gcc/simplify-rtx.c
+++ b/gcc/simplify-rtx.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "rtl.h"
 #include "alias.h"
 #include "tree.h"
diff --git a/gcc/stmt.c b/gcc/stmt.c
index 6fb72337d180..fba72df270ef 100644
--- a/gcc/stmt.c
+++ b/gcc/stmt.c
@@ -26,6 +26,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/store-motion.c b/gcc/store-motion.c
index a990c03f191a..ec3faa2ba54d 100644
--- a/gcc/store-motion.c
+++ b/gcc/store-motion.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "rtl.h"
 #include "df.h"
diff --git a/gcc/tracer.c b/gcc/tracer.c
index f7947635b62a..cad7ab1e0189 100644
--- a/gcc/tracer.c
+++ b/gcc/tracer.c
@@ -37,6 +37,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/trans-mem.c b/gcc/trans-mem.c
index 287283f13627..891e6388cc43 100644
--- a/gcc/trans-mem.c
+++ b/gcc/trans-mem.c
@@ -22,6 +22,7 @@
 #include "coretypes.h"
 #include "alias.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/tree-call-cdce.c b/gcc/tree-call-cdce.c
index 8c37143f8e87..6e9b14c6f1ca 100644
--- a/gcc/tree-call-cdce.c
+++ b/gcc/tree-call-cdce.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "hard-reg-set.h"
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index e90ca3d81c84..d97b8240f228 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/tree-cfgcleanup.c b/gcc/tree-cfgcleanup.c
index 123e34c63dbb..f3da9c54bf75 100644
--- a/gcc/tree-cfgcleanup.c
+++ b/gcc/tree-cfgcleanup.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/tree-chkp.c b/gcc/tree-chkp.c
index 1c8b5585985e..8c1b48cf45c8 100644
--- a/gcc/tree-chkp.c
+++ b/gcc/tree-chkp.c
@@ -23,6 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "alias.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/tree-complex.c b/gcc/tree-complex.c
index fae85b6d98ee..193fc65c0e80 100644
--- a/gcc/tree-complex.c
+++ b/gcc/tree-complex.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/tree-eh.c b/gcc/tree-eh.c
index f62fb067cf3a..f708c9f5ea1e 100644
--- a/gcc/tree-eh.c
+++ b/gcc/tree-eh.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/tree-if-conv.c b/gcc/tree-if-conv.c
index a1a584bdf8d0..a284c2a10fef 100644
--- a/gcc/tree-if-conv.c
+++ b/gcc/tree-if-conv.c
@@ -84,6 +84,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
index 012e536ffe6f..15adb175f058 100644
--- a/gcc/tree-inline.c
+++ b/gcc/tree-inline.c
@@ -22,8 +22,10 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
+#include "gimple-predict.h"
 #include "rtl.h"
 #include "ssa.h"
 #include "diagnostic-core.h"
diff --git a/gcc/tree-loop-distribution.c b/gcc/tree-loop-distribution.c
index 95a39f48ea27..213793e001c8 100644
--- a/gcc/tree-loop-distribution.c
+++ b/gcc/tree-loop-distribution.c
@@ -46,6 +46,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "alias.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "hard-reg-set.h"
diff --git a/gcc/tree-outof-ssa.c b/gcc/tree-outof-ssa.c
index a253bb9bb2ab..7b747ab922cb 100644
--- a/gcc/tree-outof-ssa.c
+++ b/gcc/tree-outof-ssa.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/tree-parloops.c b/gcc/tree-parloops.c
index bda5d05cb6fc..036677bb123f 100644
--- a/gcc/tree-parloops.c
+++ b/gcc/tree-parloops.c
@@ -24,6 +24,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "alias.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "hard-reg-set.h"
diff --git a/gcc/tree-predcom.c b/gcc/tree-predcom.c
index 7751c5f93682..ea0d30cfa0d1 100644
--- a/gcc/tree-predcom.c
+++ b/gcc/tree-predcom.c
@@ -188,6 +188,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/tree-pretty-print.c b/gcc/tree-pretty-print.c
index 781e475c5114..7cd1fe75ab88 100644
--- a/gcc/tree-pretty-print.c
+++ b/gcc/tree-pretty-print.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "alias.h"
 #include "tree.h"
 #include "stor-layout.h"
diff --git a/gcc/tree-profile.c b/gcc/tree-profile.c
index b6f7a3968e72..4dcc58d146db 100644
--- a/gcc/tree-profile.c
+++ b/gcc/tree-profile.c
@@ -28,6 +28,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "hard-reg-set.h"
diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c
index 3f6111c160f3..77e8735a5ad3 100644
--- a/gcc/tree-sra.c
+++ b/gcc/tree-sra.c
@@ -76,6 +76,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "alloc-pool.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/tree-ssa-coalesce.c b/gcc/tree-ssa-coalesce.c
index bd2b97e42d4c..bf8983f0a60d 100644
--- a/gcc/tree-ssa-coalesce.c
+++ b/gcc/tree-ssa-coalesce.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "gimple.h"
 #include "hard-reg-set.h"
diff --git a/gcc/tree-ssa-dce.c b/gcc/tree-ssa-dce.c
index 6c29d90c1922..2d2edc801168 100644
--- a/gcc/tree-ssa-dce.c
+++ b/gcc/tree-ssa-dce.c
@@ -46,6 +46,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/tree-ssa-dom.c b/gcc/tree-ssa-dom.c
index c138d52c4ef6..8ebc8877dfa8 100644
--- a/gcc/tree-ssa-dom.c
+++ b/gcc/tree-ssa-dom.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "hard-reg-set.h"
diff --git a/gcc/tree-ssa-forwprop.c b/gcc/tree-ssa-forwprop.c
index 1d596f3cf087..ccfde5f1e366 100644
--- a/gcc/tree-ssa-forwprop.c
+++ b/gcc/tree-ssa-forwprop.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/tree-ssa-ifcombine.c b/gcc/tree-ssa-ifcombine.c
index 3f0bc6e2739b..e199689bdf30 100644
--- a/gcc/tree-ssa-ifcombine.c
+++ b/gcc/tree-ssa-ifcombine.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/tree-ssa-loop-ch.c b/gcc/tree-ssa-loop-ch.c
index dafa40d80ebd..19d1b4cf3efd 100644
--- a/gcc/tree-ssa-loop-ch.c
+++ b/gcc/tree-ssa-loop-ch.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "hard-reg-set.h"
diff --git a/gcc/tree-ssa-loop-im.c b/gcc/tree-ssa-loop-im.c
index 8959b1437718..b85d9cb5956e 100644
--- a/gcc/tree-ssa-loop-im.c
+++ b/gcc/tree-ssa-loop-im.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "hard-reg-set.h"
diff --git a/gcc/tree-ssa-loop-ivcanon.c b/gcc/tree-ssa-loop-ivcanon.c
index 7c11827e6b24..eca70a908edd 100644
--- a/gcc/tree-ssa-loop-ivcanon.c
+++ b/gcc/tree-ssa-loop-ivcanon.c
@@ -39,6 +39,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "hard-reg-set.h"
diff --git a/gcc/tree-ssa-loop-ivopts.c b/gcc/tree-ssa-loop-ivopts.c
index b022bd716b19..ef03dd1e48aa 100644
--- a/gcc/tree-ssa-loop-ivopts.c
+++ b/gcc/tree-ssa-loop-ivopts.c
@@ -65,6 +65,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/tree-ssa-loop-manip.c b/gcc/tree-ssa-loop-manip.c
index be58ae2e4fcb..cb762df45240 100644
--- a/gcc/tree-ssa-loop-manip.c
+++ b/gcc/tree-ssa-loop-manip.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "hard-reg-set.h"
diff --git a/gcc/tree-ssa-loop-prefetch.c b/gcc/tree-ssa-loop-prefetch.c
index a4e5b80afba5..1adaed598c93 100644
--- a/gcc/tree-ssa-loop-prefetch.c
+++ b/gcc/tree-ssa-loop-prefetch.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/tree-ssa-loop-unswitch.c b/gcc/tree-ssa-loop-unswitch.c
index 596593bc6233..a27363822df0 100644
--- a/gcc/tree-ssa-loop-unswitch.c
+++ b/gcc/tree-ssa-loop-unswitch.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "gimple.h"
 #include "hard-reg-set.h"
diff --git a/gcc/tree-ssa-math-opts.c b/gcc/tree-ssa-math-opts.c
index bb3c2ef01a3c..55382f3fca41 100644
--- a/gcc/tree-ssa-math-opts.c
+++ b/gcc/tree-ssa-math-opts.c
@@ -88,6 +88,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/tree-ssa-phiopt.c b/gcc/tree-ssa-phiopt.c
index 9014891e49f3..666e0d946e95 100644
--- a/gcc/tree-ssa-phiopt.c
+++ b/gcc/tree-ssa-phiopt.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c
index 644fa267319a..5c78c43f38ab 100644
--- a/gcc/tree-ssa-pre.c
+++ b/gcc/tree-ssa-pre.c
@@ -23,6 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/tree-ssa-reassoc.c b/gcc/tree-ssa-reassoc.c
index 47a14bde2b28..932c83ab3aaa 100644
--- a/gcc/tree-ssa-reassoc.c
+++ b/gcc/tree-ssa-reassoc.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/tree-ssa-sink.c b/gcc/tree-ssa-sink.c
index 8108a163b58a..8118f357852e 100644
--- a/gcc/tree-ssa-sink.c
+++ b/gcc/tree-ssa-sink.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "hard-reg-set.h"
diff --git a/gcc/tree-ssa-tail-merge.c b/gcc/tree-ssa-tail-merge.c
index 018a9660b759..462c7d181b26 100644
--- a/gcc/tree-ssa-tail-merge.c
+++ b/gcc/tree-ssa-tail-merge.c
@@ -189,6 +189,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "hard-reg-set.h"
diff --git a/gcc/tree-ssa-threadedge.c b/gcc/tree-ssa-threadedge.c
index 4ab161a7b455..716412282370 100644
--- a/gcc/tree-ssa-threadedge.c
+++ b/gcc/tree-ssa-threadedge.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "gimple.h"
 #include "hard-reg-set.h"
diff --git a/gcc/tree-ssa-threadupdate.c b/gcc/tree-ssa-threadupdate.c
index 8e86ee4d8aca..6af09b53791e 100644
--- a/gcc/tree-ssa-threadupdate.c
+++ b/gcc/tree-ssa-threadupdate.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "alias.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "hard-reg-set.h"
diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c
index 24989ad889f8..96464665c479 100644
--- a/gcc/tree-ssa.c
+++ b/gcc/tree-ssa.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "hard-reg-set.h"
diff --git a/gcc/tree-switch-conversion.c b/gcc/tree-switch-conversion.c
index 81a93a2724b6..32019120b904 100644
--- a/gcc/tree-switch-conversion.c
+++ b/gcc/tree-switch-conversion.c
@@ -26,6 +26,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/tree-tailcall.c b/gcc/tree-tailcall.c
index 25936bb73dbe..7b723c2caebe 100644
--- a/gcc/tree-tailcall.c
+++ b/gcc/tree-tailcall.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c
index 26d7d8faa442..603facaaeb4f 100644
--- a/gcc/tree-vect-data-refs.c
+++ b/gcc/tree-vect-data-refs.c
@@ -24,6 +24,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "dumpfile.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/tree-vect-loop-manip.c b/gcc/tree-vect-loop-manip.c
index cd7fb91032b0..26fb841e2678 100644
--- a/gcc/tree-vect-loop-manip.c
+++ b/gcc/tree-vect-loop-manip.c
@@ -24,6 +24,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "dumpfile.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "hard-reg-set.h"
diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c
index 83a993f2690e..9145dbf19e16 100644
--- a/gcc/tree-vect-loop.c
+++ b/gcc/tree-vect-loop.c
@@ -24,6 +24,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "dumpfile.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c
index 7b524cb9f0ea..85a0cf66a2a6 100644
--- a/gcc/tree-vectorizer.c
+++ b/gcc/tree-vectorizer.c
@@ -59,6 +59,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "dumpfile.h"
 #include "backend.h"
+#include "predict.h"
 #include "tree.h"
 #include "gimple.h"
 #include "hard-reg-set.h"
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c
index db824c435bff..04ef4a5da406 100644
--- a/gcc/tree-vrp.c
+++ b/gcc/tree-vrp.c
@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/ubsan.c b/gcc/ubsan.c
index 1e3210428c2b..d75c4ee0f3de 100644
--- a/gcc/ubsan.c
+++ b/gcc/ubsan.c
@@ -23,6 +23,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "coretypes.h"
 #include "alias.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/value-prof.c b/gcc/value-prof.c
index 20299183ec76..8aace8c872c9 100644
--- a/gcc/value-prof.c
+++ b/gcc/value-prof.c
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "tree.h"
 #include "gimple.h"
 #include "rtl.h"
diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c
index b7ecea8092ac..b5b0cb6a3bdb 100644
--- a/gcc/var-tracking.c
+++ b/gcc/var-tracking.c
@@ -89,6 +89,7 @@
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "cfghooks.h"
 #include "rtl.h"
 #include "alias.h"
 #include "tree.h"
diff --git a/gcc/varasm.c b/gcc/varasm.c
index b69b3a3885f5..6a4ba0bb8f51 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -29,6 +29,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
+#include "predict.h"
 #include "rtl.h"
 #include "alias.h"
 #include "tree.h"
-- 
GitLab