summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPrathamesh Kulkarni <prathamesh.kulkarni@linaro.org>2015-01-15 13:28:42 +0000
committerPrathamesh Kulkarni <prathamesh3492@gcc.gnu.org>2015-01-15 13:28:42 +0000
commit36566b39c38a8c22c4f369878033ef53fa25d315 (patch)
tree7496e66b81b1c4ed6ec21d8dae21d1533fce5d4e /gcc
parent645c25f6425651f56d6d6cd09005d32756cb53be (diff)
dojump.h: New header file.
2015-10-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> * dojump.h: New header file. * explow.h: Likewise. * expr.h: Remove includes. Move expmed.c prototypes to expmed.h. Move dojump.c prototypes to dojump.h. Move alias.c prototypes to alias.h. Move explow.c prototypes to explow.h. Move calls.c prototypes to calls.h. Move emit-rtl.c prototypes to emit-rtl.h. Move varasm.c prototypes to varasm.h. Move stmt.c prototypes to stmt.h. (saved_pending_stack_adjust): Move to dojump.h. (adjust_address): Move to explow.h. (adjust_address_nv): Move to emit-rtl.h. (adjust_bitfield_address): Likewise. (adjust_bitfield_address_size): Likewise. (adjust_bitfield_address_nv): Likewise. (adjust_automodify_address_nv): Likewise. * explow.c (expr_size): Move to expr.c. (int_expr_size): Likewise. (tree_expr_size): Likewise. Include calls.h dojump.h emit-rtl.h explow.h expmed.h fixed-value.h hashtab.h statistics.h stmt.h varasm.h. * genemit.c (main): Generate includes statistics.h, real.h, fixed-value.h, insn-config.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h. * genopinit.c (main): Generate includes hashtab.h, hard-reg-set.h, function.h, statistics.h, real.h, fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h. * genoutput.c (main): Generate includes hashtab.h, statistics.h, real.h, fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h. * genemit.c (open_base_files): Generate includes flags.h, statistics.h, real.h, fixed-value.h, tree.h, expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h. * config/tilepro/gen-mul-tables.cc: Generate includes hashtab.h, hash-set.h, vec.h, machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h, flags.h, statistics.h, double-int.h, real.h, fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h, insn-config.h, expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h. * config/tilegx/mul-tables.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h hash-set.h hashtab.h inchash.h input.h insn-config.h machmode.h real.h rtl.h statistics.h stmt.h symtab.h tm.h tree.h varasm.h vec.h wide-int.h. * rtlhooks.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h hash-set.h hashtab.h inchash.h input.h insn-config.h machmode.h real.h statistics.h stmt.h tree.h varasm.h vec.h wide-int.h. * cfgloopanal.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h insn-config.h real.h statistics.h stmt.h tree.h varasm.h wide-int.h. * loop-iv.c: Likewise. * lra-assigns.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h real.h statistics.h stmt.h tree.h varasm.h wide-int.h. * lra-constraints.c: Likewise. * lra-eliminations.c: Likewise. * lra-lives.c: Likewise. * lra-remat.c: Likewise. * bt-load.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h explow.h expmed.h fixed-value.h inchash.h insn-config.h real.h statistics.h stmt.h tree.h varasm.h wide-int.h. * hw-doloop.c: Likewise. * ira-color.c: Likewise. * ira-emit.c: Likewise. * loop-doloop.c: Likewise. * loop-invariant.c: Likewise. * reload.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h explow.h expmed.h fixed-value.h inchash.h real.h rtl.h statistics.h stmt.h tree.h varasm.h wide-int.h. * caller-save.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h explow.h expmed.h fixed-value.h inchash.h real.h statistics.h stmt.h tree.h varasm.h wide-int.h. * combine-stack-adj.c: Likewise. * cse.c: Likewise. * ddg.c: Likewise. * ifcvt.c: Likewise. * ira-costs.c: Likewise. * jump.c: Likewise. * lra-coalesce.c: Likewise. * lra-spills.c: Likewise. * profile.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h wide-int.h. * lra.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h explow.h expmed.h fixed-value.h real.h statistics.h stmt.h varasm.h. * config/sh/sh_treg_combine.cc: Include alias.h calls.h dojump.h double-int.h explow.h expmed.h fixed-value.h flags.h real.h statistics.h stmt.h varasm.h wide-int.h. * reorg.c: Include alias.h calls.h dojump.h double-int.h explow.h expmed.h fixed-value.h inchash.h real.h statistics.h stmt.h tree.h varasm.h wide-int.h. * reload1.c: Include alias.h calls.h dojump.h double-int.h explow.h expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h. * config/tilegx/tilegx.c: Include alias.h dojump.h double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h real.h statistics.h stmt.h. * config/tilepro/tilepro.c: Likewise. * config/mmix/mmix.c: Include alias.h dojump.h double-int.h emit-rtl.h explow.h expmed.h fixed-value.h real.h statistics.h stmt.h. * config/pdp11/pdp11.c: Likewise. * config/xtensa/xtensa.c: Likewise. * config/lm32/lm32.c: Include alias.h dojump.h double-int.h emit-rtl.h explow.h expmed.h fixed-value.h real.h statistics.h stmt.h varasm.h. * tree-chkp.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h tm.h. * cilk-common.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h tm.h varasm.h. * rtl-chkp.c: Likewise. * tree-chkp-opt.c: Likewise. * config/arm/arm-builtins.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h statistics.h stmt.h varasm.h. * ipa-icf.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h. * tree-vect-data-refs.c: Likewise. * graphite-sese-to-poly.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h varasm.h. * internal-fn.c: Likewise. * ipa-icf-gimple.c: Likewise. * lto-section-out.c: Likewise. * tree-data-ref.c: Likewise. * tree-nested.c: Likewise. * tree-outof-ssa.c: Likewise. * tree-predcom.c: Likewise. * tree-pretty-print.c: Likewise. * tree-scalar-evolution.c: Likewise. * tree-ssa-strlen.c: Likewise. * tree-vect-loop.c: Likewise. * tree-vect-patterns.c: Likewise. * tree-vect-slp.c: Likewise. * tree-vect-stmts.c: Likewise. * tsan.c: Likewise. * targhooks.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h stmt.h. * config/sh/sh-mem.cc: Include calls.h dojump.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h stmt.h varasm.h. * loop-unroll.c: Likewise. * ubsan.c: Likewise. * tree-ssa-loop-prefetch.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h. * dse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h fixed-value.h function.h hashtab.h statistics.h stmt.h varasm.h. * tree-switch-conversion.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h. * generic-match-head.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h varasm.h. * gimple-match-head.c: Likewise. * lto-cgraph.c: Likewise. * lto-section-in.c: Likewise. * lto-streamer-in.c: Likewise. * lto-streamer-out.c: Likewise. * tree-affine.c: Likewise. * tree-cfg.c: Likewise. * tree-cfgcleanup.c: Likewise. * tree-if-conv.c: Likewise. * tree-into-ssa.c: Likewise. * tree-ssa-alias.c: Likewise. * tree-ssa-copyrename.c: Likewise. * tree-ssa-dse.c: Likewise. * tree-ssa-forwprop.c: Likewise. * tree-ssa-live.c: Likewise. * tree-ssa-math-opts.c: Likewise. * tree-ssa-pre.c: Likewise. * tree-ssa-sccvn.c: Likewise. * tree-tailcall.c: Likewise. * tree-vect-generic.c: Likewise. * tree-sra.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h stmt.h varasm.h. * stor-layout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h. * varasm.c: Likewise. * coverage.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h varasm.h. * init-regs.c: Likewise. * ira.c: Likewise. * omp-low.c: Likewise. * stack-ptr-mod.c: Likewise. * tree-ssa-reassoc.c: Likewise. * tree-complex.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h fixed-value.h hashtab.h insn-config.h rtl.h statistics.h stmt.h varasm.h. * dwarf2cfi.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h fixed-value.h hashtab.h insn-config.h statistics.h stmt.h varasm.h. * shrink-wrap.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h. * recog.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h. * tree-ssa-phiopt.c: Likewise. * config/darwin.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h fixed-value.h hashtab.h real.h statistics.h stmt.h. * config/fr30/fr30.c: Likewise. * config/frv/frv.c: Likewise. * expr.c: Likewise. * final.c: Likewise. * optabs.c: Likewise. * passes.c: Likewise. * simplify-rtx.c: Likewise. * stmt.c: Likewise. * toplev.c: Likewise. * var-tracking.c: Likewise. * gcse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h. * lower-subreg.c: Likewise. * postreload-gcse.c: Likewise. * ree.c: Likewise. * reginfo.c: Likewise. * store-motion.c: Likewise. * combine.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h fixed-value.h hashtab.h real.h stmt.h varasm.h. * emit-rtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h fixed-value.h hashtab.h statistics.h stmt.h. * dojump.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h fixed-value.h hashtab.h statistics.h stmt.h varasm.h. * except.c: Likewise. * explow.c: Likewise. * tree-dfa.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h fixed-value.h insn-config.h real.h rtl.h statistics.h stmt.h varasm.h. * gimple-fold.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h fixed-value.h insn-config.h real.h rtl.h statistics.h varasm.h. * tree-ssa-structalias.c: Likewise. * cfgexpand.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h. * calls.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h stmt.h. * bb-reorder.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h. * cfgbuild.c: Likewise. * function.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h. * cfgrtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h. * dbxout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h fixed-value.h real.h statistics.h stmt.h. * auto-inc-dec.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h fixed-value.h real.h statistics.h stmt.h varasm.h. * cprop.c: Likewise. * modulo-sched.c: Likewise. * postreload.c: Likewise. * ccmp.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h statistics.h stmt.h varasm.h. * gimple-ssa-strength-reduction.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h varasm.h. * tree-ssa-loop-ivopts.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h. * expmed.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h function.h hard-reg-set.h hashtab.h real.h statistics.h stmt.h varasm.h. * target-globals.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h function.h hashtab.h real.h statistics.h stmt.h varasm.h. * tree-ssa-address.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h. * cfgcleanup.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h function.h real.h statistics.h stmt.h varasm.h. * alias.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h stmt.h. * dwarf2out.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h statistics.h stmt.h. * config/nvptx/nvptx.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h hard-reg-set.h insn-config.h real.h statistics.h stmt.h varasm.h. * gimplify.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h statistics.h. * asan.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h. * ipa-devirt.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h varasm.h. * ipa-polymorphic-call.c: Likewise. * config/aarch64/aarch64.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h stmt.h. * config/c6x/c6x.c: Likewise. * config/aarch64/aarch64-builtins.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h stmt.h varasm.h. * ipa-prop.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h varasm.h. * ipa-split.c: Likewise. * tree-eh.c: Likewise. * tree-ssa-dce.c: Likewise. * tree-ssa-loop-niter.c: Likewise. * tree-vrp.c: Likewise. * config/nds32/nds32-cost.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h. * 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/nds32/nds32.c: Likewise. * config/cris/cris.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h hashtab.h real.h statistics.h. * config/alpha/alpha.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h hashtab.h real.h statistics.h stmt.h. * config/arm/arm.c: Likewise. * config/avr/avr.c: Likewise. * config/bfin/bfin.c: Likewise. * config/h8300/h8300.c: Likewise. * config/i386/i386.c: Likewise. * config/ia64/ia64.c: Likewise. * config/iq2000/iq2000.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/mips/mips.c: Likewise. * config/mn10300/mn10300.c: Likewise. * config/moxie/moxie.c: Likewise. * config/pa/pa.c: Likewise. * config/rl78/rl78.c: Likewise. * config/rx/rx.c: Likewise. * config/s390/s390.c: Likewise. * config/sh/sh.c: Likewise. * config/sparc/sparc.c: Likewise. * config/spu/spu.c: Likewise. * config/stormy16/stormy16.c: Likewise. * config/v850/v850.c: Likewise. * config/vax/vax.c: Likewise. * config/cr16/cr16.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h. * config/msp430/msp430.c: Likewise. * predict.c: Likewise. * value-prof.c: Likewise. * config/epiphany/epiphany.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h hashtab.h statistics.h stmt.h. * config/microblaze/microblaze.c: Likewise. * config/nios2/nios2.c: Likewise. * config/rs6000/rs6000.c: Likewise. * tree.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h insn-config.h real.h rtl.h statistics.h stmt.h. * cgraph.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h stmt.h. * fold-const.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h. * tree-inline.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h. * builtins.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h real.h statistics.h stmt.h. * config/arc/arc.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h statistics.h stmt.h. * config/visium/visium.c: Include dojump.h emit-rtl.h explow.h expmed.h stmt.h. java/ * builtins.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h fixed-value.h function.h hard-reg-set.h hashtab.h insn-config.h real.h statistics.h stmt.h varasm.h. From-SVN: r219655
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog365
-rw-r--r--gcc/alias.c20
-rw-r--r--gcc/asan.c14
-rw-r--r--gcc/auto-inc-dec.c14
-rw-r--r--gcc/bb-reorder.c15
-rw-r--r--gcc/bt-load.c22
-rw-r--r--gcc/builtins.c12
-rw-r--r--gcc/caller-save.c15
-rw-r--r--gcc/calls.c14
-rw-r--r--gcc/calls.h6
-rw-r--r--gcc/ccmp.c16
-rw-r--r--gcc/cfgbuild.c15
-rw-r--r--gcc/cfgcleanup.c15
-rw-r--r--gcc/cfgexpand.c15
-rw-r--r--gcc/cfgloopanal.c17
-rw-r--r--gcc/cfgrtl.c11
-rw-r--r--gcc/cgraph.c13
-rw-r--r--gcc/cilk-common.c17
-rw-r--r--gcc/combine-stack-adj.c15
-rw-r--r--gcc/combine.c14
-rw-r--r--gcc/config/aarch64/aarch64-builtins.c18
-rw-r--r--gcc/config/aarch64/aarch64.c14
-rw-r--r--gcc/config/alpha/alpha.c12
-rw-r--r--gcc/config/arc/arc.c12
-rw-r--r--gcc/config/arm/arm-builtins.c15
-rw-r--r--gcc/config/arm/arm.c10
-rw-r--r--gcc/config/avr/avr.c12
-rw-r--r--gcc/config/bfin/bfin.c10
-rw-r--r--gcc/config/c6x/c6x.c16
-rw-r--r--gcc/config/cr16/cr16.c11
-rw-r--r--gcc/config/cris/cris.c11
-rw-r--r--gcc/config/darwin.c13
-rw-r--r--gcc/config/epiphany/epiphany.c10
-rw-r--r--gcc/config/fr30/fr30.c13
-rw-r--r--gcc/config/frv/frv.c13
-rw-r--r--gcc/config/h8300/h8300.c12
-rw-r--r--gcc/config/i386/i386.c11
-rw-r--r--gcc/config/ia64/ia64.c12
-rw-r--r--gcc/config/iq2000/iq2000.c10
-rw-r--r--gcc/config/lm32/lm32.c13
-rw-r--r--gcc/config/m32c/m32c.c12
-rw-r--r--gcc/config/m32r/m32r.c12
-rw-r--r--gcc/config/m68k/m68k.c12
-rw-r--r--gcc/config/mcore/mcore.c12
-rw-r--r--gcc/config/mep/mep.c13
-rw-r--r--gcc/config/microblaze/microblaze.c11
-rw-r--r--gcc/config/mips/mips.c12
-rw-r--r--gcc/config/mmix/mmix.c10
-rw-r--r--gcc/config/mn10300/mn10300.c12
-rw-r--r--gcc/config/moxie/moxie.c12
-rw-r--r--gcc/config/msp430/msp430.c11
-rw-r--r--gcc/config/nds32/nds32-cost.c11
-rw-r--r--gcc/config/nds32/nds32-fp-as-gp.c11
-rw-r--r--gcc/config/nds32/nds32-intrinsic.c11
-rw-r--r--gcc/config/nds32/nds32-isr.c11
-rw-r--r--gcc/config/nds32/nds32-md-auxiliary.c11
-rw-r--r--gcc/config/nds32/nds32-memory-manipulation.c11
-rw-r--r--gcc/config/nds32/nds32-pipelines-auxiliary.c11
-rw-r--r--gcc/config/nds32/nds32-predicates.c11
-rw-r--r--gcc/config/nds32/nds32.c11
-rw-r--r--gcc/config/nios2/nios2.c17
-rw-r--r--gcc/config/nvptx/nvptx.c18
-rw-r--r--gcc/config/pa/pa.c12
-rw-r--r--gcc/config/pdp11/pdp11.c10
-rw-r--r--gcc/config/rl78/rl78.c10
-rw-r--r--gcc/config/rs6000/rs6000.c13
-rw-r--r--gcc/config/rx/rx.c10
-rw-r--r--gcc/config/s390/s390.c10
-rw-r--r--gcc/config/sh/sh-mem.cc18
-rw-r--r--gcc/config/sh/sh.c15
-rw-r--r--gcc/config/sh/sh_treg_combine.cc13
-rw-r--r--gcc/config/sparc/sparc.c11
-rw-r--r--gcc/config/spu/spu.c12
-rw-r--r--gcc/config/stormy16/stormy16.c12
-rw-r--r--gcc/config/tilegx/mul-tables.c27
-rw-r--r--gcc/config/tilegx/tilegx.c37
-rw-r--r--gcc/config/tilepro/gen-mul-tables.cc26
-rw-r--r--gcc/config/tilepro/tilepro.c37
-rw-r--r--gcc/config/v850/v850.c12
-rw-r--r--gcc/config/vax/vax.c13
-rw-r--r--gcc/config/visium/visium.c7
-rw-r--r--gcc/config/xtensa/xtensa.c12
-rw-r--r--gcc/coverage.c15
-rw-r--r--gcc/cprop.c14
-rw-r--r--gcc/cse.c15
-rw-r--r--gcc/dbxout.c13
-rw-r--r--gcc/ddg.c15
-rw-r--r--gcc/dojump.c11
-rw-r--r--gcc/dojump.h234
-rw-r--r--gcc/dse.c12
-rw-r--r--gcc/dwarf2cfi.c12
-rw-r--r--gcc/dwarf2out.c11
-rw-r--r--gcc/emit-rtl.c12
-rw-r--r--gcc/emit-rtl.h83
-rw-r--r--gcc/except.c13
-rw-r--r--gcc/explow.c66
-rw-r--r--gcc/explow.h339
-rw-r--r--gcc/expmed.c14
-rw-r--r--gcc/expmed.h32
-rw-r--r--gcc/expr.c66
-rw-r--r--gcc/expr.h331
-rw-r--r--gcc/final.c11
-rw-r--r--gcc/fold-const.c18
-rw-r--r--gcc/function.c16
-rw-r--r--gcc/gcse.c12
-rw-r--r--gcc/genemit.c16
-rw-r--r--gcc/generic-match-head.c14
-rw-r--r--gcc/gengtype.c7
-rw-r--r--gcc/genopinit.c11
-rw-r--r--gcc/genoutput.c15
-rw-r--r--gcc/gimple-fold.c23
-rw-r--r--gcc/gimple-match-head.c15
-rw-r--r--gcc/gimple-ssa-strength-reduction.c16
-rw-r--r--gcc/gimplify.c22
-rw-r--r--gcc/graphite-sese-to-poly.c15
-rw-r--r--gcc/hw-doloop.c26
-rw-r--r--gcc/ifcvt.c15
-rw-r--r--gcc/init-regs.c19
-rw-r--r--gcc/internal-fn.c22
-rw-r--r--gcc/ipa-devirt.c15
-rw-r--r--gcc/ipa-icf-gimple.c15
-rw-r--r--gcc/ipa-icf.c16
-rw-r--r--gcc/ipa-polymorphic-call.c18
-rw-r--r--gcc/ipa-prop.c17
-rw-r--r--gcc/ipa-split.c18
-rw-r--r--gcc/ira-color.c16
-rw-r--r--gcc/ira-costs.c27
-rw-r--r--gcc/ira-emit.c16
-rw-r--r--gcc/ira.c13
-rw-r--r--gcc/java/ChangeLog6
-rw-r--r--gcc/java/builtins.c14
-rw-r--r--gcc/jump.c15
-rw-r--r--gcc/loop-doloop.c22
-rw-r--r--gcc/loop-invariant.c18
-rw-r--r--gcc/loop-iv.c17
-rw-r--r--gcc/loop-unroll.c14
-rw-r--r--gcc/lower-subreg.c13
-rw-r--r--gcc/lra-assigns.c16
-rw-r--r--gcc/lra-coalesce.c15
-rw-r--r--gcc/lra-constraints.c16
-rw-r--r--gcc/lra-eliminations.c16
-rw-r--r--gcc/lra-lives.c16
-rw-r--r--gcc/lra-remat.c17
-rw-r--r--gcc/lra-spills.c15
-rw-r--r--gcc/lra.c12
-rw-r--r--gcc/lto-cgraph.c16
-rw-r--r--gcc/lto-section-in.c16
-rw-r--r--gcc/lto-section-out.c15
-rw-r--r--gcc/lto-streamer-in.c21
-rw-r--r--gcc/lto-streamer-out.c20
-rw-r--r--gcc/modulo-sched.c14
-rw-r--r--gcc/omp-low.c16
-rw-r--r--gcc/optabs.c11
-rw-r--r--gcc/passes.c11
-rw-r--r--gcc/postreload-gcse.c12
-rw-r--r--gcc/postreload.c22
-rw-r--r--gcc/predict.c12
-rw-r--r--gcc/profile.c21
-rw-r--r--gcc/recog.c15
-rw-r--r--gcc/ree.c13
-rw-r--r--gcc/reginfo.c18
-rw-r--r--gcc/reload.c32
-rw-r--r--gcc/reload1.c21
-rw-r--r--gcc/reorg.c20
-rw-r--r--gcc/rtl-chkp.c36
-rw-r--r--gcc/rtlhooks.c24
-rw-r--r--gcc/shrink-wrap.c14
-rw-r--r--gcc/simplify-rtx.c11
-rw-r--r--gcc/stack-ptr-mod.c19
-rw-r--r--gcc/stmt.c11
-rw-r--r--gcc/stmt.h14
-rw-r--r--gcc/stor-layout.c12
-rw-r--r--gcc/store-motion.c12
-rw-r--r--gcc/target-globals.c11
-rw-r--r--gcc/targhooks.c18
-rw-r--r--gcc/toplev.c11
-rw-r--r--gcc/tree-affine.c22
-rw-r--r--gcc/tree-cfg.c15
-rw-r--r--gcc/tree-cfgcleanup.c14
-rw-r--r--gcc/tree-chkp-opt.c17
-rw-r--r--gcc/tree-chkp.c18
-rw-r--r--gcc/tree-complex.c13
-rw-r--r--gcc/tree-data-ref.c21
-rw-r--r--gcc/tree-dfa.c14
-rw-r--r--gcc/tree-eh.c19
-rw-r--r--gcc/tree-if-conv.c14
-rw-r--r--gcc/tree-inline.c14
-rw-r--r--gcc/tree-into-ssa.c15
-rw-r--r--gcc/tree-nested.c15
-rw-r--r--gcc/tree-outof-ssa.c15
-rw-r--r--gcc/tree-predcom.c15
-rw-r--r--gcc/tree-pretty-print.c19
-rw-r--r--gcc/tree-scalar-evolution.c22
-rw-r--r--gcc/tree-sra.c17
-rw-r--r--gcc/tree-ssa-address.c20
-rw-r--r--gcc/tree-ssa-alias.c15
-rw-r--r--gcc/tree-ssa-copyrename.c14
-rw-r--r--gcc/tree-ssa-dce.c15
-rw-r--r--gcc/tree-ssa-dse.c16
-rw-r--r--gcc/tree-ssa-forwprop.c17
-rw-r--r--gcc/tree-ssa-live.c16
-rw-r--r--gcc/tree-ssa-loop-ivopts.c19
-rw-r--r--gcc/tree-ssa-loop-niter.c19
-rw-r--r--gcc/tree-ssa-loop-prefetch.c14
-rw-r--r--gcc/tree-ssa-math-opts.c14
-rw-r--r--gcc/tree-ssa-phiopt.c16
-rw-r--r--gcc/tree-ssa-pre.c17
-rw-r--r--gcc/tree-ssa-reassoc.c15
-rw-r--r--gcc/tree-ssa-sccvn.c17
-rw-r--r--gcc/tree-ssa-strlen.c16
-rw-r--r--gcc/tree-ssa-structalias.c12
-rw-r--r--gcc/tree-switch-conversion.c13
-rw-r--r--gcc/tree-tailcall.c16
-rw-r--r--gcc/tree-vect-data-refs.c17
-rw-r--r--gcc/tree-vect-generic.c14
-rw-r--r--gcc/tree-vect-loop.c15
-rw-r--r--gcc/tree-vect-patterns.c15
-rw-r--r--gcc/tree-vect-slp.c15
-rw-r--r--gcc/tree-vect-stmts.c16
-rw-r--r--gcc/tree-vrp.c14
-rw-r--r--gcc/tree.c13
-rw-r--r--gcc/tsan.c22
-rw-r--r--gcc/ubsan.c14
-rw-r--r--gcc/value-prof.c21
-rw-r--r--gcc/var-tracking.c13
-rw-r--r--gcc/varasm.c12
-rw-r--r--gcc/varasm.h4
227 files changed, 3935 insertions, 876 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 34f7feed1d7..4a065131c7d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,368 @@
+2015-10-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
+
+ * dojump.h: New header file.
+ * explow.h: Likewise.
+ * expr.h: Remove includes.
+ Move expmed.c prototypes to expmed.h.
+ Move dojump.c prototypes to dojump.h.
+ Move alias.c prototypes to alias.h.
+ Move explow.c prototypes to explow.h.
+ Move calls.c prototypes to calls.h.
+ Move emit-rtl.c prototypes to emit-rtl.h.
+ Move varasm.c prototypes to varasm.h.
+ Move stmt.c prototypes to stmt.h.
+ (saved_pending_stack_adjust): Move to dojump.h.
+ (adjust_address): Move to explow.h.
+ (adjust_address_nv): Move to emit-rtl.h.
+ (adjust_bitfield_address): Likewise.
+ (adjust_bitfield_address_size): Likewise.
+ (adjust_bitfield_address_nv): Likewise.
+ (adjust_automodify_address_nv): Likewise.
+ * explow.c (expr_size): Move to expr.c.
+ (int_expr_size): Likewise.
+ (tree_expr_size): Likewise.
+ Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
+ * genemit.c (main): Generate includes statistics.h, real.h, fixed-value.h,
+ insn-config.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h.
+ * genopinit.c (main): Generate includes hashtab.h, hard-reg-set.h, function.h,
+ statistics.h, real.h, fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h,
+ stmt.h.
+ * genoutput.c (main): Generate includes hashtab.h, statistics.h, real.h,
+ fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h.
+ * genemit.c (open_base_files): Generate includes flags.h, statistics.h, real.h,
+ fixed-value.h, tree.h, expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h,
+ stmt.h.
+ * config/tilepro/gen-mul-tables.cc: Generate includes hashtab.h, hash-set.h, vec.h,
+ machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h, flags.h, statistics.h,
+ double-int.h, real.h, fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h,
+ insn-config.h, expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
+ * config/tilegx/mul-tables.c: Include alias.h calls.h dojump.h
+ double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h
+ function.h hard-reg-set.h hash-set.h hashtab.h inchash.h input.h
+ insn-config.h machmode.h real.h rtl.h statistics.h stmt.h symtab.h
+ tm.h tree.h varasm.h vec.h wide-int.h.
+ * rtlhooks.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
+ explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
+ hash-set.h hashtab.h inchash.h input.h insn-config.h machmode.h
+ real.h statistics.h stmt.h tree.h varasm.h vec.h wide-int.h.
+ * cfgloopanal.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
+ explow.h expmed.h fixed-value.h flags.h inchash.h insn-config.h
+ real.h statistics.h stmt.h tree.h varasm.h wide-int.h.
+ * loop-iv.c: Likewise.
+ * lra-assigns.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
+ explow.h expmed.h fixed-value.h flags.h inchash.h real.h
+ statistics.h stmt.h tree.h varasm.h wide-int.h.
+ * lra-constraints.c: Likewise.
+ * lra-eliminations.c: Likewise.
+ * lra-lives.c: Likewise.
+ * lra-remat.c: Likewise.
+ * bt-load.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
+ explow.h expmed.h fixed-value.h inchash.h insn-config.h real.h
+ statistics.h stmt.h tree.h varasm.h wide-int.h.
+ * hw-doloop.c: Likewise.
+ * ira-color.c: Likewise.
+ * ira-emit.c: Likewise.
+ * loop-doloop.c: Likewise.
+ * loop-invariant.c: Likewise.
+ * reload.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
+ explow.h expmed.h fixed-value.h inchash.h real.h rtl.h
+ statistics.h stmt.h tree.h varasm.h wide-int.h.
+ * caller-save.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
+ explow.h expmed.h fixed-value.h inchash.h real.h statistics.h
+ stmt.h tree.h varasm.h wide-int.h.
+ * combine-stack-adj.c: Likewise.
+ * cse.c: Likewise.
+ * ddg.c: Likewise.
+ * ifcvt.c: Likewise.
+ * ira-costs.c: Likewise.
+ * jump.c: Likewise.
+ * lra-coalesce.c: Likewise.
+ * lra-spills.c: Likewise.
+ * profile.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
+ explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h
+ stmt.h varasm.h wide-int.h.
+ * lra.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
+ explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
+ varasm.h.
+ * config/sh/sh_treg_combine.cc: Include alias.h calls.h dojump.h
+ double-int.h explow.h expmed.h fixed-value.h flags.h real.h
+ statistics.h stmt.h varasm.h wide-int.h.
+ * reorg.c: Include alias.h calls.h dojump.h double-int.h explow.h
+ expmed.h fixed-value.h inchash.h real.h statistics.h stmt.h tree.h
+ varasm.h wide-int.h.
+ * reload1.c: Include alias.h calls.h dojump.h double-int.h explow.h
+ expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
+ * config/tilegx/tilegx.c: Include alias.h dojump.h double-int.h
+ emit-rtl.h explow.h expmed.h fixed-value.h flags.h real.h
+ statistics.h stmt.h.
+ * config/tilepro/tilepro.c: Likewise.
+ * config/mmix/mmix.c: Include alias.h dojump.h double-int.h emit-rtl.h
+ explow.h expmed.h fixed-value.h real.h statistics.h stmt.h.
+ * config/pdp11/pdp11.c: Likewise.
+ * config/xtensa/xtensa.c: Likewise.
+ * config/lm32/lm32.c: Include alias.h dojump.h double-int.h emit-rtl.h
+ explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
+ varasm.h.
+ * tree-chkp.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
+ insn-config.h real.h rtl.h statistics.h stmt.h tm.h.
+ * cilk-common.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
+ insn-config.h real.h rtl.h statistics.h stmt.h tm.h varasm.h.
+ * rtl-chkp.c: Likewise.
+ * tree-chkp-opt.c: Likewise.
+ * config/arm/arm-builtins.c: Include calls.h dojump.h emit-rtl.h explow.h
+ expmed.h fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
+ insn-config.h real.h statistics.h stmt.h varasm.h.
+ * ipa-icf.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
+ statistics.h stmt.h.
+ * tree-vect-data-refs.c: Likewise.
+ * graphite-sese-to-poly.c: Include calls.h dojump.h emit-rtl.h explow.h
+ expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
+ rtl.h statistics.h stmt.h varasm.h.
+ * internal-fn.c: Likewise.
+ * ipa-icf-gimple.c: Likewise.
+ * lto-section-out.c: Likewise.
+ * tree-data-ref.c: Likewise.
+ * tree-nested.c: Likewise.
+ * tree-outof-ssa.c: Likewise.
+ * tree-predcom.c: Likewise.
+ * tree-pretty-print.c: Likewise.
+ * tree-scalar-evolution.c: Likewise.
+ * tree-ssa-strlen.c: Likewise.
+ * tree-vect-loop.c: Likewise.
+ * tree-vect-patterns.c: Likewise.
+ * tree-vect-slp.c: Likewise.
+ * tree-vect-stmts.c: Likewise.
+ * tsan.c: Likewise.
+ * targhooks.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h
+ stmt.h.
+ * config/sh/sh-mem.cc: Include calls.h dojump.h emit-rtl.h explow.h
+ expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
+ statistics.h stmt.h varasm.h.
+ * loop-unroll.c: Likewise.
+ * ubsan.c: Likewise.
+ * tree-ssa-loop-prefetch.c: Include calls.h dojump.h emit-rtl.h explow.h
+ expmed.h fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h
+ stmt.h varasm.h.
+ * dse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h function.h hashtab.h statistics.h stmt.h varasm.h.
+ * tree-switch-conversion.c: Include calls.h dojump.h emit-rtl.h explow.h
+ expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
+ statistics.h stmt.h.
+ * generic-match-head.c: Include calls.h dojump.h emit-rtl.h explow.h
+ expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
+ statistics.h stmt.h varasm.h.
+ * gimple-match-head.c: Likewise.
+ * lto-cgraph.c: Likewise.
+ * lto-section-in.c: Likewise.
+ * lto-streamer-in.c: Likewise.
+ * lto-streamer-out.c: Likewise.
+ * tree-affine.c: Likewise.
+ * tree-cfg.c: Likewise.
+ * tree-cfgcleanup.c: Likewise.
+ * tree-if-conv.c: Likewise.
+ * tree-into-ssa.c: Likewise.
+ * tree-ssa-alias.c: Likewise.
+ * tree-ssa-copyrename.c: Likewise.
+ * tree-ssa-dse.c: Likewise.
+ * tree-ssa-forwprop.c: Likewise.
+ * tree-ssa-live.c: Likewise.
+ * tree-ssa-math-opts.c: Likewise.
+ * tree-ssa-pre.c: Likewise.
+ * tree-ssa-sccvn.c: Likewise.
+ * tree-tailcall.c: Likewise.
+ * tree-vect-generic.c: Likewise.
+ * tree-sra.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h hashtab.h insn-config.h real.h rtl.h stmt.h varasm.h.
+ * stor-layout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h.
+ * varasm.c: Likewise.
+ * coverage.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h
+ varasm.h.
+ * init-regs.c: Likewise.
+ * ira.c: Likewise.
+ * omp-low.c: Likewise.
+ * stack-ptr-mod.c: Likewise.
+ * tree-ssa-reassoc.c: Likewise.
+ * tree-complex.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h hashtab.h insn-config.h rtl.h statistics.h stmt.h
+ varasm.h.
+ * dwarf2cfi.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h hashtab.h insn-config.h statistics.h stmt.h varasm.h.
+ * shrink-wrap.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h.
+ * recog.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h.
+ * tree-ssa-phiopt.c: Likewise.
+ * config/darwin.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h hashtab.h real.h statistics.h stmt.h.
+ * config/fr30/fr30.c: Likewise.
+ * config/frv/frv.c: Likewise.
+ * expr.c: Likewise.
+ * final.c: Likewise.
+ * optabs.c: Likewise.
+ * passes.c: Likewise.
+ * simplify-rtx.c: Likewise.
+ * stmt.c: Likewise.
+ * toplev.c: Likewise.
+ * var-tracking.c: Likewise.
+ * gcse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
+ * lower-subreg.c: Likewise.
+ * postreload-gcse.c: Likewise.
+ * ree.c: Likewise.
+ * reginfo.c: Likewise.
+ * store-motion.c: Likewise.
+ * combine.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h hashtab.h real.h stmt.h varasm.h.
+ * emit-rtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h hashtab.h statistics.h stmt.h.
+ * dojump.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
+ * except.c: Likewise.
+ * explow.c: Likewise.
+ * tree-dfa.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h insn-config.h real.h rtl.h statistics.h stmt.h
+ varasm.h.
+ * gimple-fold.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h insn-config.h real.h rtl.h statistics.h varasm.h.
+ * tree-ssa-structalias.c: Likewise.
+ * cfgexpand.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h insn-config.h real.h statistics.h.
+ * calls.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h insn-config.h real.h statistics.h stmt.h.
+ * bb-reorder.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
+ * cfgbuild.c: Likewise.
+ * function.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h real.h rtl.h statistics.h stmt.h.
+ * cfgrtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
+ * dbxout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h real.h statistics.h stmt.h.
+ * auto-inc-dec.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h real.h statistics.h stmt.h varasm.h.
+ * cprop.c: Likewise.
+ * modulo-sched.c: Likewise.
+ * postreload.c: Likewise.
+ * ccmp.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
+ flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h
+ statistics.h stmt.h varasm.h.
+ * gimple-ssa-strength-reduction.c: Include calls.h dojump.h emit-rtl.h
+ explow.h fixed-value.h flags.h hashtab.h insn-config.h real.h
+ rtl.h statistics.h stmt.h varasm.h.
+ * tree-ssa-loop-ivopts.c: Include calls.h dojump.h emit-rtl.h explow.h
+ fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h stmt.h
+ varasm.h.
+ * expmed.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
+ function.h hard-reg-set.h hashtab.h real.h statistics.h stmt.h
+ varasm.h.
+ * target-globals.c: Include calls.h dojump.h emit-rtl.h explow.h
+ fixed-value.h function.h hashtab.h real.h statistics.h stmt.h
+ varasm.h.
+ * tree-ssa-address.c: Include calls.h dojump.h emit-rtl.h explow.h
+ fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
+ * cfgcleanup.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
+ function.h real.h statistics.h stmt.h varasm.h.
+ * alias.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
+ insn-config.h real.h statistics.h stmt.h.
+ * dwarf2out.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
+ statistics.h stmt.h.
+ * config/nvptx/nvptx.c: Include dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h flags.h hard-reg-set.h insn-config.h real.h
+ statistics.h stmt.h varasm.h.
+ * gimplify.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
+ flags.h hashtab.h insn-config.h real.h rtl.h statistics.h.
+ * asan.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
+ flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h.
+ * ipa-devirt.c: Include dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
+ statistics.h stmt.h varasm.h.
+ * ipa-polymorphic-call.c: Likewise.
+ * config/aarch64/aarch64.c: Include dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h
+ stmt.h.
+ * config/c6x/c6x.c: Likewise.
+ * config/aarch64/aarch64-builtins.c: Include dojump.h emit-rtl.h explow.h
+ expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
+ statistics.h stmt.h varasm.h.
+ * ipa-prop.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
+ hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h varasm.h.
+ * ipa-split.c: Likewise.
+ * tree-eh.c: Likewise.
+ * tree-ssa-dce.c: Likewise.
+ * tree-ssa-loop-niter.c: Likewise.
+ * tree-vrp.c: Likewise.
+ * config/nds32/nds32-cost.c: Include dojump.h emit-rtl.h explow.h
+ expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h
+ stmt.h.
+ * 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/nds32/nds32.c: Likewise.
+ * config/cris/cris.c: Include dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h hashtab.h real.h statistics.h.
+ * config/alpha/alpha.c: Include dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h hashtab.h real.h statistics.h stmt.h.
+ * config/arm/arm.c: Likewise.
+ * config/avr/avr.c: Likewise.
+ * config/bfin/bfin.c: Likewise.
+ * config/h8300/h8300.c: Likewise.
+ * config/i386/i386.c: Likewise.
+ * config/ia64/ia64.c: Likewise.
+ * config/iq2000/iq2000.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/mips/mips.c: Likewise.
+ * config/mn10300/mn10300.c: Likewise.
+ * config/moxie/moxie.c: Likewise.
+ * config/pa/pa.c: Likewise.
+ * config/rl78/rl78.c: Likewise.
+ * config/rx/rx.c: Likewise.
+ * config/s390/s390.c: Likewise.
+ * config/sh/sh.c: Likewise.
+ * config/sparc/sparc.c: Likewise.
+ * config/spu/spu.c: Likewise.
+ * config/stormy16/stormy16.c: Likewise.
+ * config/v850/v850.c: Likewise.
+ * config/vax/vax.c: Likewise.
+ * config/cr16/cr16.c: Include dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
+ * config/msp430/msp430.c: Likewise.
+ * predict.c: Likewise.
+ * value-prof.c: Likewise.
+ * config/epiphany/epiphany.c: Include dojump.h emit-rtl.h explow.h
+ expmed.h fixed-value.h hashtab.h statistics.h stmt.h.
+ * config/microblaze/microblaze.c: Likewise.
+ * config/nios2/nios2.c: Likewise.
+ * config/rs6000/rs6000.c: Likewise.
+ * tree.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
+ insn-config.h real.h rtl.h statistics.h stmt.h.
+ * cgraph.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
+ insn-config.h real.h statistics.h stmt.h.
+ * fold-const.c: Include dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
+ * tree-inline.c: Include dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
+ * builtins.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
+ real.h statistics.h stmt.h.
+ * config/arc/arc.c: Include dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h statistics.h stmt.h.
+ * config/visium/visium.c: Include dojump.h emit-rtl.h explow.h expmed.h
+ stmt.h.
+
2015-01-15 Jakub Jelinek <jakub@redhat.com>
* gengtype.c (create_user_defined_type): Workaround
diff --git a/gcc/alias.c b/gcc/alias.c
index 9261cd8eb2d..a7160f3e956 100644
--- a/gcc/alias.c
+++ b/gcc/alias.c
@@ -35,19 +35,23 @@ along with GCC; see the file COPYING3. If not see
#include "tree.h"
#include "fold-const.h"
#include "varasm.h"
-#include "expr.h"
-#include "tm_p.h"
#include "hashtab.h"
-#include "hash-set.h"
-#include "vec.h"
-#include "machmode.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
-#include "alias.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
#include "emit-rtl.h"
+#include "stmt.h"
+#include "expr.h"
+#include "tm_p.h"
#include "regs.h"
-#include "flags.h"
#include "diagnostic-core.h"
#include "cselib.h"
#include "hash-map.h"
diff --git a/gcc/asan.c b/gcc/asan.c
index 9585f6ca40d..b7c2b11ed54 100644
--- a/gcc/asan.c
+++ b/gcc/asan.c
@@ -38,7 +38,6 @@ along with GCC; see the file COPYING3. If not see
#include "predict.h"
#include "tm.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -48,7 +47,6 @@ along with GCC; see the file COPYING3. If not see
#include "internal-fn.h"
#include "gimple-expr.h"
#include "is-a.h"
-#include "inchash.h"
#include "gimple.h"
#include "gimplify.h"
#include "gimple-iterator.h"
@@ -66,6 +64,18 @@ along with GCC; see the file COPYING3. If not see
#include "asan.h"
#include "gimple-pretty-print.h"
#include "target.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
diff --git a/gcc/auto-inc-dec.c b/gcc/auto-inc-dec.c
index 50258d5b8f8..7e3dd89affe 100644
--- a/gcc/auto-inc-dec.c
+++ b/gcc/auto-inc-dec.c
@@ -36,11 +36,7 @@ along with GCC; see the file COPYING3. If not see
#include "tm_p.h"
#include "hard-reg-set.h"
#include "predict.h"
-#include "vec.h"
#include "hashtab.h"
-#include "hash-set.h"
-#include "machmode.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -52,6 +48,16 @@ along with GCC; see the file COPYING3. If not see
#include "except.h"
#include "diagnostic-core.h"
#include "recog.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-pass.h"
#include "df.h"
diff --git a/gcc/bb-reorder.c b/gcc/bb-reorder.c
index 0b99db15db5..c2a3be3255a 100644
--- a/gcc/bb-reorder.c
+++ b/gcc/bb-reorder.c
@@ -98,14 +98,21 @@
#include "output.h"
#include "target.h"
#include "hashtab.h"
-#include "hash-set.h"
-#include "vec.h"
-#include "machmode.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "tm_p.h"
#include "obstack.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "optabs.h"
#include "params.h"
diff --git a/gcc/bt-load.c b/gcc/bt-load.c
index 5030aae79b7..c028281ef3f 100644
--- a/gcc/bt-load.c
+++ b/gcc/bt-load.c
@@ -27,15 +27,31 @@ along with GCC; see the file COPYING3. If not see
#include "regs.h"
#include "target.h"
#include "symtab.h"
-#include "expr.h"
-#include "flags.h"
-#include "insn-attr.h"
#include "hashtab.h"
#include "hash-set.h"
#include "vec.h"
#include "machmode.h"
#include "input.h"
#include "function.h"
+#include "flags.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "wide-int.h"
+#include "inchash.h"
+#include "tree.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
+#include "expr.h"
+#include "insn-attr.h"
#include "except.h"
#include "tm_p.h"
#include "diagnostic-core.h"
diff --git a/gcc/builtins.c b/gcc/builtins.c
index 23d183a1c25..737023b3a92 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -24,7 +24,6 @@ along with GCC; see the file COPYING3. If not see
#include "machmode.h"
#include "rtl.h"
#include "hash-set.h"
-#include "machmode.h"
#include "vec.h"
#include "double-int.h"
#include "input.h"
@@ -41,11 +40,8 @@ along with GCC; see the file COPYING3. If not see
#include "tree-object-size.h"
#include "realmpfr.h"
#include "predict.h"
-#include "vec.h"
#include "hashtab.h"
-#include "hash-set.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "cfgrtl.h"
#include "basic-block.h"
@@ -58,6 +54,14 @@ along with GCC; see the file COPYING3. If not see
#include "regs.h"
#include "except.h"
#include "insn-config.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
diff --git a/gcc/caller-save.c b/gcc/caller-save.c
index 82003a9c655..3b01941d116 100644
--- a/gcc/caller-save.c
+++ b/gcc/caller-save.c
@@ -40,6 +40,21 @@ along with GCC; see the file COPYING3. If not see
#include "df.h"
#include "reload.h"
#include "symtab.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "wide-int.h"
+#include "inchash.h"
+#include "tree.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "diagnostic-core.h"
#include "tm_p.h"
diff --git a/gcc/calls.c b/gcc/calls.c
index 36aa19feaaa..1c2f0adfa23 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -38,12 +38,8 @@ along with GCC; see the file COPYING3. If not see
#include "stringpool.h"
#include "attribs.h"
#include "predict.h"
-#include "vec.h"
#include "hashtab.h"
-#include "hash-set.h"
-#include "machmode.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "basic-block.h"
#include "tree-ssa-alias.h"
@@ -52,6 +48,16 @@ along with GCC; see the file COPYING3. If not see
#include "is-a.h"
#include "gimple.h"
#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
diff --git a/gcc/calls.h b/gcc/calls.h
index 4e65d54bf64..fc8458c27a2 100644
--- a/gcc/calls.h
+++ b/gcc/calls.h
@@ -27,5 +27,11 @@ extern bool gimple_alloca_call_p (const_gimple);
extern bool alloca_call_p (const_tree);
extern bool must_pass_in_stack_var_size (machine_mode, const_tree);
extern bool must_pass_in_stack_var_size_or_pad (machine_mode, const_tree);
+extern rtx prepare_call_address (tree, rtx, rtx, rtx *, int, int);
+extern bool shift_return_value (machine_mode, bool, rtx);
+extern rtx expand_call (tree, rtx, int);
+extern void fixup_tail_calls (void);
+
+
#endif // GCC_CALLS_H
diff --git a/gcc/ccmp.c b/gcc/ccmp.c
index 3216669dad7..1130329ab30 100644
--- a/gcc/ccmp.c
+++ b/gcc/ccmp.c
@@ -37,6 +37,21 @@ along with GCC; see the file COPYING3. If not see
#include "stringpool.h"
#include "stor-layout.h"
#include "regs.h"
+#include "hashtab.h"
+#include "hard-reg-set.h"
+#include "function.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
@@ -60,7 +75,6 @@ along with GCC; see the file COPYING3. If not see
#include "cfgexpand.h"
#include "tree-phinodes.h"
#include "ssa-iterators.h"
-#include "expmed.h"
#include "ccmp.h"
/* The following functions expand conditional compare (CCMP) instructions.
diff --git a/gcc/cfgbuild.c b/gcc/cfgbuild.c
index c26abbf4e64..7cbed500632 100644
--- a/gcc/cfgbuild.c
+++ b/gcc/cfgbuild.c
@@ -35,11 +35,7 @@ along with GCC; see the file COPYING3. If not see
#include "rtl.h"
#include "hard-reg-set.h"
#include "predict.h"
-#include "vec.h"
#include "hashtab.h"
-#include "hash-set.h"
-#include "machmode.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -50,6 +46,17 @@ along with GCC; see the file COPYING3. If not see
#include "regs.h"
#include "flags.h"
#include "except.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "diagnostic-core.h"
#include "timevar.h"
diff --git a/gcc/cfgcleanup.c b/gcc/cfgcleanup.c
index f26458e3680..cee152e90ce 100644
--- a/gcc/cfgcleanup.c
+++ b/gcc/cfgcleanup.c
@@ -55,14 +55,20 @@ along with GCC; see the file COPYING3. If not see
#include "tm_p.h"
#include "target.h"
#include "hashtab.h"
-#include "hash-set.h"
-#include "vec.h"
-#include "machmode.h"
-#include "input.h"
#include "function.h" /* For inline functions in emit-rtl.h they need crtl. */
#include "emit-rtl.h"
#include "tree-pass.h"
#include "cfgloop.h"
+#include "function.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "dominance.h"
#include "cfg.h"
@@ -75,7 +81,6 @@ along with GCC; see the file COPYING3. If not see
#include "df.h"
#include "dce.h"
#include "dbgcnt.h"
-#include "emit-rtl.h"
#include "rtl-iter.h"
#define FORWARDER_BLOCK_P(BB) ((BB)->flags & BB_FORWARDER_BLOCK)
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c
index c8eae425af8..4df973bd00c 100644
--- a/gcc/cfgexpand.c
+++ b/gcc/cfgexpand.c
@@ -41,11 +41,7 @@ along with GCC; see the file COPYING3. If not see
#include "print-tree.h"
#include "tm_p.h"
#include "predict.h"
-#include "vec.h"
#include "hashtab.h"
-#include "hash-set.h"
-#include "machmode.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -56,6 +52,16 @@ along with GCC; see the file COPYING3. If not see
#include "basic-block.h"
#include "insn-codes.h"
#include "optabs.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
#include "expr.h"
#include "langhooks.h"
#include "bitmap.h"
@@ -80,7 +86,6 @@ along with GCC; see the file COPYING3. If not see
#include "tree-ssa.h"
#include "tree-pass.h"
#include "except.h"
-#include "flags.h"
#include "diagnostic.h"
#include "gimple-pretty-print.h"
#include "toplev.h"
diff --git a/gcc/cfgloopanal.c b/gcc/cfgloopanal.c
index 444e259babf..8b05b4da090 100644
--- a/gcc/cfgloopanal.c
+++ b/gcc/cfgloopanal.c
@@ -36,6 +36,23 @@ along with GCC; see the file COPYING3. If not see
#include "basic-block.h"
#include "cfgloop.h"
#include "symtab.h"
+#include "flags.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "wide-int.h"
+#include "inchash.h"
+#include "tree.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "graphds.h"
#include "params.h"
diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c
index f20fa7a69a9..0e27eddd5a9 100644
--- a/gcc/cfgrtl.c
+++ b/gcc/cfgrtl.c
@@ -71,6 +71,17 @@ along with GCC; see the file COPYING3. If not see
#include "obstack.h"
#include "insn-attr.h"
#include "insn-config.h"
+#include "rtl.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "target.h"
#include "common/common-target.h"
diff --git a/gcc/cgraph.c b/gcc/cgraph.c
index f3f7fece0c0..1a06cadeb53 100644
--- a/gcc/cgraph.c
+++ b/gcc/cgraph.c
@@ -44,7 +44,6 @@ along with GCC; see the file COPYING3. If not see
#include "tree-inline.h"
#include "langhooks.h"
#include "hashtab.h"
-#include "hash-set.h"
#include "toplev.h"
#include "flags.h"
#include "debug.h"
@@ -56,10 +55,7 @@ along with GCC; see the file COPYING3. If not see
#include "hash-map.h"
#include "is-a.h"
#include "plugin-api.h"
-#include "vec.h"
-#include "machmode.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "ipa-ref.h"
#include "cgraph.h"
@@ -87,6 +83,15 @@ along with GCC; see the file COPYING3. If not see
#include "ipa-inline.h"
#include "cfgloop.h"
#include "gimple-pretty-print.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-dfa.h"
#include "profile.h"
diff --git a/gcc/cilk-common.c b/gcc/cilk-common.c
index 36d023a712e..ab097c41df7 100644
--- a/gcc/cilk-common.c
+++ b/gcc/cilk-common.c
@@ -38,6 +38,23 @@ along with GCC; see the file COPYING3. If not see
#include "stringpool.h"
#include "stor-layout.h"
#include "langhooks.h"
+#include "hashtab.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "function.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
diff --git a/gcc/combine-stack-adj.c b/gcc/combine-stack-adj.c
index 4c98f0082de..83cdfaefe8d 100644
--- a/gcc/combine-stack-adj.c
+++ b/gcc/combine-stack-adj.c
@@ -56,6 +56,21 @@ along with GCC; see the file COPYING3. If not see
#include "input.h"
#include "function.h"
#include "symtab.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "wide-int.h"
+#include "inchash.h"
+#include "tree.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "predict.h"
#include "dominance.h"
diff --git a/gcc/combine.c b/gcc/combine.c
index 101cf3593c3..597aa8035ff 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -96,7 +96,6 @@ along with GCC; see the file COPYING3. If not see
#include "regs.h"
#include "hard-reg-set.h"
#include "predict.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -105,6 +104,17 @@ along with GCC; see the file COPYING3. If not see
#include "basic-block.h"
#include "insn-config.h"
/* Include expr.h after insn-config.h so we get HAVE_conditional_move. */
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-attr.h"
#include "recog.h"
@@ -123,8 +133,6 @@ along with GCC; see the file COPYING3. If not see
#include "ipa-ref.h"
#include "cgraph.h"
#include "obstack.h"
-#include "statistics.h"
-#include "params.h"
#include "rtl-iter.h"
/* Number of attempts to combine instructions in this function. */
diff --git a/gcc/config/aarch64/aarch64-builtins.c b/gcc/config/aarch64/aarch64-builtins.c
index f45169e3c5f..87f1ac2ec1e 100644
--- a/gcc/config/aarch64/aarch64-builtins.c
+++ b/gcc/config/aarch64/aarch64-builtins.c
@@ -37,6 +37,20 @@
#include "stor-layout.h"
#include "stringpool.h"
#include "calls.h"
+#include "hashtab.h"
+#include "hard-reg-set.h"
+#include "function.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tm_p.h"
#include "recog.h"
@@ -45,12 +59,8 @@
#include "insn-codes.h"
#include "optabs.h"
#include "hash-table.h"
-#include "vec.h"
#include "ggc.h"
#include "predict.h"
-#include "hard-reg-set.h"
-#include "input.h"
-#include "function.h"
#include "dominance.h"
#include "cfg.h"
#include "cfgrtl.h"
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index 1151c8b7e01..e1eb3258b2f 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -53,6 +53,18 @@
#include "df.h"
#include "hard-reg-set.h"
#include "output.h"
+#include "hashtab.h"
+#include "function.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "reload.h"
#include "toplev.h"
@@ -60,8 +72,6 @@
#include "target-def.h"
#include "targhooks.h"
#include "ggc.h"
-#include "input.h"
-#include "function.h"
#include "tm_p.h"
#include "recog.h"
#include "langhooks.h"
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c
index afb49bb514a..0c0df684dcc 100644
--- a/gcc/config/alpha/alpha.c
+++ b/gcc/config/alpha/alpha.c
@@ -46,14 +46,22 @@ along with GCC; see the file COPYING3. If not see
#include "insn-attr.h"
#include "flags.h"
#include "recog.h"
+#include "hashtab.h"
+#include "function.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
#include "reload.h"
#include "obstack.h"
#include "except.h"
-#include "input.h"
-#include "function.h"
#include "diagnostic-core.h"
#include "ggc.h"
#include "tm_p.h"
diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c
index efba8a31b76..ab00ed2a70d 100644
--- a/gcc/config/arc/arc.c
+++ b/gcc/config/arc/arc.c
@@ -55,10 +55,6 @@ along with GCC; see the file COPYING3. If not see
#include "conditions.h"
#include "insn-flags.h"
#include "hashtab.h"
-#include "hash-set.h"
-#include "vec.h"
-#include "machmode.h"
-#include "input.h"
#include "function.h"
#include "toplev.h"
#include "ggc.h"
@@ -67,6 +63,13 @@ along with GCC; see the file COPYING3. If not see
#include "output.h"
#include "insn-attr.h"
#include "flags.h"
+#include "statistics.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "recog.h"
#include "debug.h"
@@ -89,7 +92,6 @@ along with GCC; see the file COPYING3. If not see
#include "tree-pass.h"
#include "context.h"
#include "pass_manager.h"
-#include "wide-int.h"
#include "builtins.h"
#include "rtl-iter.h"
diff --git a/gcc/config/arm/arm-builtins.c b/gcc/config/arm/arm-builtins.c
index 739369dfe61..37f27d74694 100644
--- a/gcc/config/arm/arm-builtins.c
+++ b/gcc/config/arm/arm-builtins.c
@@ -34,6 +34,21 @@
#include "tree.h"
#include "fold-const.h"
#include "stor-layout.h"
+#include "hashtab.h"
+#include "hard-reg-set.h"
+#include "function.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tm_p.h"
#include "recog.h"
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 237211a1f6d..a92b0080669 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -50,8 +50,16 @@
#include "insn-attr.h"
#include "flags.h"
#include "reload.h"
-#include "input.h"
#include "function.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c
index 66406be58d4..c7074f07904 100644
--- a/gcc/config/avr/avr.c
+++ b/gcc/config/avr/avr.c
@@ -48,12 +48,20 @@
#include "stor-layout.h"
#include "stringpool.h"
#include "output.h"
+#include "hashtab.h"
+#include "function.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "c-family/c-common.h"
#include "diagnostic-core.h"
#include "obstack.h"
-#include "input.h"
-#include "function.h"
#include "recog.h"
#include "optabs.h"
#include "ggc.h"
diff --git a/gcc/config/bfin/bfin.c b/gcc/config/bfin/bfin.c
index bebbce31721..1868c53b05f 100644
--- a/gcc/config/bfin/bfin.c
+++ b/gcc/config/bfin/bfin.c
@@ -46,10 +46,18 @@
#include "calls.h"
#include "flags.h"
#include "except.h"
-#include "input.h"
#include "function.h"
#include "target.h"
#include "target-def.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "diagnostic-core.h"
#include "recog.h"
diff --git a/gcc/config/c6x/c6x.c b/gcc/config/c6x/c6x.c
index fff0b847e85..03f6b3f3f29 100644
--- a/gcc/config/c6x/c6x.c
+++ b/gcc/config/c6x/c6x.c
@@ -43,6 +43,19 @@
#include "output.h"
#include "insn-attr.h"
#include "insn-codes.h"
+#include "hashtab.h"
+#include "hard-reg-set.h"
+#include "function.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "regs.h"
#include "optabs.h"
@@ -63,9 +76,6 @@
#include "tm-preds.h"
#include "tm-constrs.h"
#include "df.h"
-#include "hard-reg-set.h"
-#include "input.h"
-#include "function.h"
#include "diagnostic-core.h"
#include "hash-map.h"
#include "is-a.h"
diff --git a/gcc/config/cr16/cr16.c b/gcc/config/cr16/cr16.c
index 213dc368f85..47468b1bbdf 100644
--- a/gcc/config/cr16/cr16.c
+++ b/gcc/config/cr16/cr16.c
@@ -46,9 +46,18 @@
#include "insn-attr.h"
#include "flags.h"
#include "except.h"
-#include "input.h"
#include "function.h"
#include "recog.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "optabs.h"
#include "diagnostic-core.h"
diff --git a/gcc/config/cris/cris.c b/gcc/config/cris/cris.c
index 15dcca22eb6..650402e422e 100644
--- a/gcc/config/cris/cris.c
+++ b/gcc/config/cris/cris.c
@@ -44,10 +44,17 @@ along with GCC; see the file COPYING3. If not see
#include "stor-layout.h"
#include "calls.h"
#include "stmt.h"
+#include "hashtab.h"
+#include "function.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
#include "expr.h"
#include "except.h"
-#include "input.h"
-#include "function.h"
#include "diagnostic-core.h"
#include "recog.h"
#include "reload.h"
diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c
index c12a17ca7db..896f2ad23da 100644
--- a/gcc/config/darwin.c
+++ b/gcc/config/darwin.c
@@ -45,10 +45,19 @@ along with GCC; see the file COPYING3. If not see
#include "stringpool.h"
#include "varasm.h"
#include "stor-layout.h"
+#include "hashtab.h"
+#include "function.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "reload.h"
-#include "input.h"
-#include "function.h"
#include "ggc.h"
#include "langhooks.h"
#include "target.h"
diff --git a/gcc/config/epiphany/epiphany.c b/gcc/config/epiphany/epiphany.c
index 102acc99cc5..12aac13c268 100644
--- a/gcc/config/epiphany/epiphany.c
+++ b/gcc/config/epiphany/epiphany.c
@@ -46,10 +46,17 @@ along with GCC; see the file COPYING3. If not see
#include "output.h"
#include "insn-attr.h"
#include "flags.h"
-#include "input.h"
#include "function.h"
#include "insn-codes.h"
#include "optabs.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "diagnostic-core.h"
#include "recog.h"
@@ -67,7 +74,6 @@ along with GCC; see the file COPYING3. If not see
#include "basic-block.h"
#include "df.h"
#include "langhooks.h"
-#include "insn-codes.h"
#include "ggc.h"
#include "tm-constrs.h"
#include "tree-pass.h" /* for current_pass */
diff --git a/gcc/config/fr30/fr30.c b/gcc/config/fr30/fr30.c
index 2c00ff5a4d7..55fc0781863 100644
--- a/gcc/config/fr30/fr30.c
+++ b/gcc/config/fr30/fr30.c
@@ -46,11 +46,20 @@
#include "stor-layout.h"
#include "varasm.h"
#include "output.h"
+#include "hashtab.h"
+#include "function.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "obstack.h"
#include "except.h"
-#include "input.h"
-#include "function.h"
#include "dominance.h"
#include "cfg.h"
#include "cfgrtl.h"
diff --git a/gcc/config/frv/frv.c b/gcc/config/frv/frv.c
index eb1ef534fb0..4105fb36ec1 100644
--- a/gcc/config/frv/frv.c
+++ b/gcc/config/frv/frv.c
@@ -46,11 +46,20 @@ along with GCC; see the file COPYING3. If not see
#include "flags.h"
#include "recog.h"
#include "reload.h"
+#include "hashtab.h"
+#include "function.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "obstack.h"
#include "except.h"
-#include "input.h"
-#include "function.h"
#include "insn-codes.h"
#include "optabs.h"
#include "diagnostic-core.h"
diff --git a/gcc/config/h8300/h8300.c b/gcc/config/h8300/h8300.c
index 720e0e464ef..5968e5572b9 100644
--- a/gcc/config/h8300/h8300.c
+++ b/gcc/config/h8300/h8300.c
@@ -46,9 +46,17 @@ along with GCC; see the file COPYING3. If not see
#include "insn-attr.h"
#include "flags.h"
#include "recog.h"
-#include "expr.h"
-#include "input.h"
+#include "hashtab.h"
#include "function.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
+#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
#include "diagnostic-core.h"
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index f358ac23152..3fa7842c68c 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -48,9 +48,17 @@ along with GCC; see the file COPYING3. If not see
#include "insn-attr.h"
#include "flags.h"
#include "except.h"
-#include "input.h"
#include "function.h"
#include "recog.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "optabs.h"
#include "diagnostic-core.h"
@@ -97,7 +105,6 @@ along with GCC; see the file COPYING3. If not see
#include "diagnostic.h"
#include "dumpfile.h"
#include "tree-pass.h"
-#include "wide-int.h"
#include "context.h"
#include "pass_manager.h"
#include "target-globals.h"
diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c
index 40f1ae48a1b..6ef22d99705 100644
--- a/gcc/config/ia64/ia64.c
+++ b/gcc/config/ia64/ia64.c
@@ -47,12 +47,20 @@ along with GCC; see the file COPYING3. If not see
#include "insn-attr.h"
#include "flags.h"
#include "recog.h"
+#include "hashtab.h"
+#include "function.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
#include "except.h"
-#include "input.h"
-#include "function.h"
#include "ggc.h"
#include "predict.h"
#include "dominance.h"
diff --git a/gcc/config/iq2000/iq2000.c b/gcc/config/iq2000/iq2000.c
index 8d2b44fe0f2..86bcaa6b4bc 100644
--- a/gcc/config/iq2000/iq2000.c
+++ b/gcc/config/iq2000/iq2000.c
@@ -43,8 +43,16 @@ along with GCC; see the file COPYING3. If not see
#include "output.h"
#include "insn-attr.h"
#include "flags.h"
-#include "input.h"
#include "function.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
diff --git a/gcc/config/lm32/lm32.c b/gcc/config/lm32/lm32.c
index ae995cf0e0b..b13329721a4 100644
--- a/gcc/config/lm32/lm32.c
+++ b/gcc/config/lm32/lm32.c
@@ -54,8 +54,19 @@
#include "tree.h"
#include "fold-const.h"
#include "calls.h"
-#include "expr.h"
#include "flags.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
+#include "expr.h"
#include "reload.h"
#include "tm_p.h"
#include "diagnostic-core.h"
diff --git a/gcc/config/m32c/m32c.c b/gcc/config/m32c/m32c.c
index 817650cc342..ffdeee0d08c 100644
--- a/gcc/config/m32c/m32c.c
+++ b/gcc/config/m32c/m32c.c
@@ -49,12 +49,20 @@
#include "stor-layout.h"
#include "varasm.h"
#include "calls.h"
+#include "hashtab.h"
+#include "function.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
#include "except.h"
-#include "input.h"
-#include "function.h"
#include "ggc.h"
#include "target.h"
#include "target-def.h"
diff --git a/gcc/config/m32r/m32r.c b/gcc/config/m32r/m32r.c
index 31021fce848..f9c0493fda8 100644
--- a/gcc/config/m32r/m32r.c
+++ b/gcc/config/m32r/m32r.c
@@ -44,9 +44,17 @@
#include "dbxout.h"
#include "insn-attr.h"
#include "flags.h"
-#include "expr.h"
-#include "input.h"
+#include "hashtab.h"
#include "function.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
+#include "expr.h"
#include "recog.h"
#include "diagnostic-core.h"
#include "ggc.h"
diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c
index 6dcb6a20c01..fb82105a9a7 100644
--- a/gcc/config/m68k/m68k.c
+++ b/gcc/config/m68k/m68k.c
@@ -37,7 +37,6 @@ along with GCC; see the file COPYING3. If not see
#include "varasm.h"
#include "rtl.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "regs.h"
#include "insn-config.h"
@@ -46,13 +45,22 @@ along with GCC; see the file COPYING3. If not see
#include "insn-attr.h"
#include "recog.h"
#include "diagnostic-core.h"
+#include "hashtab.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "reload.h"
#include "tm_p.h"
#include "target.h"
#include "target-def.h"
#include "debug.h"
-#include "flags.h"
#include "dominance.h"
#include "cfg.h"
#include "cfgrtl.h"
diff --git a/gcc/config/mcore/mcore.c b/gcc/config/mcore/mcore.c
index d3a488594e0..868b1ed43f0 100644
--- a/gcc/config/mcore/mcore.c
+++ b/gcc/config/mcore/mcore.c
@@ -47,11 +47,19 @@
#include "insn-attr.h"
#include "flags.h"
#include "obstack.h"
+#include "hashtab.h"
+#include "function.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "reload.h"
#include "recog.h"
-#include "input.h"
-#include "function.h"
#include "ggc.h"
#include "diagnostic-core.h"
#include "target.h"
diff --git a/gcc/config/mep/mep.c b/gcc/config/mep/mep.c
index 9e8884983ff..251e69cbe43 100644
--- a/gcc/config/mep/mep.c
+++ b/gcc/config/mep/mep.c
@@ -48,11 +48,18 @@ along with GCC; see the file COPYING3. If not see
#include "flags.h"
#include "recog.h"
#include "obstack.h"
-#include "tree.h"
+#include "hashtab.h"
+#include "function.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "except.h"
-#include "input.h"
-#include "function.h"
#include "insn-codes.h"
#include "optabs.h"
#include "reload.h"
diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
index bf0a4d8e49e..8ef40df7349 100644
--- a/gcc/config/microblaze/microblaze.c
+++ b/gcc/config/microblaze/microblaze.c
@@ -45,10 +45,17 @@
#include "varasm.h"
#include "stor-layout.h"
#include "calls.h"
-#include "input.h"
#include "function.h"
-#include "expr.h"
+#include "hashtab.h"
#include "flags.h"
+#include "statistics.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
+#include "expr.h"
#include "reload.h"
#include "output.h"
#include "ggc.h"
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index 00801bb3ce8..443a71216e7 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -48,13 +48,21 @@ along with GCC; see the file COPYING3. If not see
#include "stringpool.h"
#include "stor-layout.h"
#include "calls.h"
-#include "input.h"
#include "function.h"
+#include "hashtab.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
#include "libfuncs.h"
-#include "flags.h"
#include "reload.h"
#include "tm_p.h"
#include "ggc.h"
diff --git a/gcc/config/mmix/mmix.c b/gcc/config/mmix/mmix.c
index 1849c7fbc1d..23364005fbe 100644
--- a/gcc/config/mmix/mmix.c
+++ b/gcc/config/mmix/mmix.c
@@ -50,6 +50,16 @@ along with GCC; see the file COPYING3. If not see
#include "varasm.h"
#include "stor-layout.h"
#include "calls.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "diagnostic-core.h"
#include "recog.h"
diff --git a/gcc/config/mn10300/mn10300.c b/gcc/config/mn10300/mn10300.c
index b65deeaf1b4..58c97e8cf7d 100644
--- a/gcc/config/mn10300/mn10300.c
+++ b/gcc/config/mn10300/mn10300.c
@@ -45,11 +45,19 @@
#include "flags.h"
#include "recog.h"
#include "reload.h"
+#include "hashtab.h"
+#include "function.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
-#include "input.h"
-#include "function.h"
#include "obstack.h"
#include "diagnostic-core.h"
#include "tm_p.h"
diff --git a/gcc/config/moxie/moxie.c b/gcc/config/moxie/moxie.c
index c178777d4dc..2450a827a63 100644
--- a/gcc/config/moxie/moxie.c
+++ b/gcc/config/moxie/moxie.c
@@ -48,12 +48,20 @@
#include "stor-layout.h"
#include "varasm.h"
#include "calls.h"
+#include "hashtab.h"
+#include "function.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
#include "except.h"
-#include "input.h"
-#include "function.h"
#include "ggc.h"
#include "target.h"
#include "target-def.h"
diff --git a/gcc/config/msp430/msp430.c b/gcc/config/msp430/msp430.c
index 53172175f75..35d2a7dfe4b 100644
--- a/gcc/config/msp430/msp430.c
+++ b/gcc/config/msp430/msp430.c
@@ -43,8 +43,17 @@
#include "output.h"
#include "insn-attr.h"
#include "flags.h"
-#include "input.h"
#include "function.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
diff --git a/gcc/config/nds32/nds32-cost.c b/gcc/config/nds32/nds32-cost.c
index 9c8b57974cf..c6ec5ab845a 100644
--- a/gcc/config/nds32/nds32-cost.c
+++ b/gcc/config/nds32/nds32-cost.c
@@ -47,8 +47,17 @@
#include "insn-codes.h" /* For CODE_FOR_xxx. */
#include "reload.h" /* For push_reload(). */
#include "flags.h"
-#include "input.h"
#include "function.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "recog.h"
#include "diagnostic-core.h"
diff --git a/gcc/config/nds32/nds32-fp-as-gp.c b/gcc/config/nds32/nds32-fp-as-gp.c
index 4732714b9a9..e7b7c7071b1 100644
--- a/gcc/config/nds32/nds32-fp-as-gp.c
+++ b/gcc/config/nds32/nds32-fp-as-gp.c
@@ -47,8 +47,17 @@
#include "insn-codes.h" /* For CODE_FOR_xxx. */
#include "reload.h" /* For push_reload(). */
#include "flags.h"
-#include "input.h"
#include "function.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "recog.h"
#include "diagnostic-core.h"
diff --git a/gcc/config/nds32/nds32-intrinsic.c b/gcc/config/nds32/nds32-intrinsic.c
index 8815179c7ca..9f0851d9f77 100644
--- a/gcc/config/nds32/nds32-intrinsic.c
+++ b/gcc/config/nds32/nds32-intrinsic.c
@@ -47,8 +47,17 @@
#include "insn-codes.h" /* For CODE_FOR_xxx. */
#include "reload.h" /* For push_reload(). */
#include "flags.h"
-#include "input.h"
#include "function.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "recog.h"
#include "diagnostic-core.h"
diff --git a/gcc/config/nds32/nds32-isr.c b/gcc/config/nds32/nds32-isr.c
index bf2d659a301..1896fde9f1e 100644
--- a/gcc/config/nds32/nds32-isr.c
+++ b/gcc/config/nds32/nds32-isr.c
@@ -47,8 +47,17 @@
#include "insn-codes.h" /* For CODE_FOR_xxx. */
#include "reload.h" /* For push_reload(). */
#include "flags.h"
-#include "input.h"
#include "function.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "recog.h"
#include "diagnostic-core.h"
diff --git a/gcc/config/nds32/nds32-md-auxiliary.c b/gcc/config/nds32/nds32-md-auxiliary.c
index 374f1150fe1..2f4927731be 100644
--- a/gcc/config/nds32/nds32-md-auxiliary.c
+++ b/gcc/config/nds32/nds32-md-auxiliary.c
@@ -48,8 +48,17 @@
#include "insn-codes.h" /* For CODE_FOR_xxx. */
#include "reload.h" /* For push_reload(). */
#include "flags.h"
-#include "input.h"
#include "function.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "recog.h"
#include "diagnostic-core.h"
diff --git a/gcc/config/nds32/nds32-memory-manipulation.c b/gcc/config/nds32/nds32-memory-manipulation.c
index 0bf8101cfd7..2f333371d78 100644
--- a/gcc/config/nds32/nds32-memory-manipulation.c
+++ b/gcc/config/nds32/nds32-memory-manipulation.c
@@ -48,8 +48,17 @@
#include "insn-codes.h" /* For CODE_FOR_xxx. */
#include "reload.h" /* For push_reload(). */
#include "flags.h"
-#include "input.h"
#include "function.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "recog.h"
#include "diagnostic-core.h"
diff --git a/gcc/config/nds32/nds32-pipelines-auxiliary.c b/gcc/config/nds32/nds32-pipelines-auxiliary.c
index 55030b1307c..6cc95939d2f 100644
--- a/gcc/config/nds32/nds32-pipelines-auxiliary.c
+++ b/gcc/config/nds32/nds32-pipelines-auxiliary.c
@@ -48,8 +48,17 @@
#include "insn-codes.h" /* For CODE_FOR_xxx. */
#include "reload.h" /* For push_reload(). */
#include "flags.h"
-#include "input.h"
#include "function.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "recog.h"
#include "diagnostic-core.h"
diff --git a/gcc/config/nds32/nds32-predicates.c b/gcc/config/nds32/nds32-predicates.c
index 7e5ecc0fb5d..209b25f4c74 100644
--- a/gcc/config/nds32/nds32-predicates.c
+++ b/gcc/config/nds32/nds32-predicates.c
@@ -47,8 +47,17 @@
#include "insn-codes.h" /* For CODE_FOR_xxx. */
#include "reload.h" /* For push_reload(). */
#include "flags.h"
-#include "input.h"
#include "function.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "recog.h"
#include "diagnostic-core.h"
diff --git a/gcc/config/nds32/nds32.c b/gcc/config/nds32/nds32.c
index 227052e3ac6..f7d5e706e56 100644
--- a/gcc/config/nds32/nds32.c
+++ b/gcc/config/nds32/nds32.c
@@ -47,8 +47,17 @@
#include "insn-codes.h" /* For CODE_FOR_xxx. */
#include "reload.h" /* For push_reload(). */
#include "flags.h"
-#include "input.h"
#include "function.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "recog.h"
#include "diagnostic-core.h"
diff --git a/gcc/config/nios2/nios2.c b/gcc/config/nios2/nios2.c
index a078a5ef620..06c9d007537 100644
--- a/gcc/config/nios2/nios2.c
+++ b/gcc/config/nios2/nios2.c
@@ -44,11 +44,21 @@
#include "insn-attr.h"
#include "flags.h"
#include "recog.h"
+#include "hashtab.h"
+#include "function.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
-#include "input.h"
-#include "function.h"
#include "ggc.h"
#include "predict.h"
#include "dominance.h"
@@ -67,11 +77,8 @@
#include "langhooks.h"
#include "df.h"
#include "debug.h"
-#include "real.h"
#include "reload.h"
#include "stor-layout.h"
-#include "varasm.h"
-#include "calls.h"
#include "builtins.h"
/* Forward function declarations. */
diff --git a/gcc/config/nvptx/nvptx.c b/gcc/config/nvptx/nvptx.c
index 9e74ee39bf4..7cfe5505e71 100644
--- a/gcc/config/nvptx/nvptx.c
+++ b/gcc/config/nvptx/nvptx.c
@@ -38,6 +38,21 @@
#include "output.h"
#include "insn-attr.h"
#include "insn-codes.h"
+#include "hashtab.h"
+#include "hard-reg-set.h"
+#include "function.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "regs.h"
#include "optabs.h"
@@ -47,7 +62,6 @@
#include "tm_p.h"
#include "tm-preds.h"
#include "tm-constrs.h"
-#include "function.h"
#include "langhooks.h"
#include "dbxout.h"
#include "target.h"
@@ -57,10 +71,8 @@
#include "basic-block.h"
#include "cfgrtl.h"
#include "stor-layout.h"
-#include "calls.h"
#include "df.h"
#include "builtins.h"
-#include "hashtab.h"
/* Record the function decls we've written, and the libfuncs and function
decls corresponding to them. */
diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c
index 3c39df2fbe0..a568b2ff3de 100644
--- a/gcc/config/pa/pa.c
+++ b/gcc/config/pa/pa.c
@@ -47,12 +47,20 @@ along with GCC; see the file COPYING3. If not see
#include "output.h"
#include "dbxout.h"
#include "except.h"
+#include "hashtab.h"
+#include "function.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
#include "reload.h"
-#include "input.h"
-#include "function.h"
#include "diagnostic-core.h"
#include "ggc.h"
#include "recog.h"
diff --git a/gcc/config/pdp11/pdp11.c b/gcc/config/pdp11/pdp11.c
index 85181ebb046..1a2400484d8 100644
--- a/gcc/config/pdp11/pdp11.c
+++ b/gcc/config/pdp11/pdp11.c
@@ -44,6 +44,16 @@ along with GCC; see the file COPYING3. If not see
#include "stor-layout.h"
#include "varasm.h"
#include "calls.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "diagnostic-core.h"
#include "tm_p.h"
diff --git a/gcc/config/rl78/rl78.c b/gcc/config/rl78/rl78.c
index d5a0075dc40..6b199a6ea0f 100644
--- a/gcc/config/rl78/rl78.c
+++ b/gcc/config/rl78/rl78.c
@@ -44,8 +44,16 @@
#include "output.h"
#include "insn-attr.h"
#include "flags.h"
-#include "input.h"
#include "function.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 4f8803d3aae..ca214136e1f 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -47,12 +47,20 @@
#include "calls.h"
#include "print-tree.h"
#include "varasm.h"
+#include "hashtab.h"
+#include "function.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
#include "except.h"
-#include "input.h"
-#include "function.h"
#include "output.h"
#include "dbxout.h"
#include "predict.h"
@@ -101,7 +109,6 @@
#include "builtins.h"
#include "context.h"
#include "tree-pass.h"
-#include "real.h"
#if TARGET_XCOFF
#include "xcoffout.h" /* get declarations of xcoff_*_section_name */
#endif
diff --git a/gcc/config/rx/rx.c b/gcc/config/rx/rx.c
index 58ee86e83f4..6fe21aab986 100644
--- a/gcc/config/rx/rx.c
+++ b/gcc/config/rx/rx.c
@@ -47,8 +47,16 @@
#include "output.h"
#include "insn-attr.h"
#include "flags.h"
-#include "input.h"
#include "function.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c
index adb2a269fa2..6985fb77675 100644
--- a/gcc/config/s390/s390.c
+++ b/gcc/config/s390/s390.c
@@ -50,9 +50,17 @@ along with GCC; see the file COPYING3. If not see
#include "insn-attr.h"
#include "flags.h"
#include "except.h"
-#include "input.h"
#include "function.h"
#include "recog.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "reload.h"
#include "diagnostic-core.h"
diff --git a/gcc/config/sh/sh-mem.cc b/gcc/config/sh/sh-mem.cc
index a3eb67935cb..d09209004a6 100644
--- a/gcc/config/sh/sh-mem.cc
+++ b/gcc/config/sh/sh-mem.cc
@@ -32,12 +32,24 @@ along with GCC; see the file COPYING3. If not see
#include "wide-int.h"
#include "inchash.h"
#include "tree.h"
+#include "hashtab.h"
+#include "hard-reg-set.h"
+#include "function.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tm_p.h"
#include "predict.h"
-#include "hard-reg-set.h"
-#include "input.h"
-#include "function.h"
#include "dominance.h"
#include "cfg.h"
#include "cfgrtl.h"
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index 8acb1841e0b..9e1a09e7dd2 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -44,13 +44,21 @@ along with GCC; see the file COPYING3. If not see
#include "calls.h"
#include "varasm.h"
#include "flags.h"
+#include "hashtab.h"
+#include "hard-reg-set.h"
+#include "function.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
#include "reload.h"
-#include "hard-reg-set.h"
-#include "input.h"
-#include "function.h"
#include "regs.h"
#include "output.h"
#include "insn-attr.h"
@@ -10056,7 +10064,6 @@ reg_unused_after (rtx reg, rtx_insn *insn)
return true;
}
-#include "ggc.h"
static GTY(()) rtx t_reg_rtx;
rtx
diff --git a/gcc/config/sh/sh_treg_combine.cc b/gcc/config/sh/sh_treg_combine.cc
index 3c3676719bc..e4f3581099c 100644
--- a/gcc/config/sh/sh_treg_combine.cc
+++ b/gcc/config/sh/sh_treg_combine.cc
@@ -50,6 +50,19 @@ along with GCC; see the file COPYING3. If not see
#include "inchash.h"
#include "tree.h"
#include "optabs.h"
+#include "flags.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "wide-int.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include <algorithm>
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c
index 4d6143ae011..19e45c23fca 100644
--- a/gcc/config/sparc/sparc.c
+++ b/gcc/config/sparc/sparc.c
@@ -48,9 +48,17 @@ along with GCC; see the file COPYING3. If not see
#include "output.h"
#include "insn-attr.h"
#include "flags.h"
-#include "input.h"
#include "function.h"
#include "except.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "optabs.h"
#include "recog.h"
@@ -86,7 +94,6 @@ along with GCC; see the file COPYING3. If not see
#include "opts.h"
#include "tree-pass.h"
#include "context.h"
-#include "wide-int.h"
#include "builtins.h"
#include "rtl-iter.h"
diff --git a/gcc/config/spu/spu.c b/gcc/config/spu/spu.c
index 9bb6fc09151..e99cea37d05 100644
--- a/gcc/config/spu/spu.c
+++ b/gcc/config/spu/spu.c
@@ -42,12 +42,20 @@
#include "stor-layout.h"
#include "calls.h"
#include "varasm.h"
+#include "hashtab.h"
+#include "function.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
#include "except.h"
-#include "input.h"
-#include "function.h"
#include "output.h"
#include "predict.h"
#include "dominance.h"
diff --git a/gcc/config/stormy16/stormy16.c b/gcc/config/stormy16/stormy16.c
index 9234652b64b..1a43b58e4e0 100644
--- a/gcc/config/stormy16/stormy16.c
+++ b/gcc/config/stormy16/stormy16.c
@@ -49,12 +49,20 @@
#include "stor-layout.h"
#include "varasm.h"
#include "calls.h"
+#include "hashtab.h"
+#include "function.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
#include "except.h"
-#include "input.h"
-#include "function.h"
#include "target.h"
#include "target-def.h"
#include "tm_p.h"
diff --git a/gcc/config/tilegx/mul-tables.c b/gcc/config/tilegx/mul-tables.c
index a1f93e36119..252ca08378a 100644
--- a/gcc/config/tilegx/mul-tables.c
+++ b/gcc/config/tilegx/mul-tables.c
@@ -24,6 +24,33 @@
#include "config.h"
#include "system.h"
#include "coretypes.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
+#include "function.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "symtab.h"
+#include "wide-int.h"
+#include "inchash.h"
+#include "tree.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
diff --git a/gcc/config/tilegx/tilegx.c b/gcc/config/tilegx/tilegx.c
index de1b3a61d49..e403c326579 100644
--- a/gcc/config/tilegx/tilegx.c
+++ b/gcc/config/tilegx/tilegx.c
@@ -28,6 +28,30 @@
#include "output.h"
#include "insn-attr.h"
#include "recog.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "hard-reg-set.h"
+#include "input.h"
+#include "function.h"
+#include "flags.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "symtab.h"
+#include "wide-int.h"
+#include "inchash.h"
+#include "tree.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "langhooks.h"
#include "insn-codes.h"
@@ -46,19 +70,8 @@
#include "tm-constrs.h"
#include "target.h"
#include "target-def.h"
-#include "hashtab.h"
-#include "hash-set.h"
-#include "vec.h"
-#include "machmode.h"
-#include "hard-reg-set.h"
-#include "input.h"
-#include "function.h"
#include "dwarf2.h"
#include "timevar.h"
-#include "symtab.h"
-#include "wide-int.h"
-#include "inchash.h"
-#include "tree.h"
#include "fold-const.h"
#include "hash-table.h"
#include "ggc.h"
@@ -71,8 +84,6 @@
#include "gimple.h"
#include "stringpool.h"
#include "stor-layout.h"
-#include "varasm.h"
-#include "calls.h"
#include "gimplify.h"
#include "cfgloop.h"
#include "tilegx-builtins.h"
diff --git a/gcc/config/tilepro/gen-mul-tables.cc b/gcc/config/tilepro/gen-mul-tables.cc
index ea31b0d229d..b28d3d83cf5 100644
--- a/gcc/config/tilepro/gen-mul-tables.cc
+++ b/gcc/config/tilepro/gen-mul-tables.cc
@@ -1256,6 +1256,32 @@ main ()
printf ("#include \"system.h\"\n");
printf ("#include \"coretypes.h\"\n");
printf ("#include \"symtab.h\"\n");
+ printf ("#include \"hashtab.h\"\n");
+ printf ("#include \"hash-set.h\"\n");
+ printf ("#include \"vec.h\"\n");
+ printf ("#include \"machmode.h\"\n");
+ printf ("#include \"tm.h\"\n");
+ printf ("#include \"hard-reg-set.h\"\n");
+ printf ("#include \"input.h\"\n");
+ printf ("#include \"function.h\"\n");
+ printf ("#include \"rtl.h\"\n");
+ printf ("#include \"flags.h\"\n");
+ printf ("#include \"statistics.h\"\n");
+ printf ("#include \"double-int.h\"\n");
+ printf ("#include \"real.h\"\n");
+ printf ("#include \"fixed-value.h\"\n");
+ printf ("#include \"alias.h\"\n");
+ printf ("#include \"wide-int.h\"\n");
+ printf ("#include \"inchash.h\"\n");
+ printf ("#include \"tree.h\"\n");
+ printf ("#include \"insn-config.h\"\n");
+ printf ("#include \"expmed.h\"\n");
+ printf ("#include \"dojump.h\"\n");
+ printf ("#include \"explow.h\"\n");
+ printf ("#include \"calls.h\"\n");
+ printf ("#include \"emit-rtl.h\"\n");
+ printf ("#include \"varasm.h\"\n");
+ printf ("#include \"stmt.h\"\n");
printf ("#include \"expr.h\"\n");
printf ("#include \"insn-codes.h\"\n");
printf ("#include \"optabs.h\"\n");
diff --git a/gcc/config/tilepro/tilepro.c b/gcc/config/tilepro/tilepro.c
index 8cf109a7bc3..f534b036e33 100644
--- a/gcc/config/tilepro/tilepro.c
+++ b/gcc/config/tilepro/tilepro.c
@@ -28,6 +28,30 @@
#include "output.h"
#include "insn-attr.h"
#include "recog.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "hard-reg-set.h"
+#include "input.h"
+#include "function.h"
+#include "flags.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "symtab.h"
+#include "wide-int.h"
+#include "inchash.h"
+#include "tree.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "langhooks.h"
#include "insn-codes.h"
@@ -47,19 +71,8 @@
#include "tm-constrs.h"
#include "target.h"
#include "target-def.h"
-#include "hashtab.h"
-#include "hash-set.h"
-#include "vec.h"
-#include "machmode.h"
-#include "hard-reg-set.h"
-#include "input.h"
-#include "function.h"
#include "dwarf2.h"
#include "timevar.h"
-#include "symtab.h"
-#include "wide-int.h"
-#include "inchash.h"
-#include "tree.h"
#include "fold-const.h"
#include "hash-table.h"
#include "ggc.h"
@@ -72,8 +85,6 @@
#include "gimple.h"
#include "stringpool.h"
#include "stor-layout.h"
-#include "varasm.h"
-#include "calls.h"
#include "gimplify.h"
#include "cfgloop.h"
#include "tilepro-builtins.h"
diff --git a/gcc/config/v850/v850.c b/gcc/config/v850/v850.c
index 688df17a218..f9cc3efb6a5 100644
--- a/gcc/config/v850/v850.c
+++ b/gcc/config/v850/v850.c
@@ -45,9 +45,17 @@
#include "insn-attr.h"
#include "flags.h"
#include "recog.h"
-#include "expr.h"
-#include "input.h"
+#include "hashtab.h"
#include "function.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
+#include "expr.h"
#include "diagnostic-core.h"
#include "ggc.h"
#include "tm_p.h"
diff --git a/gcc/config/vax/vax.c b/gcc/config/vax/vax.c
index deb42e49744..3a2a6508da8 100644
--- a/gcc/config/vax/vax.c
+++ b/gcc/config/vax/vax.c
@@ -48,15 +48,23 @@ along with GCC; see the file COPYING3. If not see
#include "hard-reg-set.h"
#include "insn-config.h"
#include "conditions.h"
-#include "input.h"
#include "function.h"
#include "output.h"
#include "insn-attr.h"
#include "recog.h"
+#include "hashtab.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
-#include "flags.h"
#include "debug.h"
#include "diagnostic-core.h"
#include "reload.h"
@@ -65,7 +73,6 @@ along with GCC; see the file COPYING3. If not see
#include "tm_p.h"
#include "target.h"
#include "target-def.h"
-#include "wide-int.h"
#include "builtins.h"
static void vax_option_override (void);
diff --git a/gcc/config/visium/visium.c b/gcc/config/visium/visium.c
index 657c067c8b8..e656af941c1 100644
--- a/gcc/config/visium/visium.c
+++ b/gcc/config/visium/visium.c
@@ -51,8 +51,13 @@
#include "conditions.h"
#include "output.h"
#include "insn-attr.h"
-#include "expr.h"
#include "function.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
+#include "expr.h"
#include "recog.h"
#include "diagnostic-core.h"
#include "tm_p.h"
diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c
index 8bd7ae787fb..6c289e53719 100644
--- a/gcc/config/xtensa/xtensa.c
+++ b/gcc/config/xtensa/xtensa.c
@@ -56,8 +56,18 @@ along with GCC; see the file COPYING3. If not see
#include "stor-layout.h"
#include "calls.h"
#include "varasm.h"
-#include "expr.h"
#include "flags.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
+#include "expr.h"
#include "reload.h"
#include "tm_p.h"
#include "diagnostic-core.h"
diff --git a/gcc/coverage.c b/gcc/coverage.c
index 76866ca3a02..661e4411324 100644
--- a/gcc/coverage.c
+++ b/gcc/coverage.c
@@ -45,10 +45,21 @@ along with GCC; see the file COPYING3. If not see
#include "flags.h"
#include "output.h"
#include "regs.h"
-#include "expr.h"
+#include "hashtab.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
+#include "expr.h"
#include "predict.h"
#include "dominance.h"
#include "cfg.h"
diff --git a/gcc/cprop.c b/gcc/cprop.c
index 4538291c078..c9fb2fc5129 100644
--- a/gcc/cprop.c
+++ b/gcc/cprop.c
@@ -41,11 +41,7 @@ along with GCC; see the file COPYING3. If not see
#include "insn-config.h"
#include "recog.h"
#include "predict.h"
-#include "vec.h"
#include "hashtab.h"
-#include "hash-set.h"
-#include "machmode.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -54,6 +50,16 @@ along with GCC; see the file COPYING3. If not see
#include "lcm.h"
#include "cfgcleanup.h"
#include "basic-block.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "except.h"
#include "params.h"
diff --git a/gcc/cse.c b/gcc/cse.c
index 8806197730c..4732d81a72a 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -42,6 +42,21 @@ along with GCC; see the file COPYING3. If not see
#include "insn-config.h"
#include "recog.h"
#include "symtab.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "wide-int.h"
+#include "inchash.h"
+#include "tree.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "diagnostic-core.h"
#include "toplev.h"
diff --git a/gcc/dbxout.c b/gcc/dbxout.c
index f0e24b63bdf..c756f2e3dbb 100644
--- a/gcc/dbxout.c
+++ b/gcc/dbxout.c
@@ -96,16 +96,21 @@ along with GCC; see the file COPYING3. If not see
#include "ggc.h"
#include "debug.h"
#include "hashtab.h"
-#include "hash-set.h"
-#include "vec.h"
-#include "machmode.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "target.h"
#include "common/common-target.h"
#include "langhooks.h"
#include "obstack.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "hash-map.h"
#include "is-a.h"
diff --git a/gcc/ddg.c b/gcc/ddg.c
index 8c31b8926dc..e6966f3823c 100644
--- a/gcc/ddg.c
+++ b/gcc/ddg.c
@@ -46,6 +46,21 @@ along with GCC; see the file COPYING3. If not see
#include "cfgloop.h"
#include "sbitmap.h"
#include "symtab.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "wide-int.h"
+#include "inchash.h"
+#include "tree.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "bitmap.h"
#include "df.h"
diff --git a/gcc/dojump.c b/gcc/dojump.c
index 9133eb75d40..ad356ba032f 100644
--- a/gcc/dojump.c
+++ b/gcc/dojump.c
@@ -37,11 +37,20 @@ along with GCC; see the file COPYING3. If not see
#include "stor-layout.h"
#include "flags.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "insn-config.h"
#include "insn-attr.h"
/* Include expr.h after insn-config.h so we get HAVE_conditional_move. */
+#include "hashtab.h"
+#include "statistics.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
diff --git a/gcc/dojump.h b/gcc/dojump.h
new file mode 100644
index 00000000000..b41ba815ff5
--- /dev/null
+++ b/gcc/dojump.h
@@ -0,0 +1,234 @@
+/* Export function prototypes from dojump.c.
+ Copyright (C) 2015-2016 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_DOJUMP_H
+#define GCC_DOJUMP_H
+
+/* At the start of a function, record that we have no previously-pushed
+ arguments waiting to be popped. */
+extern void init_pending_stack_adjust (void);
+
+/* Discard any pending stack adjustment. */
+extern void discard_pending_stack_adjust (void);
+
+/* When exiting from function, if safe, clear out any pending stack adjust
+ so the adjustment won't get done. */
+extern void clear_pending_stack_adjust (void);
+
+/* Pop any previously-pushed arguments that have not been popped yet. */
+extern void do_pending_stack_adjust (void);
+
+/* Struct for saving/restoring of pending_stack_adjust/stack_pointer_delta
+ values. */
+
+struct saved_pending_stack_adjust
+{
+ /* Saved value of pending_stack_adjust. */
+ int x_pending_stack_adjust;
+
+ /* Saved value of stack_pointer_delta. */
+ int x_stack_pointer_delta;
+};
+
+/* Remember pending_stack_adjust/stack_pointer_delta.
+ To be used around code that may call do_pending_stack_adjust (),
+ but the generated code could be discarded e.g. using delete_insns_since. */
+
+extern void save_pending_stack_adjust (saved_pending_stack_adjust *);
+
+/* Restore the saved pending_stack_adjust/stack_pointer_delta. */
+
+extern void restore_pending_stack_adjust (saved_pending_stack_adjust *);
+
+/* Generate code to evaluate EXP and jump to LABEL if the value is zero. */
+extern void jumpifnot (tree, rtx, int);
+extern void jumpifnot_1 (enum tree_code, tree, tree, rtx, int);
+
+/* Generate code to evaluate EXP and jump to LABEL if the value is nonzero. */
+extern void jumpif (tree, rtx, int);
+extern void jumpif_1 (enum tree_code, tree, tree, rtx, int);
+
+/* Generate code to evaluate EXP and jump to IF_FALSE_LABEL if
+ the result is zero, or IF_TRUE_LABEL if the result is one. */
+extern void do_jump (tree, rtx, rtx, int);
+extern void do_jump_1 (enum tree_code, tree, tree, rtx, rtx, int);
+
+extern void do_compare_rtx_and_jump (rtx, rtx, enum rtx_code, int,
+ machine_mode, rtx, rtx, rtx, int);
+
+extern bool split_comparison (enum rtx_code, machine_mode,
+ enum rtx_code *, enum rtx_code *);
+
+#endif /* GCC_DOJUMP_H */
+/* Export function prototypes from dojump.c.
+ Copyright (C) 2015-2016 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_DOJUMP_H
+#define GCC_DOJUMP_H
+
+/* At the start of a function, record that we have no previously-pushed
+ arguments waiting to be popped. */
+extern void init_pending_stack_adjust (void);
+
+/* Discard any pending stack adjustment. */
+extern void discard_pending_stack_adjust (void);
+
+/* When exiting from function, if safe, clear out any pending stack adjust
+ so the adjustment won't get done. */
+extern void clear_pending_stack_adjust (void);
+
+/* Pop any previously-pushed arguments that have not been popped yet. */
+extern void do_pending_stack_adjust (void);
+
+/* Struct for saving/restoring of pending_stack_adjust/stack_pointer_delta
+ values. */
+
+struct saved_pending_stack_adjust
+{
+ /* Saved value of pending_stack_adjust. */
+ int x_pending_stack_adjust;
+
+ /* Saved value of stack_pointer_delta. */
+ int x_stack_pointer_delta;
+};
+
+/* Remember pending_stack_adjust/stack_pointer_delta.
+ To be used around code that may call do_pending_stack_adjust (),
+ but the generated code could be discarded e.g. using delete_insns_since. */
+
+extern void save_pending_stack_adjust (saved_pending_stack_adjust *);
+
+/* Restore the saved pending_stack_adjust/stack_pointer_delta. */
+
+extern void restore_pending_stack_adjust (saved_pending_stack_adjust *);
+
+/* Generate code to evaluate EXP and jump to LABEL if the value is zero. */
+extern void jumpifnot (tree, rtx, int);
+extern void jumpifnot_1 (enum tree_code, tree, tree, rtx, int);
+
+/* Generate code to evaluate EXP and jump to LABEL if the value is nonzero. */
+extern void jumpif (tree, rtx, int);
+extern void jumpif_1 (enum tree_code, tree, tree, rtx, int);
+
+/* Generate code to evaluate EXP and jump to IF_FALSE_LABEL if
+ the result is zero, or IF_TRUE_LABEL if the result is one. */
+extern void do_jump (tree, rtx, rtx, int);
+extern void do_jump_1 (enum tree_code, tree, tree, rtx, rtx, int);
+
+extern void do_compare_rtx_and_jump (rtx, rtx, enum rtx_code, int,
+ machine_mode, rtx, rtx, rtx, int);
+
+extern bool split_comparison (enum rtx_code, machine_mode,
+ enum rtx_code *, enum rtx_code *);
+
+#endif /* GCC_DOJUMP_H */
+/* Export function prototypes from dojump.c.
+ Copyright (C) 2015-2016 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_DOJUMP_H
+#define GCC_DOJUMP_H
+
+/* At the start of a function, record that we have no previously-pushed
+ arguments waiting to be popped. */
+extern void init_pending_stack_adjust (void);
+
+/* Discard any pending stack adjustment. */
+extern void discard_pending_stack_adjust (void);
+
+/* When exiting from function, if safe, clear out any pending stack adjust
+ so the adjustment won't get done. */
+extern void clear_pending_stack_adjust (void);
+
+/* Pop any previously-pushed arguments that have not been popped yet. */
+extern void do_pending_stack_adjust (void);
+
+/* Struct for saving/restoring of pending_stack_adjust/stack_pointer_delta
+ values. */
+
+struct saved_pending_stack_adjust
+{
+ /* Saved value of pending_stack_adjust. */
+ int x_pending_stack_adjust;
+
+ /* Saved value of stack_pointer_delta. */
+ int x_stack_pointer_delta;
+};
+
+/* Remember pending_stack_adjust/stack_pointer_delta.
+ To be used around code that may call do_pending_stack_adjust (),
+ but the generated code could be discarded e.g. using delete_insns_since. */
+
+extern void save_pending_stack_adjust (saved_pending_stack_adjust *);
+
+/* Restore the saved pending_stack_adjust/stack_pointer_delta. */
+
+extern void restore_pending_stack_adjust (saved_pending_stack_adjust *);
+
+/* Generate code to evaluate EXP and jump to LABEL if the value is zero. */
+extern void jumpifnot (tree, rtx, int);
+extern void jumpifnot_1 (enum tree_code, tree, tree, rtx, int);
+
+/* Generate code to evaluate EXP and jump to LABEL if the value is nonzero. */
+extern void jumpif (tree, rtx, int);
+extern void jumpif_1 (enum tree_code, tree, tree, rtx, int);
+
+/* Generate code to evaluate EXP and jump to IF_FALSE_LABEL if
+ the result is zero, or IF_TRUE_LABEL if the result is one. */
+extern void do_jump (tree, rtx, rtx, int);
+extern void do_jump_1 (enum tree_code, tree, tree, rtx, rtx, int);
+
+extern void do_compare_rtx_and_jump (rtx, rtx, enum rtx_code, int,
+ machine_mode, rtx, rtx, rtx, int);
+
+extern bool split_comparison (enum rtx_code, machine_mode,
+ enum rtx_code *, enum rtx_code *);
+
+#endif /* GCC_DOJUMP_H */
diff --git a/gcc/dse.c b/gcc/dse.c
index e3022366dd6..a7d46b85dc4 100644
--- a/gcc/dse.c
+++ b/gcc/dse.c
@@ -55,8 +55,18 @@ along with GCC; see the file COPYING3. If not see
#include "cselib.h"
#include "tree-pass.h"
#include "alloc-pool.h"
-#include "alias.h"
#include "insn-config.h"
+#include "hashtab.h"
+#include "function.h"
+#include "statistics.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "recog.h"
#include "insn-codes.h"
diff --git a/gcc/dwarf2cfi.c b/gcc/dwarf2cfi.c
index 9def81b91c4..27474cba07d 100644
--- a/gcc/dwarf2cfi.c
+++ b/gcc/dwarf2cfi.c
@@ -37,7 +37,6 @@ along with GCC; see the file COPYING3. If not see
#include "tree.h"
#include "stor-layout.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "cfgbuild.h"
#include "dwarf2.h"
@@ -51,6 +50,17 @@ along with GCC; see the file COPYING3. If not see
#include "tree-pass.h"
#include "except.h" /* expand_builtin_dwarf_sp_column */
+#include "hashtab.h"
+#include "statistics.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h" /* init_return_column_size */
#include "regs.h" /* expand_builtin_init_dwarf_reg_sizes */
#include "output.h" /* asm_out_file */
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 4fbcb97c6d6..ebb1b6d8c3e 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -76,11 +76,7 @@ along with GCC; see the file COPYING3. If not see
#include "stor-layout.h"
#include "varasm.h"
#include "hashtab.h"
-#include "hash-set.h"
-#include "vec.h"
-#include "machmode.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "emit-rtl.h"
#include "hash-table.h"
@@ -91,6 +87,13 @@ along with GCC; see the file COPYING3. If not see
#include "insn-config.h"
#include "reload.h"
#include "output.h"
+#include "statistics.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "stmt.h"
#include "expr.h"
#include "except.h"
#include "dwarf2.h"
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index 43d92428074..df85366c5d6 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -52,7 +52,6 @@ along with GCC; see the file COPYING3. If not see
#include "varasm.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "cfgrtl.h"
#include "basic-block.h"
@@ -60,9 +59,18 @@ along with GCC; see the file COPYING3. If not see
#include "tm_p.h"
#include "flags.h"
#include "stringpool.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "regs.h"
-#include "insn-config.h"
#include "recog.h"
#include "bitmap.h"
#include "debug.h"
diff --git a/gcc/emit-rtl.h b/gcc/emit-rtl.h
index 2334dcc64e6..44ef034230f 100644
--- a/gcc/emit-rtl.h
+++ b/gcc/emit-rtl.h
@@ -119,4 +119,87 @@ get_max_uid (void)
extern void set_decl_incoming_rtl (tree, rtx, bool);
+/* Return a memory reference like MEMREF, but with its mode changed
+ to MODE and its address changed to ADDR.
+ (VOIDmode means don't change the mode.
+ NULL for ADDR means don't change the address.) */
+extern rtx change_address (rtx, machine_mode, rtx);
+
+/* Return a memory reference like MEMREF, but with its mode changed
+ to MODE and its address offset by OFFSET bytes. */
+#define adjust_address(MEMREF, MODE, OFFSET) \
+ adjust_address_1 (MEMREF, MODE, OFFSET, 1, 1, 0, 0)
+
+/* Likewise, but the reference is not required to be valid. */
+#define adjust_address_nv(MEMREF, MODE, OFFSET) \
+ adjust_address_1 (MEMREF, MODE, OFFSET, 0, 1, 0, 0)
+
+/* Return a memory reference like MEMREF, but with its mode changed
+ to MODE and its address offset by OFFSET bytes. Assume that it's
+ for a bitfield and conservatively drop the underlying object if we
+ cannot be sure to stay within its bounds. */
+#define adjust_bitfield_address(MEMREF, MODE, OFFSET) \
+ adjust_address_1 (MEMREF, MODE, OFFSET, 1, 1, 1, 0)
+
+/* As for adjust_bitfield_address, but specify that the width of
+ BLKmode accesses is SIZE bytes. */
+#define adjust_bitfield_address_size(MEMREF, MODE, OFFSET, SIZE) \
+ adjust_address_1 (MEMREF, MODE, OFFSET, 1, 1, 1, SIZE)
+
+/* Likewise, but the reference is not required to be valid. */
+#define adjust_bitfield_address_nv(MEMREF, MODE, OFFSET) \
+ adjust_address_1 (MEMREF, MODE, OFFSET, 0, 1, 1, 0)
+
+/* Return a memory reference like MEMREF, but with its mode changed
+ to MODE and its address changed to ADDR, which is assumed to be
+ increased by OFFSET bytes from MEMREF. */
+#define adjust_automodify_address(MEMREF, MODE, ADDR, OFFSET) \
+ adjust_automodify_address_1 (MEMREF, MODE, ADDR, OFFSET, 1)
+
+/* Likewise, but the reference is not required to be valid. */
+#define adjust_automodify_address_nv(MEMREF, MODE, ADDR, OFFSET) \
+ adjust_automodify_address_1 (MEMREF, MODE, ADDR, OFFSET, 0)
+
+extern rtx adjust_address_1 (rtx, machine_mode, HOST_WIDE_INT, int, int,
+ int, HOST_WIDE_INT);
+extern rtx adjust_automodify_address_1 (rtx, machine_mode, rtx,
+ HOST_WIDE_INT, int);
+
+/* Return a memory reference like MEMREF, but whose address is changed by
+ adding OFFSET, an RTX, to it. POW2 is the highest power of two factor
+ known to be in OFFSET (possibly 1). */
+extern rtx offset_address (rtx, rtx, unsigned HOST_WIDE_INT);
+
+/* Given REF, a MEM, and T, either the type of X or the expression
+ corresponding to REF, set the memory attributes. OBJECTP is nonzero
+ if we are making a new object of this type. */
+extern void set_mem_attributes (rtx, tree, int);
+
+/* Similar, except that BITPOS has not yet been applied to REF, so if
+ we alter MEM_OFFSET according to T then we should subtract BITPOS
+ expecting that it'll be added back in later. */
+extern void set_mem_attributes_minus_bitpos (rtx, tree, int, HOST_WIDE_INT);
+
+/* Return OFFSET if XEXP (MEM, 0) - OFFSET is known to be ALIGN
+ bits aligned for 0 <= OFFSET < ALIGN / BITS_PER_UNIT, or
+ -1 if not known. */
+extern int get_mem_align_offset (rtx, unsigned int);
+
+/* Return a memory reference like MEMREF, but with its mode widened to
+ MODE and adjusted by OFFSET. */
+extern rtx widen_memory_access (rtx, machine_mode, HOST_WIDE_INT);
+
+extern void store_bit_field (rtx, unsigned HOST_WIDE_INT,
+ unsigned HOST_WIDE_INT,
+ unsigned HOST_WIDE_INT,
+ unsigned HOST_WIDE_INT,
+ machine_mode, rtx);
+extern rtx extract_bit_field (rtx, unsigned HOST_WIDE_INT,
+ unsigned HOST_WIDE_INT, int, rtx,
+ machine_mode, machine_mode);
+extern rtx extract_low_bits (machine_mode, machine_mode, rtx);
+extern rtx expand_mult (machine_mode, rtx, rtx, rtx, int);
+extern rtx expand_mult_highpart_adjust (machine_mode, rtx, rtx, rtx, rtx, int);
+
+
#endif /* GCC_EMIT_RTL_H */
diff --git a/gcc/except.c b/gcc/except.c
index bceb6797364..833ec21f329 100644
--- a/gcc/except.c
+++ b/gcc/except.c
@@ -130,13 +130,22 @@ along with GCC; see the file COPYING3. If not see
#include "stor-layout.h"
#include "flags.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "insn-codes.h"
#include "optabs.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "libfuncs.h"
-#include "insn-config.h"
#include "except.h"
#include "output.h"
#include "dwarf2asm.h"
diff --git a/gcc/explow.c b/gcc/explow.c
index 3e3cf053d54..de446a903fd 100644
--- a/gcc/explow.c
+++ b/gcc/explow.c
@@ -40,13 +40,22 @@ along with GCC; see the file COPYING3. If not see
#include "flags.h"
#include "except.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
#include "libfuncs.h"
-#include "insn-config.h"
#include "ggc.h"
#include "recog.h"
#include "langhooks.h"
@@ -230,58 +239,6 @@ eliminate_constant_term (rtx x, rtx *constptr)
return x;
}
-/* Returns a tree for the size of EXP in bytes. */
-
-static tree
-tree_expr_size (const_tree exp)
-{
- if (DECL_P (exp)
- && DECL_SIZE_UNIT (exp) != 0)
- return DECL_SIZE_UNIT (exp);
- else
- return size_in_bytes (TREE_TYPE (exp));
-}
-
-/* Return an rtx for the size in bytes of the value of EXP. */
-
-rtx
-expr_size (tree exp)
-{
- tree size;
-
- if (TREE_CODE (exp) == WITH_SIZE_EXPR)
- size = TREE_OPERAND (exp, 1);
- else
- {
- size = tree_expr_size (exp);
- gcc_assert (size);
- gcc_assert (size == SUBSTITUTE_PLACEHOLDER_IN_EXPR (size, exp));
- }
-
- return expand_expr (size, NULL_RTX, TYPE_MODE (sizetype), EXPAND_NORMAL);
-}
-
-/* Return a wide integer for the size in bytes of the value of EXP, or -1
- if the size can vary or is larger than an integer. */
-
-HOST_WIDE_INT
-int_expr_size (tree exp)
-{
- tree size;
-
- if (TREE_CODE (exp) == WITH_SIZE_EXPR)
- size = TREE_OPERAND (exp, 1);
- else
- {
- size = tree_expr_size (exp);
- gcc_assert (size);
- }
-
- if (size == 0 || !tree_fits_shwi_p (size))
- return -1;
-
- return tree_to_shwi (size);
-}
/* Return a copy of X in which all memory references
and all constants that involve symbol refs
@@ -432,6 +389,7 @@ convert_memory_address_addr_space (machine_mode to_mode, rtx x, addr_space_t as)
return convert_memory_address_addr_space_1 (to_mode, x, as, false);
}
+
/* Return something equivalent to X but valid as a memory address for something
of mode MODE in the named address space AS. When X is not itself valid,
this works by copying X or subexpressions of it into registers. */
diff --git a/gcc/explow.h b/gcc/explow.h
new file mode 100644
index 00000000000..042bec743c6
--- /dev/null
+++ b/gcc/explow.h
@@ -0,0 +1,339 @@
+/* Export function prototypes from explow.c.
+ Copyright (C) 2015-2016 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_EXPLOW_H
+#define GCC_EXPLOW_H
+
+/* Return a memory reference like MEMREF, but which is known to have a
+ valid address. */
+extern rtx validize_mem (rtx);
+
+extern rtx use_anchored_address (rtx);
+
+/* Copy given rtx to a new temp reg and return that. */
+extern rtx copy_to_reg (rtx);
+
+/* Like copy_to_reg but always make the reg Pmode. */
+extern rtx copy_addr_to_reg (rtx);
+
+/* Like copy_to_reg but always make the reg the specified mode MODE. */
+extern rtx copy_to_mode_reg (machine_mode, rtx);
+
+/* Copy given rtx to given temp reg and return that. */
+extern rtx copy_to_suggested_reg (rtx, rtx, machine_mode);
+
+/* Copy a value to a register if it isn't already a register.
+ Args are mode (in case value is a constant) and the value. */
+extern rtx force_reg (machine_mode, rtx);
+
+/* Return given rtx, copied into a new temp reg if it was in memory. */
+extern rtx force_not_mem (rtx);
+
+/* Return mode and signedness to use when an argument or result in the
+ given mode is promoted. */
+extern machine_mode promote_function_mode (const_tree, machine_mode, int *,
+ const_tree, int);
+
+/* Return mode and signedness to use when an object in the given mode
+ is promoted. */
+extern machine_mode promote_mode (const_tree, machine_mode, int *);
+
+/* Return mode and signedness to use when object is promoted. */
+machine_mode promote_decl_mode (const_tree, int *);
+
+/* Remove some bytes from the stack. An rtx says how many. */
+extern void adjust_stack (rtx);
+
+/* Add some bytes to the stack. An rtx says how many. */
+extern void anti_adjust_stack (rtx);
+
+/* Add some bytes to the stack while probing it. An rtx says how many. */
+extern void anti_adjust_stack_and_probe (rtx, bool);
+
+/* This enum is used for the following two functions. */
+enum save_level {SAVE_BLOCK, SAVE_FUNCTION, SAVE_NONLOCAL};
+
+/* Save the stack pointer at the specified level. */
+extern void emit_stack_save (enum save_level, rtx *);
+
+/* Restore the stack pointer from a save area of the specified level. */
+extern void emit_stack_restore (enum save_level, rtx);
+
+/* Invoke emit_stack_save for the nonlocal_goto_save_area. */
+extern void update_nonlocal_goto_save_area (void);
+
+/* Allocate some space on the stack dynamically and return its address. */
+extern rtx allocate_dynamic_stack_space (rtx, unsigned, unsigned, bool);
+
+/* Emit one stack probe at ADDRESS, an address within the stack. */
+extern void emit_stack_probe (rtx);
+
+/* Probe a range of stack addresses from FIRST to FIRST+SIZE, inclusive.
+ FIRST is a constant and size is a Pmode RTX. These are offsets from
+ the current stack pointer. STACK_GROWS_DOWNWARD says whether to add
+ or subtract them from the stack pointer. */
+extern void probe_stack_range (HOST_WIDE_INT, rtx);
+
+/* Return an rtx that refers to the value returned by a library call
+ in its original home. This becomes invalid if any more code is emitted. */
+extern rtx hard_libcall_value (machine_mode, rtx);
+
+/* Return an rtx that refers to the value returned by a function
+ in its original home. This becomes invalid if any more code is emitted. */
+extern rtx hard_function_value (const_tree, const_tree, const_tree, int);
+
+/* Convert arg to a valid memory address for specified machine mode that points
+ to a specific named address space, by emitting insns to perform arithmetic
+ if necessary. */
+extern rtx memory_address_addr_space (machine_mode, rtx, addr_space_t);
+
+extern rtx eliminate_constant_term (rtx, rtx *);
+
+/* Like memory_address_addr_space, except assume the memory address points to
+ the generic named address space. */
+#define memory_address(MODE,RTX) \
+ memory_address_addr_space ((MODE), (RTX), ADDR_SPACE_GENERIC)
+
+#endif /* GCC_EXPLOW_H */
+/* Export function prototypes from explow.c.
+ Copyright (C) 2015-2016 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_EXPLOW_H
+#define GCC_EXPLOW_H
+
+/* Return a memory reference like MEMREF, but which is known to have a
+ valid address. */
+extern rtx validize_mem (rtx);
+
+extern rtx use_anchored_address (rtx);
+
+/* Copy given rtx to a new temp reg and return that. */
+extern rtx copy_to_reg (rtx);
+
+/* Like copy_to_reg but always make the reg Pmode. */
+extern rtx copy_addr_to_reg (rtx);
+
+/* Like copy_to_reg but always make the reg the specified mode MODE. */
+extern rtx copy_to_mode_reg (machine_mode, rtx);
+
+/* Copy given rtx to given temp reg and return that. */
+extern rtx copy_to_suggested_reg (rtx, rtx, machine_mode);
+
+/* Copy a value to a register if it isn't already a register.
+ Args are mode (in case value is a constant) and the value. */
+extern rtx force_reg (machine_mode, rtx);
+
+/* Return given rtx, copied into a new temp reg if it was in memory. */
+extern rtx force_not_mem (rtx);
+
+/* Return mode and signedness to use when an argument or result in the
+ given mode is promoted. */
+extern machine_mode promote_function_mode (const_tree, machine_mode, int *,
+ const_tree, int);
+
+/* Return mode and signedness to use when an object in the given mode
+ is promoted. */
+extern machine_mode promote_mode (const_tree, machine_mode, int *);
+
+/* Return mode and signedness to use when object is promoted. */
+machine_mode promote_decl_mode (const_tree, int *);
+
+/* Remove some bytes from the stack. An rtx says how many. */
+extern void adjust_stack (rtx);
+
+/* Add some bytes to the stack. An rtx says how many. */
+extern void anti_adjust_stack (rtx);
+
+/* Add some bytes to the stack while probing it. An rtx says how many. */
+extern void anti_adjust_stack_and_probe (rtx, bool);
+
+/* This enum is used for the following two functions. */
+enum save_level {SAVE_BLOCK, SAVE_FUNCTION, SAVE_NONLOCAL};
+
+/* Save the stack pointer at the specified level. */
+extern void emit_stack_save (enum save_level, rtx *);
+
+/* Restore the stack pointer from a save area of the specified level. */
+extern void emit_stack_restore (enum save_level, rtx);
+
+/* Invoke emit_stack_save for the nonlocal_goto_save_area. */
+extern void update_nonlocal_goto_save_area (void);
+
+/* Allocate some space on the stack dynamically and return its address. */
+extern rtx allocate_dynamic_stack_space (rtx, unsigned, unsigned, bool);
+
+/* Emit one stack probe at ADDRESS, an address within the stack. */
+extern void emit_stack_probe (rtx);
+
+/* Probe a range of stack addresses from FIRST to FIRST+SIZE, inclusive.
+ FIRST is a constant and size is a Pmode RTX. These are offsets from
+ the current stack pointer. STACK_GROWS_DOWNWARD says whether to add
+ or subtract them from the stack pointer. */
+extern void probe_stack_range (HOST_WIDE_INT, rtx);
+
+/* Return an rtx that refers to the value returned by a library call
+ in its original home. This becomes invalid if any more code is emitted. */
+extern rtx hard_libcall_value (machine_mode, rtx);
+
+/* Return an rtx that refers to the value returned by a function
+ in its original home. This becomes invalid if any more code is emitted. */
+extern rtx hard_function_value (const_tree, const_tree, const_tree, int);
+
+/* Convert arg to a valid memory address for specified machine mode that points
+ to a specific named address space, by emitting insns to perform arithmetic
+ if necessary. */
+extern rtx memory_address_addr_space (machine_mode, rtx, addr_space_t);
+
+extern rtx eliminate_constant_term (rtx, rtx *);
+
+/* Like memory_address_addr_space, except assume the memory address points to
+ the generic named address space. */
+#define memory_address(MODE,RTX) \
+ memory_address_addr_space ((MODE), (RTX), ADDR_SPACE_GENERIC)
+
+#endif /* GCC_EXPLOW_H */
+/* Export function prototypes from explow.c.
+ Copyright (C) 2015-2016 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_EXPLOW_H
+#define GCC_EXPLOW_H
+
+/* Return a memory reference like MEMREF, but which is known to have a
+ valid address. */
+extern rtx validize_mem (rtx);
+
+extern rtx use_anchored_address (rtx);
+
+/* Copy given rtx to a new temp reg and return that. */
+extern rtx copy_to_reg (rtx);
+
+/* Like copy_to_reg but always make the reg Pmode. */
+extern rtx copy_addr_to_reg (rtx);
+
+/* Like copy_to_reg but always make the reg the specified mode MODE. */
+extern rtx copy_to_mode_reg (machine_mode, rtx);
+
+/* Copy given rtx to given temp reg and return that. */
+extern rtx copy_to_suggested_reg (rtx, rtx, machine_mode);
+
+/* Copy a value to a register if it isn't already a register.
+ Args are mode (in case value is a constant) and the value. */
+extern rtx force_reg (machine_mode, rtx);
+
+/* Return given rtx, copied into a new temp reg if it was in memory. */
+extern rtx force_not_mem (rtx);
+
+/* Return mode and signedness to use when an argument or result in the
+ given mode is promoted. */
+extern machine_mode promote_function_mode (const_tree, machine_mode, int *,
+ const_tree, int);
+
+/* Return mode and signedness to use when an object in the given mode
+ is promoted. */
+extern machine_mode promote_mode (const_tree, machine_mode, int *);
+
+/* Return mode and signedness to use when object is promoted. */
+machine_mode promote_decl_mode (const_tree, int *);
+
+/* Remove some bytes from the stack. An rtx says how many. */
+extern void adjust_stack (rtx);
+
+/* Add some bytes to the stack. An rtx says how many. */
+extern void anti_adjust_stack (rtx);
+
+/* Add some bytes to the stack while probing it. An rtx says how many. */
+extern void anti_adjust_stack_and_probe (rtx, bool);
+
+/* This enum is used for the following two functions. */
+enum save_level {SAVE_BLOCK, SAVE_FUNCTION, SAVE_NONLOCAL};
+
+/* Save the stack pointer at the specified level. */
+extern void emit_stack_save (enum save_level, rtx *);
+
+/* Restore the stack pointer from a save area of the specified level. */
+extern void emit_stack_restore (enum save_level, rtx);
+
+/* Invoke emit_stack_save for the nonlocal_goto_save_area. */
+extern void update_nonlocal_goto_save_area (void);
+
+/* Allocate some space on the stack dynamically and return its address. */
+extern rtx allocate_dynamic_stack_space (rtx, unsigned, unsigned, bool);
+
+/* Emit one stack probe at ADDRESS, an address within the stack. */
+extern void emit_stack_probe (rtx);
+
+/* Probe a range of stack addresses from FIRST to FIRST+SIZE, inclusive.
+ FIRST is a constant and size is a Pmode RTX. These are offsets from
+ the current stack pointer. STACK_GROWS_DOWNWARD says whether to add
+ or subtract them from the stack pointer. */
+extern void probe_stack_range (HOST_WIDE_INT, rtx);
+
+/* Return an rtx that refers to the value returned by a library call
+ in its original home. This becomes invalid if any more code is emitted. */
+extern rtx hard_libcall_value (machine_mode, rtx);
+
+/* Return an rtx that refers to the value returned by a function
+ in its original home. This becomes invalid if any more code is emitted. */
+extern rtx hard_function_value (const_tree, const_tree, const_tree, int);
+
+/* Convert arg to a valid memory address for specified machine mode that points
+ to a specific named address space, by emitting insns to perform arithmetic
+ if necessary. */
+extern rtx memory_address_addr_space (machine_mode, rtx, addr_space_t);
+
+extern rtx eliminate_constant_term (rtx, rtx *);
+
+/* Like memory_address_addr_space, except assume the memory address points to
+ the generic named address space. */
+#define memory_address(MODE,RTX) \
+ memory_address_addr_space ((MODE), (RTX), ADDR_SPACE_GENERIC)
+
+#endif /* GCC_EXPLOW_H */
diff --git a/gcc/expmed.c b/gcc/expmed.c
index d184552e37d..480601cf482 100644
--- a/gcc/expmed.c
+++ b/gcc/expmed.c
@@ -40,6 +40,19 @@ along with GCC; see the file COPYING3. If not see
#include "tm_p.h"
#include "flags.h"
#include "insn-config.h"
+#include "hashtab.h"
+#include "hard-reg-set.h"
+#include "function.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
@@ -49,7 +62,6 @@ along with GCC; see the file COPYING3. If not see
#include "basic-block.h"
#include "df.h"
#include "target.h"
-#include "expmed.h"
struct target_expmed default_target_expmed;
#if SWITCHABLE_TARGET
diff --git a/gcc/expmed.h b/gcc/expmed.h
index 0202f00eeb3..e36e4f76cf6 100644
--- a/gcc/expmed.h
+++ b/gcc/expmed.h
@@ -671,4 +671,36 @@ extern rtx emit_cstore (rtx target, enum insn_code icode, enum rtx_code code,
enum machine_mode mode, enum machine_mode compare_mode,
int unsignedp, rtx x, rtx y, int normalizep,
enum machine_mode target_mode);
+
+/* Arguments MODE, RTX: return an rtx for the negation of that value.
+ May emit insns. */
+extern rtx negate_rtx (machine_mode, rtx);
+
+/* Expand a logical AND operation. */
+extern rtx expand_and (machine_mode, rtx, rtx, rtx);
+
+/* Emit a store-flag operation. */
+extern rtx emit_store_flag (rtx, enum rtx_code, rtx, rtx, machine_mode,
+ int, int);
+
+/* Like emit_store_flag, but always succeeds. */
+extern rtx emit_store_flag_force (rtx, enum rtx_code, rtx, rtx,
+ machine_mode, int, int);
+
+/* Choose a minimal N + 1 bit approximation to 1/D that can be used to
+ replace division by D, and put the least significant N bits of the result
+ in *MULTIPLIER_PTR and return the most significant bit. */
+extern unsigned HOST_WIDE_INT choose_multiplier (unsigned HOST_WIDE_INT, int,
+ int, unsigned HOST_WIDE_INT *,
+ int *, int *);
+
+#ifdef TREE_CODE
+extern rtx expand_variable_shift (enum tree_code, machine_mode,
+ rtx, tree, rtx, int);
+extern rtx expand_shift (enum tree_code, machine_mode, rtx, int, rtx,
+ int);
+extern rtx expand_divmod (int, enum tree_code, machine_mode, rtx, rtx,
+ rtx, int);
#endif
+
+#endif // EXPMED_H
diff --git a/gcc/expr.c b/gcc/expr.c
index eb4bb9b8fee..89ca12945ff 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -41,10 +41,19 @@ along with GCC; see the file COPYING3. If not see
#include "regs.h"
#include "hard-reg-set.h"
#include "except.h"
-#include "input.h"
#include "function.h"
#include "insn-config.h"
#include "insn-attr.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "stmt.h"
/* Include expr.h after insn-config.h so we get HAVE_conditional_move. */
#include "expr.h"
#include "insn-codes.h"
@@ -173,6 +182,8 @@ static void emit_single_push_insn (machine_mode, rtx, tree);
#endif
static void do_tablejump (rtx, machine_mode, rtx, rtx, rtx, int);
static rtx const_vector_from_tree (tree);
+static tree tree_expr_size (const_tree);
+static HOST_WIDE_INT int_expr_size (tree);
/* This is run to set up which modes can be used
@@ -11438,4 +11449,57 @@ get_personality_function (tree decl)
return XEXP (DECL_RTL (personality), 0);
}
+/* Returns a tree for the size of EXP in bytes. */
+
+static tree
+tree_expr_size (const_tree exp)
+{
+ if (DECL_P (exp)
+ && DECL_SIZE_UNIT (exp) != 0)
+ return DECL_SIZE_UNIT (exp);
+ else
+ return size_in_bytes (TREE_TYPE (exp));
+}
+
+/* Return an rtx for the size in bytes of the value of EXP. */
+
+rtx
+expr_size (tree exp)
+{
+ tree size;
+
+ if (TREE_CODE (exp) == WITH_SIZE_EXPR)
+ size = TREE_OPERAND (exp, 1);
+ else
+ {
+ size = tree_expr_size (exp);
+ gcc_assert (size);
+ gcc_assert (size == SUBSTITUTE_PLACEHOLDER_IN_EXPR (size, exp));
+ }
+
+ return expand_expr (size, NULL_RTX, TYPE_MODE (sizetype), EXPAND_NORMAL);
+}
+
+/* Return a wide integer for the size in bytes of the value of EXP, or -1
+ if the size can vary or is larger than an integer. */
+
+static HOST_WIDE_INT
+int_expr_size (tree exp)
+{
+ tree size;
+
+ if (TREE_CODE (exp) == WITH_SIZE_EXPR)
+ size = TREE_OPERAND (exp, 1);
+ else
+ {
+ size = tree_expr_size (exp);
+ gcc_assert (size);
+ }
+
+ if (size == 0 || !tree_fits_shwi_p (size))
+ return -1;
+
+ return tree_to_shwi (size);
+}
+
#include "gt-expr.h"
diff --git a/gcc/expr.h b/gcc/expr.h
index a7638b8bbea..867852e1153 100644
--- a/gcc/expr.h
+++ b/gcc/expr.h
@@ -20,25 +20,6 @@ along with GCC; see the file COPYING3. If not see
#ifndef GCC_EXPR_H
#define GCC_EXPR_H
-/* For inhibit_defer_pop */
-#include "hashtab.h"
-#include "hash-set.h"
-#include "vec.h"
-#include "machmode.h"
-#include "tm.h"
-#include "hard-reg-set.h"
-#include "input.h"
-#include "function.h"
-/* For XEXP, GEN_INT, rtx_code */
-#include "rtl.h"
-/* For optimize_size */
-#include "flags.h"
-/* For tree_fits_[su]hwi_p, tree_to_[su]hwi, fold_convert, size_binop,
- ssize_int, TREE_CODE, TYPE_SIZE, int_size_in_bytes, */
-#include "tree-core.h"
-/* For GET_MODE_BITSIZE, word_mode */
-#include "insn-config.h"
-
/* This is the 4th arg to `expand_expr'.
EXPAND_STACK_PARM means we are possibly expanding a call param onto
the stack.
@@ -73,32 +54,6 @@ typedef struct separate_ops
tree op0, op1, op2;
} *sepops;
-/* Functions from expmed.c: */
-
-/* Arguments MODE, RTX: return an rtx for the negation of that value.
- May emit insns. */
-extern rtx negate_rtx (machine_mode, rtx);
-
-/* Expand a logical AND operation. */
-extern rtx expand_and (machine_mode, rtx, rtx, rtx);
-
-/* Emit a store-flag operation. */
-extern rtx emit_store_flag (rtx, enum rtx_code, rtx, rtx, machine_mode,
- int, int);
-
-/* Like emit_store_flag, but always succeeds. */
-extern rtx emit_store_flag_force (rtx, enum rtx_code, rtx, rtx,
- machine_mode, int, int);
-
-/* Choose a minimal N + 1 bit approximation to 1/D that can be used to
- replace division by D, and put the least significant N bits of the result
- in *MULTIPLIER_PTR and return the most significant bit. */
-extern unsigned HOST_WIDE_INT choose_multiplier (unsigned HOST_WIDE_INT, int,
- int, unsigned HOST_WIDE_INT *,
- int *, int *);
-
-/* Functions from expr.c: */
-
/* This is run during target initialization to set up which modes can be
used directly in memory and to initialize the block move optab. */
extern void init_expr_target (void);
@@ -305,301 +260,20 @@ expand_normal (tree exp)
return expand_expr_real (exp, NULL_RTX, VOIDmode, EXPAND_NORMAL, NULL, false);
}
-/* At the start of a function, record that we have no previously-pushed
- arguments waiting to be popped. */
-extern void init_pending_stack_adjust (void);
-
-/* Discard any pending stack adjustment. */
-extern void discard_pending_stack_adjust (void);
-
-/* When exiting from function, if safe, clear out any pending stack adjust
- so the adjustment won't get done. */
-extern void clear_pending_stack_adjust (void);
-
-/* Pop any previously-pushed arguments that have not been popped yet. */
-extern void do_pending_stack_adjust (void);
-
-/* Struct for saving/restoring of pending_stack_adjust/stack_pointer_delta
- values. */
-
-struct saved_pending_stack_adjust
-{
- /* Saved value of pending_stack_adjust. */
- int x_pending_stack_adjust;
-
- /* Saved value of stack_pointer_delta. */
- int x_stack_pointer_delta;
-};
-
-/* Remember pending_stack_adjust/stack_pointer_delta.
- To be used around code that may call do_pending_stack_adjust (),
- but the generated code could be discarded e.g. using delete_insns_since. */
-
-extern void save_pending_stack_adjust (saved_pending_stack_adjust *);
-
-/* Restore the saved pending_stack_adjust/stack_pointer_delta. */
-
-extern void restore_pending_stack_adjust (saved_pending_stack_adjust *);
/* Return the tree node and offset if a given argument corresponds to
a string constant. */
extern tree string_constant (tree, tree *);
-/* Generate code to evaluate EXP and jump to LABEL if the value is zero. */
-extern void jumpifnot (tree, rtx, int);
-extern void jumpifnot_1 (enum tree_code, tree, tree, rtx, int);
-
-/* Generate code to evaluate EXP and jump to LABEL if the value is nonzero. */
-extern void jumpif (tree, rtx, int);
-extern void jumpif_1 (enum tree_code, tree, tree, rtx, int);
-
-/* Generate code to evaluate EXP and jump to IF_FALSE_LABEL if
- the result is zero, or IF_TRUE_LABEL if the result is one. */
-extern void do_jump (tree, rtx, rtx, int);
-extern void do_jump_1 (enum tree_code, tree, tree, rtx, rtx, int);
-
-extern void do_compare_rtx_and_jump (rtx, rtx, enum rtx_code, int,
- machine_mode, rtx, rtx, rtx, int);
-
/* Two different ways of generating switch statements. */
extern int try_casesi (tree, tree, tree, tree, rtx, rtx, rtx, int);
extern int try_tablejump (tree, tree, tree, tree, rtx, rtx, int);
-/* Functions from alias.c */
-#include "alias.h"
-
-
-/* rtl.h and tree.h were included. */
-/* Return an rtx for the size in bytes of the value of an expr. */
-extern rtx expr_size (tree);
-
-/* Return a wide integer for the size in bytes of the value of EXP, or -1
- if the size can vary or is larger than an integer. */
-extern HOST_WIDE_INT int_expr_size (tree);
-
-/* Return an rtx that refers to the value returned by a function
- in its original home. This becomes invalid if any more code is emitted. */
-extern rtx hard_function_value (const_tree, const_tree, const_tree, int);
-
-extern rtx prepare_call_address (tree, rtx, rtx, rtx *, int, int);
-
-extern bool shift_return_value (machine_mode, bool, rtx);
-
-extern rtx expand_call (tree, rtx, int);
-
-extern void fixup_tail_calls (void);
-
-#ifdef TREE_CODE
-extern rtx expand_variable_shift (enum tree_code, machine_mode,
- rtx, tree, rtx, int);
-extern rtx expand_shift (enum tree_code, machine_mode, rtx, int, rtx,
- int);
-extern rtx expand_divmod (int, enum tree_code, machine_mode, rtx, rtx,
- rtx, int);
-#endif
-
-/* Return the CODE_LABEL rtx for a LABEL_DECL, creating it if necessary. */
-extern rtx label_rtx (tree);
-
-/* As label_rtx, but additionally the label is placed on the forced label
- list of its containing function (i.e. it is treated as reachable even
- if how is not obvious). */
-extern rtx force_label_rtx (tree);
-
-/* Return an rtx like arg but sans any constant terms.
- Returns the original rtx if it has no constant terms.
- The constant terms are added and stored via a second arg. */
-extern rtx eliminate_constant_term (rtx, rtx *);
-
-/* Convert arg to a valid memory address for specified machine mode that points
- to a specific named address space, by emitting insns to perform arithmetic
- if necessary. */
-extern rtx memory_address_addr_space (machine_mode, rtx, addr_space_t);
-
-/* Like memory_address_addr_space, except assume the memory address points to
- the generic named address space. */
-#define memory_address(MODE,RTX) \
- memory_address_addr_space ((MODE), (RTX), ADDR_SPACE_GENERIC)
-
-/* Return a memory reference like MEMREF, but with its mode changed
- to MODE and its address changed to ADDR.
- (VOIDmode means don't change the mode.
- NULL for ADDR means don't change the address.) */
-extern rtx change_address (rtx, machine_mode, rtx);
-
-/* Return a memory reference like MEMREF, but with its mode changed
- to MODE and its address offset by OFFSET bytes. */
-#define adjust_address(MEMREF, MODE, OFFSET) \
- adjust_address_1 (MEMREF, MODE, OFFSET, 1, 1, 0, 0)
-
-/* Likewise, but the reference is not required to be valid. */
-#define adjust_address_nv(MEMREF, MODE, OFFSET) \
- adjust_address_1 (MEMREF, MODE, OFFSET, 0, 1, 0, 0)
-
-/* Return a memory reference like MEMREF, but with its mode changed
- to MODE and its address offset by OFFSET bytes. Assume that it's
- for a bitfield and conservatively drop the underlying object if we
- cannot be sure to stay within its bounds. */
-#define adjust_bitfield_address(MEMREF, MODE, OFFSET) \
- adjust_address_1 (MEMREF, MODE, OFFSET, 1, 1, 1, 0)
-
-/* As for adjust_bitfield_address, but specify that the width of
- BLKmode accesses is SIZE bytes. */
-#define adjust_bitfield_address_size(MEMREF, MODE, OFFSET, SIZE) \
- adjust_address_1 (MEMREF, MODE, OFFSET, 1, 1, 1, SIZE)
-
-/* Likewise, but the reference is not required to be valid. */
-#define adjust_bitfield_address_nv(MEMREF, MODE, OFFSET) \
- adjust_address_1 (MEMREF, MODE, OFFSET, 0, 1, 1, 0)
-
-/* Return a memory reference like MEMREF, but with its mode changed
- to MODE and its address changed to ADDR, which is assumed to be
- increased by OFFSET bytes from MEMREF. */
-#define adjust_automodify_address(MEMREF, MODE, ADDR, OFFSET) \
- adjust_automodify_address_1 (MEMREF, MODE, ADDR, OFFSET, 1)
-
-/* Likewise, but the reference is not required to be valid. */
-#define adjust_automodify_address_nv(MEMREF, MODE, ADDR, OFFSET) \
- adjust_automodify_address_1 (MEMREF, MODE, ADDR, OFFSET, 0)
-
-extern rtx adjust_address_1 (rtx, machine_mode, HOST_WIDE_INT, int, int,
- int, HOST_WIDE_INT);
-extern rtx adjust_automodify_address_1 (rtx, machine_mode, rtx,
- HOST_WIDE_INT, int);
-
-/* Return a memory reference like MEMREF, but whose address is changed by
- adding OFFSET, an RTX, to it. POW2 is the highest power of two factor
- known to be in OFFSET (possibly 1). */
-extern rtx offset_address (rtx, rtx, unsigned HOST_WIDE_INT);
-
-/* Definitions from emit-rtl.c */
-#include "emit-rtl.h"
-
-/* Return a memory reference like MEMREF, but with its mode widened to
- MODE and adjusted by OFFSET. */
-extern rtx widen_memory_access (rtx, machine_mode, HOST_WIDE_INT);
-
-/* Return a memory reference like MEMREF, but which is known to have a
- valid address. */
-extern rtx validize_mem (rtx);
-
-extern rtx use_anchored_address (rtx);
-
-/* Given REF, a MEM, and T, either the type of X or the expression
- corresponding to REF, set the memory attributes. OBJECTP is nonzero
- if we are making a new object of this type. */
-extern void set_mem_attributes (rtx, tree, int);
-
-/* Similar, except that BITPOS has not yet been applied to REF, so if
- we alter MEM_OFFSET according to T then we should subtract BITPOS
- expecting that it'll be added back in later. */
-extern void set_mem_attributes_minus_bitpos (rtx, tree, int, HOST_WIDE_INT);
-
-/* Return OFFSET if XEXP (MEM, 0) - OFFSET is known to be ALIGN
- bits aligned for 0 <= OFFSET < ALIGN / BITS_PER_UNIT, or
- -1 if not known. */
-extern int get_mem_align_offset (rtx, unsigned int);
-
-/* Assemble the static constant template for function entry trampolines. */
-extern rtx assemble_trampoline_template (void);
-
-/* Copy given rtx to a new temp reg and return that. */
-extern rtx copy_to_reg (rtx);
-
-/* Like copy_to_reg but always make the reg Pmode. */
-extern rtx copy_addr_to_reg (rtx);
-
-/* Like copy_to_reg but always make the reg the specified mode MODE. */
-extern rtx copy_to_mode_reg (machine_mode, rtx);
-
-/* Copy given rtx to given temp reg and return that. */
-extern rtx copy_to_suggested_reg (rtx, rtx, machine_mode);
-
-/* Copy a value to a register if it isn't already a register.
- Args are mode (in case value is a constant) and the value. */
-extern rtx force_reg (machine_mode, rtx);
-
-/* Return given rtx, copied into a new temp reg if it was in memory. */
-extern rtx force_not_mem (rtx);
-
-/* Return mode and signedness to use when an argument or result in the
- given mode is promoted. */
-extern machine_mode promote_function_mode (const_tree, machine_mode, int *,
- const_tree, int);
-
-/* Return mode and signedness to use when an object in the given mode
- is promoted. */
-extern machine_mode promote_mode (const_tree, machine_mode, int *);
-
-/* Return mode and signedness to use when object is promoted. */
-machine_mode promote_decl_mode (const_tree, int *);
-
-/* Remove some bytes from the stack. An rtx says how many. */
-extern void adjust_stack (rtx);
-
-/* Add some bytes to the stack. An rtx says how many. */
-extern void anti_adjust_stack (rtx);
-
-/* Add some bytes to the stack while probing it. An rtx says how many. */
-extern void anti_adjust_stack_and_probe (rtx, bool);
-
-/* This enum is used for the following two functions. */
-enum save_level {SAVE_BLOCK, SAVE_FUNCTION, SAVE_NONLOCAL};
-
-/* Save the stack pointer at the specified level. */
-extern void emit_stack_save (enum save_level, rtx *);
-
-/* Restore the stack pointer from a save area of the specified level. */
-extern void emit_stack_restore (enum save_level, rtx);
-
-/* Invoke emit_stack_save for the nonlocal_goto_save_area. */
-extern void update_nonlocal_goto_save_area (void);
-
-/* Allocate some space on the stack dynamically and return its address. */
-extern rtx allocate_dynamic_stack_space (rtx, unsigned, unsigned, bool);
-
-/* Emit one stack probe at ADDRESS, an address within the stack. */
-extern void emit_stack_probe (rtx);
-
-/* Probe a range of stack addresses from FIRST to FIRST+SIZE, inclusive.
- FIRST is a constant and size is a Pmode RTX. These are offsets from
- the current stack pointer. STACK_GROWS_DOWNWARD says whether to add
- or subtract them from the stack pointer. */
-extern void probe_stack_range (HOST_WIDE_INT, rtx);
-
-/* Return an rtx that refers to the value returned by a library call
- in its original home. This becomes invalid if any more code is emitted. */
-extern rtx hard_libcall_value (machine_mode, rtx);
-
-extern void store_bit_field (rtx, unsigned HOST_WIDE_INT,
- unsigned HOST_WIDE_INT,
- unsigned HOST_WIDE_INT,
- unsigned HOST_WIDE_INT,
- machine_mode, rtx);
-extern rtx extract_bit_field (rtx, unsigned HOST_WIDE_INT,
- unsigned HOST_WIDE_INT, int, rtx,
- machine_mode, machine_mode);
-extern rtx extract_low_bits (machine_mode, machine_mode, rtx);
-extern rtx expand_mult (machine_mode, rtx, rtx, rtx, int);
-extern rtx expand_mult_highpart_adjust (machine_mode, rtx, rtx, rtx, rtx, int);
-
-extern rtx assemble_static_space (unsigned HOST_WIDE_INT);
extern int safe_from_p (const_rtx, tree, int);
-extern bool split_comparison (enum rtx_code, machine_mode,
- enum rtx_code *, enum rtx_code *);
/* Get the personality libfunc for a function decl. */
rtx get_personality_function (tree);
-
-/* In stmt.c */
-
-/* Expand a GIMPLE_SWITCH statement. */
-extern void expand_case (gswitch *);
-
-/* Like expand_case but special-case for SJLJ exception dispatching. */
-extern void expand_sjlj_dispatch_table (rtx, vec<tree> );
-
/* Determine whether the LEN bytes can be moved by using several move
instructions. Return nonzero if a call to move_by_pieces should
succeed. */
@@ -621,4 +295,9 @@ extern tree component_ref_field_offset (tree);
extern void expand_operands (tree, tree, rtx, rtx*, rtx*,
enum expand_modifier);
+
+/* rtl.h and tree.h were included. */
+/* Return an rtx for the size in bytes of the value of an expr. */
+extern rtx expr_size (tree);
+
#endif /* GCC_EXPR_H */
diff --git a/gcc/final.c b/gcc/final.c
index 7797d815566..1fa93d9036d 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -68,7 +68,6 @@ along with GCC; see the file COPYING3. If not see
#include "flags.h"
#include "output.h"
#include "except.h"
-#include "input.h"
#include "function.h"
#include "rtl-error.h"
#include "toplev.h" /* exact_log2, floor_log2 */
@@ -82,6 +81,16 @@ along with GCC; see the file COPYING3. If not see
#include "target.h"
#include "targhooks.h"
#include "debug.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-pass.h"
#include "hash-map.h"
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index b1cbfac7f75..8974dc0b91a 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -61,6 +61,19 @@ along with GCC; see the file COPYING3. If not see
#include "tree-iterator.h"
#include "realmpfr.h"
#include "rtl.h"
+#include "hashtab.h"
+#include "hard-reg-set.h"
+#include "function.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tm_p.h"
#include "target.h"
@@ -69,11 +82,6 @@ along with GCC; see the file COPYING3. If not see
#include "langhooks.h"
#include "md5.h"
#include "predict.h"
-#include "vec.h"
-#include "hashtab.h"
-#include "hard-reg-set.h"
-#include "input.h"
-#include "function.h"
#include "basic-block.h"
#include "tree-ssa-alias.h"
#include "internal-fn.h"
diff --git a/gcc/function.c b/gcc/function.c
index 9589e64df2e..2c3d1426c18 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -53,18 +53,24 @@ along with GCC; see the file COPYING3. If not see
#include "flags.h"
#include "except.h"
#include "hashtab.h"
-#include "hash-set.h"
-#include "vec.h"
-#include "machmode.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
+#include "rtl.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
#include "libfuncs.h"
#include "regs.h"
-#include "insn-config.h"
#include "recog.h"
#include "output.h"
#include "tm_p.h"
diff --git a/gcc/gcse.c b/gcc/gcse.c
index 0f046415668..e03b36c3a85 100644
--- a/gcc/gcse.c
+++ b/gcc/gcse.c
@@ -157,7 +157,6 @@ along with GCC; see the file COPYING3. If not see
#include "insn-config.h"
#include "recog.h"
#include "predict.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -166,6 +165,17 @@ along with GCC; see the file COPYING3. If not see
#include "lcm.h"
#include "cfgcleanup.h"
#include "basic-block.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "except.h"
#include "ggc.h"
diff --git a/gcc/genemit.c b/gcc/genemit.c
index cda3fce8750..1bcb66b682b 100644
--- a/gcc/genemit.c
+++ b/gcc/genemit.c
@@ -811,19 +811,23 @@ from the machine description file `md'. */\n\n");
printf ("#include \"rtl.h\"\n");
printf ("#include \"tm_p.h\"\n");
printf ("#include \"hashtab.h\"\n");
- printf ("#include \"hash-set.h\"\n");
- printf ("#include \"vec.h\"\n");
- printf ("#include \"machmode.h\"\n");
printf ("#include \"hard-reg-set.h\"\n");
- printf ("#include \"input.h\"\n");
printf ("#include \"function.h\"\n");
+ printf ("#include \"flags.h\"\n");
+ printf ("#include \"statistics.h\"\n");
+ printf ("#include \"real.h\"\n");
+ printf ("#include \"fixed-value.h\"\n");
+ printf ("#include \"insn-config.h\"\n");
+ printf ("#include \"expmed.h\"\n");
+ printf ("#include \"dojump.h\"\n");
+ printf ("#include \"explow.h\"\n");
+ printf ("#include \"emit-rtl.h\"\n");
+ printf ("#include \"stmt.h\"\n");
printf ("#include \"expr.h\"\n");
printf ("#include \"insn-codes.h\"\n");
printf ("#include \"optabs.h\"\n");
printf ("#include \"dfp.h\"\n");
- printf ("#include \"flags.h\"\n");
printf ("#include \"output.h\"\n");
- printf ("#include \"insn-config.h\"\n");
printf ("#include \"recog.h\"\n");
printf ("#include \"predict.h\"\n");
printf ("#include \"basic-block.h\"\n");
diff --git a/gcc/generic-match-head.c b/gcc/generic-match-head.c
index c34604d6940..daa56aa370e 100644
--- a/gcc/generic-match-head.c
+++ b/gcc/generic-match-head.c
@@ -39,7 +39,6 @@ along with GCC; see the file COPYING3. If not see
#include "hard-reg-set.h"
#include "function.h"
#include "predict.h"
-#include "input.h"
#include "basic-block.h"
#include "tree-ssa-alias.h"
#include "internal-fn.h"
@@ -50,6 +49,19 @@ along with GCC; see the file COPYING3. If not see
#include "tree-ssanames.h"
#include "gimple-fold.h"
#include "gimple-iterator.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-dfa.h"
#include "builtins.h"
diff --git a/gcc/gengtype.c b/gcc/gengtype.c
index 19cdc52bbfa..02012d54506 100644
--- a/gcc/gengtype.c
+++ b/gcc/gengtype.c
@@ -1716,8 +1716,11 @@ open_base_files (void)
"wide-int.h", "inchash.h",
"tree.h", "fold-const.h", "rtl.h",
"machmode.h", "tm.h", "hard-reg-set.h", "input.h", "predict.h",
- "function.h", "insn-config.h", "expr.h", "alloc-pool.h",
- "hard-reg-set.h", "basic-block.h", "cselib.h", "insn-addr.h",
+ "function.h", "insn-config.h", "flags.h", "statistics.h",
+ "real.h", "fixed-value.h", "tree.h", "expmed.h", "dojump.h",
+ "explow.h", "calls.h", "emit-rtl.h", "varasm.h", "stmt.h",
+ "expr.h", "alloc-pool.h",
+ "basic-block.h", "cselib.h", "insn-addr.h",
"optabs.h", "libfuncs.h", "debug.h", "ggc.h",
"ggc.h", "dominance.h", "cfg.h", "basic-block.h",
"tree-ssa-alias.h", "internal-fn.h", "gimple-fold.h", "tree-eh.h",
diff --git a/gcc/genopinit.c b/gcc/genopinit.c
index b30105345d0..7fa59eb89aa 100644
--- a/gcc/genopinit.c
+++ b/gcc/genopinit.c
@@ -483,6 +483,17 @@ main (int argc, char **argv)
"#include \"tm_p.h\"\n"
"#include \"flags.h\"\n"
"#include \"insn-config.h\"\n"
+ "#include \"hashtab.h\"\n"
+ "#include \"hard-reg-set.h\"\n"
+ "#include \"function.h\"\n"
+ "#include \"statistics.h\"\n"
+ "#include \"real.h\"\n"
+ "#include \"fixed-value.h\"\n"
+ "#include \"expmed.h\"\n"
+ "#include \"dojump.h\"\n"
+ "#include \"explow.h\"\n"
+ "#include \"emit-rtl.h\"\n"
+ "#include \"stmt.h\"\n"
"#include \"expr.h\"\n"
"#include \"insn-codes.h\"\n"
"#include \"optabs.h\"\n"
diff --git a/gcc/genoutput.c b/gcc/genoutput.c
index fde30ef1d09..3be3e13fbea 100644
--- a/gcc/genoutput.c
+++ b/gcc/genoutput.c
@@ -243,13 +243,22 @@ output_prologue (void)
printf ("#include \"stor-layout.h\"\n");
printf ("#include \"calls.h\"\n");
printf ("#include \"rtl.h\"\n");
+ printf ("#include \"hashtab.h\"\n");
+ printf ("#include \"hard-reg-set.h\"\n");
+ printf ("#include \"function.h\"\n");
+ printf ("#include \"statistics.h\"\n");
+ printf ("#include \"real.h\"\n");
+ printf ("#include \"fixed-value.h\"\n");
+ printf ("#include \"insn-config.h\"\n");
+ printf ("#include \"expmed.h\"\n");
+ printf ("#include \"dojump.h\"\n");
+ printf ("#include \"explow.h\"\n");
+ printf ("#include \"emit-rtl.h\"\n");
+ printf ("#include \"stmt.h\"\n");
printf ("#include \"expr.h\"\n");
printf ("#include \"insn-codes.h\"\n");
printf ("#include \"tm_p.h\"\n");
- printf ("#include \"function.h\"\n");
printf ("#include \"regs.h\"\n");
- printf ("#include \"hard-reg-set.h\"\n");
- printf ("#include \"insn-config.h\"\n\n");
printf ("#include \"conditions.h\"\n");
printf ("#include \"insn-attr.h\"\n\n");
printf ("#include \"recog.h\"\n\n");
diff --git a/gcc/gimple-fold.c b/gcc/gimple-fold.c
index 49b31f1deb3..baec077a533 100644
--- a/gcc/gimple-fold.c
+++ b/gcc/gimple-fold.c
@@ -34,17 +34,24 @@ along with GCC; see the file COPYING3. If not see
#include "tree.h"
#include "fold-const.h"
#include "stringpool.h"
-#include "expr.h"
-#include "stmt.h"
-#include "stor-layout.h"
-#include "flags.h"
#include "hashtab.h"
-#include "hash-set.h"
-#include "vec.h"
-#include "machmode.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
+#include "expr.h"
+#include "stor-layout.h"
#include "dumpfile.h"
#include "bitmap.h"
#include "predict.h"
diff --git a/gcc/gimple-match-head.c b/gcc/gimple-match-head.c
index d7ada77bfc1..0ca189dfe97 100644
--- a/gcc/gimple-match-head.c
+++ b/gcc/gimple-match-head.c
@@ -36,11 +36,9 @@ along with GCC; see the file COPYING3. If not see
#include "stringpool.h"
#include "stor-layout.h"
#include "flags.h"
-#include "tm.h"
#include "hard-reg-set.h"
#include "function.h"
#include "predict.h"
-#include "input.h"
#include "basic-block.h"
#include "tree-ssa-alias.h"
#include "internal-fn.h"
@@ -51,6 +49,19 @@ along with GCC; see the file COPYING3. If not see
#include "tree-ssanames.h"
#include "gimple-fold.h"
#include "gimple-iterator.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-dfa.h"
#include "builtins.h"
diff --git a/gcc/gimple-ssa-strength-reduction.c b/gcc/gimple-ssa-strength-reduction.c
index f6c92d0844a..5b84bbecde9 100644
--- a/gcc/gimple-ssa-strength-reduction.c
+++ b/gcc/gimple-ssa-strength-reduction.c
@@ -51,7 +51,6 @@ along with GCC; see the file COPYING3. If not see
#include "predict.h"
#include "tm.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -64,6 +63,20 @@ along with GCC; see the file COPYING3. If not see
#include "gimple-iterator.h"
#include "gimplify-me.h"
#include "stor-layout.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-pass.h"
#include "cfgloop.h"
@@ -75,7 +88,6 @@ along with GCC; see the file COPYING3. If not see
#include "stringpool.h"
#include "tree-ssanames.h"
#include "domwalk.h"
-#include "expmed.h"
#include "params.h"
#include "tree-ssa-address.h"
#include "tree-affine.h"
diff --git a/gcc/gimplify.c b/gcc/gimplify.c
index 59aaf5a3331..2472d86002c 100644
--- a/gcc/gimplify.c
+++ b/gcc/gimplify.c
@@ -35,12 +35,25 @@ along with GCC; see the file COPYING3. If not see
#include "inchash.h"
#include "tree.h"
#include "fold-const.h"
-#include "expr.h"
-#include "predict.h"
+#include "hashtab.h"
#include "tm.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
+#include "expr.h"
+#include "predict.h"
#include "basic-block.h"
#include "tree-ssa-alias.h"
#include "internal-fn.h"
@@ -52,10 +65,7 @@ along with GCC; see the file COPYING3. If not see
#include "gimplify.h"
#include "gimple-iterator.h"
#include "stringpool.h"
-#include "calls.h"
-#include "varasm.h"
#include "stor-layout.h"
-#include "stmt.h"
#include "print-tree.h"
#include "tree-iterator.h"
#include "tree-inline.h"
diff --git a/gcc/graphite-sese-to-poly.c b/gcc/graphite-sese-to-poly.c
index 5bb521ff103..23b63ad1f5e 100644
--- a/gcc/graphite-sese-to-poly.c
+++ b/gcc/graphite-sese-to-poly.c
@@ -55,7 +55,6 @@ extern "C" {
#include "predict.h"
#include "tm.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -88,6 +87,20 @@ extern "C" {
#include "tree-ssa-propagate.h"
#ifdef HAVE_isl
+#include "hashtab.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "graphite-poly.h"
#include "graphite-sese-to-poly.h"
diff --git a/gcc/hw-doloop.c b/gcc/hw-doloop.c
index 5ad1569890f..ff2cb7bac45 100644
--- a/gcc/hw-doloop.c
+++ b/gcc/hw-doloop.c
@@ -25,16 +25,32 @@ along with GCC; see the file COPYING3. If not see
#include "rtl.h"
#include "flags.h"
#include "symtab.h"
-#include "expr.h"
-#include "hard-reg-set.h"
-#include "regs.h"
-#include "predict.h"
-#include "vec.h"
#include "hashtab.h"
#include "hash-set.h"
+#include "vec.h"
#include "machmode.h"
+#include "hard-reg-set.h"
#include "input.h"
#include "function.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "wide-int.h"
+#include "inchash.h"
+#include "tree.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
+#include "expr.h"
+#include "regs.h"
+#include "predict.h"
#include "dominance.h"
#include "cfg.h"
#include "cfgrtl.h"
diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c
index 30a13a8a5eb..a3e3e5c2313 100644
--- a/gcc/ifcvt.c
+++ b/gcc/ifcvt.c
@@ -43,6 +43,21 @@
#include "cfgcleanup.h"
#include "basic-block.h"
#include "symtab.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "wide-int.h"
+#include "inchash.h"
+#include "tree.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "output.h"
#include "insn-codes.h"
diff --git a/gcc/init-regs.c b/gcc/init-regs.c
index 3b9560dec2b..14b56f1f16b 100644
--- a/gcc/init-regs.c
+++ b/gcc/init-regs.c
@@ -33,16 +33,27 @@ along with GCC; see the file COPYING3. If not see
#include "tree.h"
#include "rtl.h"
#include "regs.h"
+#include "hashtab.h"
+#include "hard-reg-set.h"
+#include "function.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-pass.h"
#include "predict.h"
-#include "hard-reg-set.h"
-#include "input.h"
-#include "function.h"
#include "dominance.h"
#include "cfg.h"
#include "basic-block.h"
-#include "flags.h"
#include "df.h"
/* Check all of the uses of pseudo variables. If any use that is MUST
diff --git a/gcc/internal-fn.c b/gcc/internal-fn.c
index 07a9ec5150c..0609e4a34c7 100644
--- a/gcc/internal-fn.c
+++ b/gcc/internal-fn.c
@@ -34,19 +34,31 @@ along with GCC; see the file COPYING3. If not see
#include "fold-const.h"
#include "internal-fn.h"
#include "stor-layout.h"
+#include "hashtab.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "function.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
#include "predict.h"
-#include "tm.h"
-#include "hard-reg-set.h"
-#include "input.h"
-#include "function.h"
#include "dominance.h"
#include "cfg.h"
#include "basic-block.h"
#include "tree-ssa-alias.h"
-#include "internal-fn.h"
#include "gimple-expr.h"
#include "is-a.h"
#include "gimple.h"
diff --git a/gcc/ipa-devirt.c b/gcc/ipa-devirt.c
index 52d2e529154..70f2bc88bd5 100644
--- a/gcc/ipa-devirt.c
+++ b/gcc/ipa-devirt.c
@@ -128,15 +128,26 @@ along with GCC; see the file COPYING3. If not see
#include "is-a.h"
#include "plugin-api.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "ipa-ref.h"
#include "cgraph.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-pass.h"
#include "target.h"
#include "hash-table.h"
-#include "inchash.h"
#include "tree-pretty-print.h"
#include "ipa-utils.h"
#include "tree-ssa-alias.h"
diff --git a/gcc/ipa-icf-gimple.c b/gcc/ipa-icf-gimple.c
index 05c2a23bd6f..b35d66c9a45 100644
--- a/gcc/ipa-icf-gimple.c
+++ b/gcc/ipa-icf-gimple.c
@@ -37,7 +37,6 @@ along with GCC; see the file COPYING3. If not see
#include "predict.h"
#include "tm.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "basic-block.h"
#include "tree-ssa-alias.h"
@@ -45,6 +44,20 @@ along with GCC; see the file COPYING3. If not see
#include "gimple-expr.h"
#include "is-a.h"
#include "gimple.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "gimple-iterator.h"
#include "gimple-ssa.h"
diff --git a/gcc/ipa-icf.c b/gcc/ipa-icf.c
index fb3a18924db..bbd5724a5e9 100644
--- a/gcc/ipa-icf.c
+++ b/gcc/ipa-icf.c
@@ -69,7 +69,6 @@ along with GCC; see the file COPYING3. If not see
#include "predict.h"
#include "tm.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -79,6 +78,20 @@ along with GCC; see the file COPYING3. If not see
#include "gimple-expr.h"
#include "is-a.h"
#include "gimple.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "gimple-iterator.h"
#include "gimple-ssa.h"
@@ -109,7 +122,6 @@ along with GCC; see the file COPYING3. If not see
#include <list>
#include "ipa-icf-gimple.h"
#include "ipa-icf.h"
-#include "varasm.h"
using namespace ipa_icf_gimple;
diff --git a/gcc/ipa-polymorphic-call.c b/gcc/ipa-polymorphic-call.c
index 369d9382ada..5ad5e517fed 100644
--- a/gcc/ipa-polymorphic-call.c
+++ b/gcc/ipa-polymorphic-call.c
@@ -35,6 +35,21 @@ along with GCC; see the file COPYING3. If not see
#include "fold-const.h"
#include "print-tree.h"
#include "calls.h"
+#include "hashtab.h"
+#include "hard-reg-set.h"
+#include "function.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-pass.h"
#include "target.h"
@@ -44,9 +59,6 @@ along with GCC; see the file COPYING3. If not see
#include "hash-map.h"
#include "is-a.h"
#include "plugin-api.h"
-#include "hard-reg-set.h"
-#include "input.h"
-#include "function.h"
#include "ipa-ref.h"
#include "cgraph.h"
#include "ipa-utils.h"
diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c
index 01f4111b097..6807c22d7ed 100644
--- a/gcc/ipa-prop.c
+++ b/gcc/ipa-prop.c
@@ -35,7 +35,6 @@ along with GCC; see the file COPYING3. If not see
#include "predict.h"
#include "tm.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -47,6 +46,20 @@ along with GCC; see the file COPYING3. If not see
#include "gimple-expr.h"
#include "is-a.h"
#include "gimple.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "stor-layout.h"
#include "print-tree.h"
@@ -73,7 +86,6 @@ along with GCC; see the file COPYING3. If not see
#include "tree-pass.h"
#include "tree-inline.h"
#include "ipa-inline.h"
-#include "flags.h"
#include "diagnostic.h"
#include "gimple-pretty-print.h"
#include "lto-streamer.h"
@@ -86,7 +98,6 @@ along with GCC; see the file COPYING3. If not see
#include "dbgcnt.h"
#include "domwalk.h"
#include "builtins.h"
-#include "calls.h"
/* Intermediate information that we get from alias analysis about a particular
parameter in a particular basic_block. When a parameter or the memory it
diff --git a/gcc/ipa-split.c b/gcc/ipa-split.c
index 924c6b1e7cd..7e2e3007197 100644
--- a/gcc/ipa-split.c
+++ b/gcc/ipa-split.c
@@ -92,7 +92,6 @@ along with GCC; see the file COPYING3. If not see
#include "predict.h"
#include "tm.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -104,8 +103,21 @@ along with GCC; see the file COPYING3. If not see
#include "is-a.h"
#include "gimple.h"
#include "stringpool.h"
-#include "expr.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
+#include "expr.h"
#include "gimplify.h"
#include "gimple-iterator.h"
#include "gimplify-me.h"
@@ -122,12 +134,10 @@ along with GCC; see the file COPYING3. If not see
#include "tree-cfg.h"
#include "tree-phinodes.h"
#include "ssa-iterators.h"
-#include "stringpool.h"
#include "tree-ssanames.h"
#include "tree-into-ssa.h"
#include "tree-dfa.h"
#include "tree-pass.h"
-#include "flags.h"
#include "diagnostic.h"
#include "tree-dump.h"
#include "tree-inline.h"
diff --git a/gcc/ira-color.c b/gcc/ira-color.c
index d362981b4ff..d04be29ff4f 100644
--- a/gcc/ira-color.c
+++ b/gcc/ira-color.c
@@ -42,6 +42,22 @@ along with GCC; see the file COPYING3. If not see
#include "cfg.h"
#include "basic-block.h"
#include "symtab.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "wide-int.h"
+#include "inchash.h"
+#include "tree.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "diagnostic-core.h"
#include "reload.h"
diff --git a/gcc/ira-costs.c b/gcc/ira-costs.c
index 4219e60d0fd..0acb949d905 100644
--- a/gcc/ira-costs.c
+++ b/gcc/ira-costs.c
@@ -26,22 +26,37 @@ along with GCC; see the file COPYING3. If not see
#include "hard-reg-set.h"
#include "rtl.h"
#include "symtab.h"
-#include "expr.h"
-#include "tm_p.h"
-#include "flags.h"
-#include "predict.h"
-#include "vec.h"
#include "hashtab.h"
#include "hash-set.h"
+#include "vec.h"
#include "machmode.h"
#include "input.h"
#include "function.h"
+#include "flags.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "wide-int.h"
+#include "inchash.h"
+#include "tree.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
+#include "expr.h"
+#include "tm_p.h"
+#include "predict.h"
#include "dominance.h"
#include "cfg.h"
#include "basic-block.h"
#include "regs.h"
#include "addresses.h"
-#include "insn-config.h"
#include "recog.h"
#include "reload.h"
#include "diagnostic-core.h"
diff --git a/gcc/ira-emit.c b/gcc/ira-emit.c
index b1847ec912c..88375875beb 100644
--- a/gcc/ira-emit.c
+++ b/gcc/ira-emit.c
@@ -90,6 +90,22 @@ along with GCC; see the file COPYING3. If not see
#include "cfgbuild.h"
#include "basic-block.h"
#include "symtab.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "wide-int.h"
+#include "inchash.h"
+#include "tree.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "recog.h"
#include "params.h"
diff --git a/gcc/ira.c b/gcc/ira.c
index b7ae86ee710..ea2b69fee76 100644
--- a/gcc/ira.c
+++ b/gcc/ira.c
@@ -386,7 +386,6 @@ along with GCC; see the file COPYING3. If not see
#include "bitmap.h"
#include "hard-reg-set.h"
#include "predict.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -395,6 +394,18 @@ along with GCC; see the file COPYING3. If not see
#include "cfgcleanup.h"
#include "basic-block.h"
#include "df.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "recog.h"
#include "params.h"
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 70b90284421..3b77d48aa06 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,9 @@
+2015-10-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
+
+ * builtins.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h function.h hard-reg-set.h hashtab.h insn-config.h
+ real.h statistics.h stmt.h varasm.h.
+
2015-01-09 Michael Collison <michael.collison@linaro.org>
* boehm.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
diff --git a/gcc/java/builtins.c b/gcc/java/builtins.c
index ee1ac60eadf..067ce9fc5d0 100644
--- a/gcc/java/builtins.c
+++ b/gcc/java/builtins.c
@@ -53,6 +53,20 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */
Front ends should never have to look at that. */
#include "rtl.h"
#include "insn-codes.h"
+#include "hashtab.h"
+#include "hard-reg-set.h"
+#include "function.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "optabs.h"
diff --git a/gcc/jump.c b/gcc/jump.c
index c3eb40c54b0..3b8c91e007f 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -57,6 +57,21 @@ along with GCC; see the file COPYING3. If not see
#include "cfgrtl.h"
#include "basic-block.h"
#include "symtab.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "wide-int.h"
+#include "inchash.h"
+#include "tree.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "except.h"
#include "diagnostic-core.h"
diff --git a/gcc/loop-doloop.c b/gcc/loop-doloop.c
index bc0953ce4d8..0b6447adede 100644
--- a/gcc/loop-doloop.c
+++ b/gcc/loop-doloop.c
@@ -25,14 +25,30 @@ along with GCC; see the file COPYING3. If not see
#include "rtl.h"
#include "flags.h"
#include "symtab.h"
-#include "expr.h"
-#include "hard-reg-set.h"
-#include "vec.h"
#include "hashtab.h"
#include "hash-set.h"
+#include "vec.h"
#include "machmode.h"
+#include "hard-reg-set.h"
#include "input.h"
#include "function.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "wide-int.h"
+#include "inchash.h"
+#include "tree.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
+#include "expr.h"
#include "diagnostic-core.h"
#include "tm_p.h"
#include "predict.h"
diff --git a/gcc/loop-invariant.c b/gcc/loop-invariant.c
index e5eb9e6366e..f79b497ea7f 100644
--- a/gcc/loop-invariant.c
+++ b/gcc/loop-invariant.c
@@ -55,10 +55,26 @@ along with GCC; see the file COPYING3. If not see
#include "basic-block.h"
#include "cfgloop.h"
#include "symtab.h"
+#include "flags.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "wide-int.h"
+#include "inchash.h"
+#include "tree.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "recog.h"
#include "target.h"
-#include "flags.h"
#include "df.h"
#include "hash-table.h"
#include "except.h"
diff --git a/gcc/loop-iv.c b/gcc/loop-iv.c
index 59344487e74..de2b15a8fef 100644
--- a/gcc/loop-iv.c
+++ b/gcc/loop-iv.c
@@ -66,6 +66,23 @@ along with GCC; see the file COPYING3. If not see
#include "basic-block.h"
#include "cfgloop.h"
#include "symtab.h"
+#include "flags.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "wide-int.h"
+#include "inchash.h"
+#include "tree.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "intl.h"
#include "diagnostic-core.h"
diff --git a/gcc/loop-unroll.c b/gcc/loop-unroll.c
index 917c66bd94a..2befb61719e 100644
--- a/gcc/loop-unroll.c
+++ b/gcc/loop-unroll.c
@@ -36,7 +36,6 @@ along with GCC; see the file COPYING3. If not see
#include "obstack.h"
#include "profile.h"
#include "predict.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -46,6 +45,19 @@ along with GCC; see the file COPYING3. If not see
#include "params.h"
#include "insn-codes.h"
#include "optabs.h"
+#include "hashtab.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "hash-table.h"
#include "recog.h"
diff --git a/gcc/lower-subreg.c b/gcc/lower-subreg.c
index d58b5c5c597..9d5fd3be31f 100644
--- a/gcc/lower-subreg.c
+++ b/gcc/lower-subreg.c
@@ -25,7 +25,6 @@ along with GCC; see the file COPYING3. If not see
#include "machmode.h"
#include "tm.h"
#include "hash-set.h"
-#include "machmode.h"
#include "vec.h"
#include "double-int.h"
#include "input.h"
@@ -41,7 +40,6 @@ along with GCC; see the file COPYING3. If not see
#include "obstack.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -51,6 +49,17 @@ along with GCC; see the file COPYING3. If not see
#include "recog.h"
#include "bitmap.h"
#include "dce.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "except.h"
#include "regs.h"
diff --git a/gcc/lra-assigns.c b/gcc/lra-assigns.c
index c8a2fb138a2..2462af5f172 100644
--- a/gcc/lra-assigns.c
+++ b/gcc/lra-assigns.c
@@ -94,6 +94,22 @@ along with GCC; see the file COPYING3. If not see
#include "input.h"
#include "function.h"
#include "symtab.h"
+#include "flags.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "wide-int.h"
+#include "inchash.h"
+#include "tree.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "predict.h"
#include "dominance.h"
diff --git a/gcc/lra-coalesce.c b/gcc/lra-coalesce.c
index 7db148fa59b..045691d5257 100644
--- a/gcc/lra-coalesce.c
+++ b/gcc/lra-coalesce.c
@@ -61,6 +61,21 @@ along with GCC; see the file COPYING3. If not see
#include "input.h"
#include "function.h"
#include "symtab.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "wide-int.h"
+#include "inchash.h"
+#include "tree.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "predict.h"
#include "dominance.h"
diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c
index 5bd8e7c04b8..cdfa94441e0 100644
--- a/gcc/lra-constraints.c
+++ b/gcc/lra-constraints.c
@@ -127,6 +127,22 @@
#include "input.h"
#include "function.h"
#include "symtab.h"
+#include "flags.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "wide-int.h"
+#include "inchash.h"
+#include "tree.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "predict.h"
#include "dominance.h"
diff --git a/gcc/lra-eliminations.c b/gcc/lra-eliminations.c
index a591de63494..fe05a1f2527 100644
--- a/gcc/lra-eliminations.c
+++ b/gcc/lra-eliminations.c
@@ -72,6 +72,22 @@ along with GCC; see the file COPYING3. If not see
#include "input.h"
#include "function.h"
#include "symtab.h"
+#include "flags.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "wide-int.h"
+#include "inchash.h"
+#include "tree.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "predict.h"
#include "dominance.h"
diff --git a/gcc/lra-lives.c b/gcc/lra-lives.c
index bd7e15998fd..50d3969ea3b 100644
--- a/gcc/lra-lives.c
+++ b/gcc/lra-lives.c
@@ -43,6 +43,22 @@ along with GCC; see the file COPYING3. If not see
#include "input.h"
#include "function.h"
#include "symtab.h"
+#include "flags.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "wide-int.h"
+#include "inchash.h"
+#include "tree.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "predict.h"
#include "dominance.h"
diff --git a/gcc/lra-remat.c b/gcc/lra-remat.c
index a32ecca8086..68146a11100 100644
--- a/gcc/lra-remat.c
+++ b/gcc/lra-remat.c
@@ -72,6 +72,22 @@ along with GCC; see the file COPYING3. If not see
#include "input.h"
#include "function.h"
#include "symtab.h"
+#include "flags.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "wide-int.h"
+#include "inchash.h"
+#include "tree.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "predict.h"
#include "dominance.h"
@@ -82,7 +98,6 @@ along with GCC; see the file COPYING3. If not see
#include "ira.h"
#include "sparseset.h"
#include "params.h"
-#include "df.h"
#include "lra-int.h"
/* Number of candidates for rematerialization. */
diff --git a/gcc/lra-spills.c b/gcc/lra-spills.c
index a42a1b3d1ee..184735135dc 100644
--- a/gcc/lra-spills.c
+++ b/gcc/lra-spills.c
@@ -74,6 +74,21 @@ along with GCC; see the file COPYING3. If not see
#include "input.h"
#include "function.h"
#include "symtab.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "wide-int.h"
+#include "inchash.h"
+#include "tree.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "predict.h"
#include "dominance.h"
diff --git a/gcc/lra.c b/gcc/lra.c
index d0a1000ec76..bc6723db242 100644
--- a/gcc/lra.c
+++ b/gcc/lra.c
@@ -125,6 +125,18 @@ along with GCC; see the file COPYING3. If not see
#include "inchash.h"
#include "tree.h"
#include "optabs.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "predict.h"
#include "dominance.h"
diff --git a/gcc/lto-cgraph.c b/gcc/lto-cgraph.c
index 35b1f04fdb8..403d9595d5a 100644
--- a/gcc/lto-cgraph.c
+++ b/gcc/lto-cgraph.c
@@ -38,7 +38,6 @@ along with GCC; see the file COPYING3. If not see
#include "stringpool.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "basic-block.h"
#include "tree-ssa-alias.h"
@@ -46,8 +45,21 @@ along with GCC; see the file COPYING3. If not see
#include "gimple-expr.h"
#include "is-a.h"
#include "gimple.h"
-#include "expr.h"
+#include "hashtab.h"
+#include "rtl.h"
#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
+#include "expr.h"
#include "params.h"
#include "langhooks.h"
#include "bitmap.h"
diff --git a/gcc/lto-section-in.c b/gcc/lto-section-in.c
index 432e3ddd568..7bc014d1252 100644
--- a/gcc/lto-section-in.c
+++ b/gcc/lto-section-in.c
@@ -36,7 +36,6 @@ along with GCC; see the file COPYING3. If not see
#include "fold-const.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "basic-block.h"
#include "tree-ssa-alias.h"
@@ -44,8 +43,21 @@ along with GCC; see the file COPYING3. If not see
#include "gimple-expr.h"
#include "is-a.h"
#include "gimple.h"
-#include "expr.h"
+#include "hashtab.h"
+#include "rtl.h"
#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
+#include "expr.h"
#include "params.h"
#include "diagnostic-core.h"
#include "except.h"
diff --git a/gcc/lto-section-out.c b/gcc/lto-section-out.c
index 63dda15490f..11b7cd0e978 100644
--- a/gcc/lto-section-out.c
+++ b/gcc/lto-section-out.c
@@ -36,7 +36,6 @@ along with GCC; see the file COPYING3. If not see
#include "fold-const.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "basic-block.h"
#include "tree-ssa-alias.h"
@@ -44,6 +43,20 @@ along with GCC; see the file COPYING3. If not see
#include "gimple-expr.h"
#include "is-a.h"
#include "gimple.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "params.h"
#include "except.h"
diff --git a/gcc/lto-streamer-in.c b/gcc/lto-streamer-in.c
index 4540c83afc3..fbb272f7bbf 100644
--- a/gcc/lto-streamer-in.c
+++ b/gcc/lto-streamer-in.c
@@ -37,13 +37,25 @@ along with GCC; see the file COPYING3. If not see
#include "tree.h"
#include "fold-const.h"
#include "stringpool.h"
-#include "expr.h"
+#include "hashtab.h"
+#include "hard-reg-set.h"
+#include "function.h"
+#include "rtl.h"
#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
+#include "expr.h"
#include "params.h"
-#include "input.h"
#include "predict.h"
-#include "hard-reg-set.h"
-#include "function.h"
#include "dominance.h"
#include "cfg.h"
#include "basic-block.h"
@@ -72,7 +84,6 @@ along with GCC; see the file COPYING3. If not see
#include "gimple-streamer.h"
#include "lto-streamer.h"
#include "tree-streamer.h"
-#include "tree-pass.h"
#include "streamer-hooks.h"
#include "cfgloop.h"
diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c
index 3b581918d6a..bc265c2b460 100644
--- a/gcc/lto-streamer-out.c
+++ b/gcc/lto-streamer-out.c
@@ -37,13 +37,25 @@ along with GCC; see the file COPYING3. If not see
#include "fold-const.h"
#include "stor-layout.h"
#include "stringpool.h"
-#include "expr.h"
+#include "hashtab.h"
+#include "hard-reg-set.h"
+#include "function.h"
+#include "rtl.h"
#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
+#include "expr.h"
#include "params.h"
-#include "input.h"
#include "predict.h"
-#include "hard-reg-set.h"
-#include "function.h"
#include "dominance.h"
#include "cfg.h"
#include "basic-block.h"
diff --git a/gcc/modulo-sched.c b/gcc/modulo-sched.c
index 240ae27a6fd..22cd21650f6 100644
--- a/gcc/modulo-sched.c
+++ b/gcc/modulo-sched.c
@@ -48,11 +48,7 @@ along with GCC; see the file COPYING3. If not see
#include "sched-int.h"
#include "target.h"
#include "cfgloop.h"
-#include "hash-set.h"
-#include "machmode.h"
-#include "vec.h"
#include "double-int.h"
-#include "input.h"
#include "alias.h"
#include "symtab.h"
#include "wide-int.h"
@@ -60,6 +56,16 @@ along with GCC; see the file COPYING3. If not see
#include "tree.h"
#include "insn-codes.h"
#include "optabs.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "params.h"
#include "gcov-io.h"
diff --git a/gcc/omp-low.c b/gcc/omp-low.c
index eaad52aed3b..9ec3d497a30 100644
--- a/gcc/omp-low.c
+++ b/gcc/omp-low.c
@@ -41,7 +41,6 @@ along with GCC; see the file COPYING3. If not see
#include "rtl.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -71,11 +70,22 @@ along with GCC; see the file COPYING3. If not see
#include "ssa-iterators.h"
#include "tree-ssanames.h"
#include "tree-into-ssa.h"
+#include "hashtab.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-dfa.h"
#include "tree-ssa.h"
-#include "flags.h"
-#include "expr.h"
#include "tree-pass.h"
#include "except.h"
#include "splay-tree.h"
diff --git a/gcc/optabs.c b/gcc/optabs.c
index 615199a6dc6..e9dc7981c63 100644
--- a/gcc/optabs.c
+++ b/gcc/optabs.c
@@ -45,9 +45,18 @@ along with GCC; see the file COPYING3. If not see
#include "tm_p.h"
#include "flags.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "except.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
diff --git a/gcc/passes.c b/gcc/passes.c
index e78a32546c2..411e3bb4d6a 100644
--- a/gcc/passes.c
+++ b/gcc/passes.c
@@ -32,7 +32,6 @@ along with GCC; see the file COPYING3. If not see
#include "machmode.h"
#include "vec.h"
#include "double-int.h"
-#include "input.h"
#include "alias.h"
#include "symtab.h"
#include "wide-int.h"
@@ -52,6 +51,16 @@ along with GCC; see the file COPYING3. If not see
#include "except.h"
#include "function.h"
#include "toplev.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "predict.h"
#include "basic-block.h"
diff --git a/gcc/postreload-gcse.c b/gcc/postreload-gcse.c
index 8d826328bd3..324264ac652 100644
--- a/gcc/postreload-gcse.c
+++ b/gcc/postreload-gcse.c
@@ -42,13 +42,23 @@ along with GCC; see the file COPYING3. If not see
#include "insn-config.h"
#include "recog.h"
#include "predict.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
#include "cfgrtl.h"
#include "basic-block.h"
#include "profile.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "except.h"
#include "intl.h"
diff --git a/gcc/postreload.c b/gcc/postreload.c
index 67d02d016a3..30fa4498dc7 100644
--- a/gcc/postreload.c
+++ b/gcc/postreload.c
@@ -35,6 +35,21 @@ along with GCC; see the file COPYING3. If not see
#include "input.h"
#include "function.h"
#include "symtab.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "wide-int.h"
+#include "inchash.h"
+#include "tree.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
@@ -51,13 +66,6 @@ along with GCC; see the file COPYING3. If not see
#include "cselib.h"
#include "diagnostic-core.h"
#include "except.h"
-#include "double-int.h"
-#include "input.h"
-#include "alias.h"
-#include "symtab.h"
-#include "wide-int.h"
-#include "inchash.h"
-#include "tree.h"
#include "target.h"
#include "tree-pass.h"
#include "df.h"
diff --git a/gcc/predict.c b/gcc/predict.c
index 97938970211..505c06dc0c8 100644
--- a/gcc/predict.c
+++ b/gcc/predict.c
@@ -47,7 +47,6 @@ along with GCC; see the file COPYING3. If not see
#include "tm_p.h"
#include "hard-reg-set.h"
#include "predict.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -60,6 +59,16 @@ along with GCC; see the file COPYING3. If not see
#include "except.h"
#include "diagnostic-core.h"
#include "recog.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "coverage.h"
#include "sreal.h"
@@ -84,7 +93,6 @@ along with GCC; see the file COPYING3. If not see
#include "tree-ssa-loop.h"
#include "tree-pass.h"
#include "tree-scalar-evolution.h"
-#include "cfgloop.h"
/* real constants: 0, 1, 1-1/REG_BR_PROB_BASE, REG_BR_PROB_BASE,
1/REG_BR_PROB_BASE, 0.5, BB_FREQ_MAX. */
diff --git a/gcc/profile.c b/gcc/profile.c
index 86a70942dfd..a178a1b4e3c 100644
--- a/gcc/profile.c
+++ b/gcc/profile.c
@@ -55,7 +55,6 @@ along with GCC; see the file COPYING3. If not see
#include "flags.h"
#include "regs.h"
#include "symtab.h"
-#include "expr.h"
#include "hashtab.h"
#include "hash-set.h"
#include "vec.h"
@@ -63,6 +62,23 @@ along with GCC; see the file COPYING3. If not see
#include "hard-reg-set.h"
#include "input.h"
#include "function.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "wide-int.h"
+#include "inchash.h"
+#include "tree.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
+#include "expr.h"
#include "predict.h"
#include "dominance.h"
#include "cfg.h"
@@ -71,9 +87,6 @@ along with GCC; see the file COPYING3. If not see
#include "diagnostic-core.h"
#include "coverage.h"
#include "value-prof.h"
-#include "symtab.h"
-#include "inchash.h"
-#include "tree.h"
#include "fold-const.h"
#include "tree-ssa-alias.h"
#include "internal-fn.h"
diff --git a/gcc/recog.c b/gcc/recog.c
index cf7f48d9c43..7b5ca8b9f1e 100644
--- a/gcc/recog.c
+++ b/gcc/recog.c
@@ -40,10 +40,21 @@ along with GCC; see the file COPYING3. If not see
#include "recog.h"
#include "regs.h"
#include "addresses.h"
-#include "expr.h"
-#include "input.h"
+#include "hashtab.h"
#include "function.h"
+#include "rtl.h"
#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
+#include "expr.h"
#include "predict.h"
#include "dominance.h"
#include "cfg.h"
diff --git a/gcc/ree.c b/gcc/ree.c
index 2fea2c880cf..c85ca0afb82 100644
--- a/gcc/ree.c
+++ b/gcc/ree.c
@@ -235,14 +235,23 @@ along with GCC; see the file COPYING3. If not see
#include "regs.h"
#include "hard-reg-set.h"
#include "predict.h"
-#include "machmode.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
#include "cfgrtl.h"
#include "basic-block.h"
#include "insn-config.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-attr.h"
#include "recog.h"
diff --git a/gcc/reginfo.c b/gcc/reginfo.c
index 407d61b6d8f..2a18fb83473 100644
--- a/gcc/reginfo.c
+++ b/gcc/reginfo.c
@@ -41,18 +41,28 @@ along with GCC; see the file COPYING3. If not see
#include "inchash.h"
#include "tree.h"
#include "rtl.h"
+#include "hashtab.h"
+#include "function.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tm_p.h"
-#include "flags.h"
#include "predict.h"
-#include "input.h"
-#include "function.h"
#include "dominance.h"
#include "cfg.h"
#include "basic-block.h"
#include "regs.h"
#include "addresses.h"
-#include "insn-config.h"
#include "recog.h"
#include "reload.h"
#include "diagnostic-core.h"
diff --git a/gcc/reload.c b/gcc/reload.c
index b7b91cd9be1..70b86a9f674 100644
--- a/gcc/reload.c
+++ b/gcc/reload.c
@@ -96,6 +96,30 @@ a register with any other reload. */
#include "tm_p.h"
#include "insn-config.h"
#include "symtab.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "hard-reg-set.h"
+#include "input.h"
+#include "function.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "wide-int.h"
+#include "inchash.h"
+#include "tree.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
@@ -108,14 +132,6 @@ a register with any other reload. */
#include "reload.h"
#include "regs.h"
#include "addresses.h"
-#include "hard-reg-set.h"
-#include "flags.h"
-#include "hashtab.h"
-#include "hash-set.h"
-#include "vec.h"
-#include "machmode.h"
-#include "input.h"
-#include "function.h"
#include "params.h"
#include "target.h"
#include "ira.h"
diff --git a/gcc/reload1.c b/gcc/reload1.c
index b1af1a463a9..5a010454c8e 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -36,6 +36,22 @@ along with GCC; see the file COPYING3. If not see
#include "input.h"
#include "function.h"
#include "symtab.h"
+#include "rtl.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "wide-int.h"
+#include "inchash.h"
+#include "tree.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
@@ -51,13 +67,8 @@ along with GCC; see the file COPYING3. If not see
#include "reload.h"
#include "recog.h"
#include "except.h"
-#include "symtab.h"
-#include "wide-int.h"
-#include "inchash.h"
-#include "tree.h"
#include "ira.h"
#include "target.h"
-#include "emit-rtl.h"
#include "dumpfile.h"
#include "rtl-iter.h"
diff --git a/gcc/reorg.c b/gcc/reorg.c
index 043ba4b8045..8f0e063f3e7 100644
--- a/gcc/reorg.c
+++ b/gcc/reorg.c
@@ -108,7 +108,6 @@ along with GCC; see the file COPYING3. If not see
#include "rtl.h"
#include "tm_p.h"
#include "symtab.h"
-#include "expr.h"
#include "hashtab.h"
#include "hash-set.h"
#include "vec.h"
@@ -116,7 +115,24 @@ along with GCC; see the file COPYING3. If not see
#include "hard-reg-set.h"
#include "input.h"
#include "function.h"
+#include "flags.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "wide-int.h"
+#include "inchash.h"
+#include "tree.h"
#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
+#include "expr.h"
#include "conditions.h"
#include "predict.h"
#include "dominance.h"
@@ -124,7 +140,6 @@ along with GCC; see the file COPYING3. If not see
#include "basic-block.h"
#include "regs.h"
#include "recog.h"
-#include "flags.h"
#include "obstack.h"
#include "insn-attr.h"
#include "resource.h"
@@ -132,7 +147,6 @@ along with GCC; see the file COPYING3. If not see
#include "params.h"
#include "target.h"
#include "tree-pass.h"
-#include "emit-rtl.h"
#ifdef DELAY_SLOTS
diff --git a/gcc/rtl-chkp.c b/gcc/rtl-chkp.c
index 524b3ba1af6..5f12843adb7 100644
--- a/gcc/rtl-chkp.c
+++ b/gcc/rtl-chkp.c
@@ -22,23 +22,39 @@ along with GCC; see the file COPYING3. If not see
#include "system.h"
#include "coretypes.h"
#include "symtab.h"
-#include "expr.h"
-#include "target.h"
-#include "tree-ssa-alias.h"
-#include "internal-fn.h"
-#include "is-a.h"
-#include "predict.h"
-#include "basic-block.h"
+#include "hashtab.h"
#include "hash-set.h"
-#include "machmode.h"
#include "vec.h"
-#include "double-int.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
#include "input.h"
+#include "function.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
#include "alias.h"
-#include "symtab.h"
#include "wide-int.h"
#include "inchash.h"
#include "tree.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
+#include "expr.h"
+#include "target.h"
+#include "tree-ssa-alias.h"
+#include "internal-fn.h"
+#include "is-a.h"
+#include "predict.h"
+#include "basic-block.h"
#include "fold-const.h"
#include "gimple-expr.h"
#include "gimple.h"
diff --git a/gcc/rtlhooks.c b/gcc/rtlhooks.c
index efb15139943..48cb7580478 100644
--- a/gcc/rtlhooks.c
+++ b/gcc/rtlhooks.c
@@ -24,6 +24,30 @@ along with GCC; see the file COPYING3. If not see
#include "rtl.h"
#include "rtlhooks-def.h"
#include "symtab.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "hard-reg-set.h"
+#include "input.h"
+#include "function.h"
+#include "flags.h"
+#include "statistics.h"
+#include "double-int.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "alias.h"
+#include "wide-int.h"
+#include "inchash.h"
+#include "tree.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "recog.h"
diff --git a/gcc/shrink-wrap.c b/gcc/shrink-wrap.c
index 0c7a64c2e4f..3928f3d8fa2 100644
--- a/gcc/shrink-wrap.c
+++ b/gcc/shrink-wrap.c
@@ -41,14 +41,24 @@ along with GCC; see the file COPYING3. If not see
#include "flags.h"
#include "except.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
#include "libfuncs.h"
#include "regs.h"
-#include "insn-config.h"
#include "recog.h"
#include "output.h"
#include "tm_p.h"
diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c
index b1dbc25b495..4ee63d21a58 100644
--- a/gcc/simplify-rtx.c
+++ b/gcc/simplify-rtx.c
@@ -41,10 +41,19 @@ along with GCC; see the file COPYING3. If not see
#include "flags.h"
#include "insn-config.h"
#include "recog.h"
-#include "input.h"
#include "function.h"
#include "insn-codes.h"
#include "optabs.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "diagnostic-core.h"
#include "ggc.h"
diff --git a/gcc/stack-ptr-mod.c b/gcc/stack-ptr-mod.c
index 4f74ed3c46a..5db8fc0efa8 100644
--- a/gcc/stack-ptr-mod.c
+++ b/gcc/stack-ptr-mod.c
@@ -33,16 +33,27 @@ along with GCC; see the file COPYING3. If not see
#include "tree.h"
#include "rtl.h"
#include "regs.h"
+#include "hashtab.h"
+#include "hard-reg-set.h"
+#include "function.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-pass.h"
#include "predict.h"
-#include "hard-reg-set.h"
-#include "input.h"
-#include "function.h"
#include "dominance.h"
#include "cfg.h"
#include "basic-block.h"
-#include "flags.h"
#include "output.h"
#include "df.h"
diff --git a/gcc/stmt.c b/gcc/stmt.c
index 845c789310d..d1333adbb99 100644
--- a/gcc/stmt.c
+++ b/gcc/stmt.c
@@ -45,9 +45,18 @@ along with GCC; see the file COPYING3. If not see
#include "tm_p.h"
#include "flags.h"
#include "except.h"
-#include "input.h"
#include "function.h"
#include "insn-config.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "libfuncs.h"
#include "recog.h"
diff --git a/gcc/stmt.h b/gcc/stmt.h
index 312361f2949..620b0f134b0 100644
--- a/gcc/stmt.h
+++ b/gcc/stmt.h
@@ -31,4 +31,18 @@ extern tree resolve_asm_operand_names (tree, tree, tree, tree);
extern tree tree_overlaps_hard_reg_set (tree, HARD_REG_SET *);
#endif
+/* Return the CODE_LABEL rtx for a LABEL_DECL, creating it if necessary. */
+extern rtx label_rtx (tree);
+
+/* As label_rtx, but additionally the label is placed on the forced label
+ list of its containing function (i.e. it is treated as reachable even
+ if how is not obvious). */
+extern rtx force_label_rtx (tree);
+
+/* Expand a GIMPLE_SWITCH statement. */
+extern void expand_case (gswitch *);
+
+/* Like expand_case but special-case for SJLJ exception dispatching. */
+extern void expand_sjlj_dispatch_table (rtx, vec<tree> );
+
#endif // GCC_STMT_H
diff --git a/gcc/stor-layout.c b/gcc/stor-layout.c
index 8bcee591dc7..273a12b0cf2 100644
--- a/gcc/stor-layout.c
+++ b/gcc/stor-layout.c
@@ -41,8 +41,18 @@ along with GCC; see the file COPYING3. If not see
#include "tm_p.h"
#include "flags.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "diagnostic-core.h"
#include "target.h"
diff --git a/gcc/store-motion.c b/gcc/store-motion.c
index 821d756116d..530766f800d 100644
--- a/gcc/store-motion.c
+++ b/gcc/store-motion.c
@@ -42,7 +42,6 @@ along with GCC; see the file COPYING3. If not see
#include "insn-config.h"
#include "recog.h"
#include "predict.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -51,6 +50,17 @@ along with GCC; see the file COPYING3. If not see
#include "lcm.h"
#include "cfgcleanup.h"
#include "basic-block.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "except.h"
#include "ggc.h"
diff --git a/gcc/target-globals.c b/gcc/target-globals.c
index acd23b9e17d..6983b5cc9b5 100644
--- a/gcc/target-globals.c
+++ b/gcc/target-globals.c
@@ -41,6 +41,17 @@ along with GCC; see the file COPYING3. If not see
#include "hard-reg-set.h"
#include "reload.h"
#include "expmed.h"
+#include "hashtab.h"
+#include "function.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
diff --git a/gcc/targhooks.c b/gcc/targhooks.c
index 9b1657fb9fc..0c141037664 100644
--- a/gcc/targhooks.c
+++ b/gcc/targhooks.c
@@ -53,7 +53,6 @@ along with GCC; see the file COPYING3. If not see
#include "machmode.h"
#include "rtl.h"
#include "hash-set.h"
-#include "machmode.h"
#include "vec.h"
#include "double-int.h"
#include "input.h"
@@ -65,12 +64,23 @@ along with GCC; see the file COPYING3. If not see
#include "fold-const.h"
#include "stor-layout.h"
#include "varasm.h"
+#include "hashtab.h"
+#include "hard-reg-set.h"
+#include "function.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "output.h"
#include "diagnostic-core.h"
-#include "hard-reg-set.h"
-#include "input.h"
-#include "function.h"
#include "target.h"
#include "tm_p.h"
#include "target-def.h"
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 76c41c3686e..7bf177fa970 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -32,7 +32,6 @@ along with GCC; see the file COPYING3. If not see
#include "machmode.h"
#include "vec.h"
#include "double-int.h"
-#include "input.h"
#include "alias.h"
#include "symtab.h"
#include "wide-int.h"
@@ -55,6 +54,16 @@ along with GCC; see the file COPYING3. If not see
#include "except.h"
#include "function.h"
#include "toplev.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "intl.h"
#include "regs.h"
diff --git a/gcc/tree-affine.c b/gcc/tree-affine.c
index 6ba35766da2..a8055d6485a 100644
--- a/gcc/tree-affine.c
+++ b/gcc/tree-affine.c
@@ -32,14 +32,27 @@ along with GCC; see the file COPYING3. If not see
#include "inchash.h"
#include "tree.h"
#include "fold-const.h"
+#include "hashtab.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "function.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-pretty-print.h"
#include "tree-affine.h"
#include "predict.h"
-#include "tm.h"
-#include "hard-reg-set.h"
-#include "input.h"
-#include "function.h"
#include "basic-block.h"
#include "tree-ssa-alias.h"
#include "internal-fn.h"
@@ -47,7 +60,6 @@ along with GCC; see the file COPYING3. If not see
#include "is-a.h"
#include "gimple.h"
#include "gimplify.h"
-#include "flags.h"
#include "dumpfile.h"
#include "cfgexpand.h"
#include "wide-int-print.h"
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index 38e5e7db432..006bc08bbca 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -41,7 +41,6 @@ along with GCC; see the file COPYING3. If not see
#include "tm_p.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -71,6 +70,19 @@ along with GCC; see the file COPYING3. If not see
#include "tree-ssa-loop-manip.h"
#include "tree-ssa-loop-niter.h"
#include "tree-into-ssa.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-dfa.h"
#include "tree-ssa.h"
@@ -86,7 +98,6 @@ along with GCC; see the file COPYING3. If not see
#include "tree-ssa-live.h"
#include "omp-low.h"
#include "tree-cfgcleanup.h"
-#include "wide-int.h"
#include "wide-int-print.h"
/* This file contains functions for building the Control Flow Graph (CFG)
diff --git a/gcc/tree-cfgcleanup.c b/gcc/tree-cfgcleanup.c
index d712b30d69e..5c5c7bace75 100644
--- a/gcc/tree-cfgcleanup.c
+++ b/gcc/tree-cfgcleanup.c
@@ -35,7 +35,6 @@ along with GCC; see the file COPYING3. If not see
#include "tm_p.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -60,6 +59,19 @@ along with GCC; see the file COPYING3. If not see
#include "stringpool.h"
#include "tree-ssanames.h"
#include "tree-ssa-loop-manip.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-dfa.h"
#include "tree-ssa.h"
diff --git a/gcc/tree-chkp-opt.c b/gcc/tree-chkp-opt.c
index aed2c807930..3fa2380d4bf 100644
--- a/gcc/tree-chkp-opt.c
+++ b/gcc/tree-chkp-opt.c
@@ -58,6 +58,23 @@ along with GCC; see the file COPYING3. If not see
#include "gimple-iterator.h"
#include "gimplify.h"
#include "gimplify-me.h"
+#include "hashtab.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "function.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-chkp.h"
#include "ipa-chkp.h"
diff --git a/gcc/tree-chkp.c b/gcc/tree-chkp.c
index c606040aa47..45ac11e33f5 100644
--- a/gcc/tree-chkp.c
+++ b/gcc/tree-chkp.c
@@ -65,6 +65,22 @@ along with GCC; see the file COPYING3. If not see
#include "gimplify.h"
#include "gimplify-me.h"
#include "print-tree.h"
+#include "hashtab.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "function.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-ssa-propagate.h"
#include "gimple-fold.h"
@@ -77,8 +93,6 @@ along with GCC; see the file COPYING3. If not see
#include "cgraph.h"
#include "ipa-chkp.h"
#include "params.h"
-#include "ipa-chkp.h"
-#include "params.h"
/* Pointer Bounds Checker instruments code with memory checks to find
out-of-bounds memory accesses. Checks are performed by computing
diff --git a/gcc/tree-complex.c b/gcc/tree-complex.c
index 69559b71fb3..c5b8688b66e 100644
--- a/gcc/tree-complex.c
+++ b/gcc/tree-complex.c
@@ -37,7 +37,6 @@ along with GCC; see the file COPYING3. If not see
#include "flags.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -57,6 +56,18 @@ along with GCC; see the file COPYING3. If not see
#include "ssa-iterators.h"
#include "stringpool.h"
#include "tree-ssanames.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "statistics.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-dfa.h"
#include "tree-ssa.h"
diff --git a/gcc/tree-data-ref.c b/gcc/tree-data-ref.c
index 20a31bb738f..3d1d5f8c0fe 100644
--- a/gcc/tree-data-ref.c
+++ b/gcc/tree-data-ref.c
@@ -88,13 +88,26 @@ along with GCC; see the file COPYING3. If not see
#include "inchash.h"
#include "tree.h"
#include "fold-const.h"
-#include "expr.h"
-#include "gimple-pretty-print.h"
-#include "predict.h"
+#include "hashtab.h"
#include "tm.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
+#include "expr.h"
+#include "gimple-pretty-print.h"
+#include "predict.h"
#include "dominance.h"
#include "cfg.h"
#include "basic-block.h"
diff --git a/gcc/tree-dfa.c b/gcc/tree-dfa.c
index adf5ad3f23c..8ee46dc81f4 100644
--- a/gcc/tree-dfa.c
+++ b/gcc/tree-dfa.c
@@ -38,7 +38,6 @@ along with GCC; see the file COPYING3. If not see
#include "tm_p.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -58,12 +57,23 @@ along with GCC; see the file COPYING3. If not see
#include "ssa-iterators.h"
#include "stringpool.h"
#include "tree-ssanames.h"
+#include "rtl.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-dfa.h"
#include "tree-inline.h"
#include "tree-pass.h"
#include "params.h"
-#include "wide-int.h"
/* Build and maintain data flow information for trees. */
diff --git a/gcc/tree-eh.c b/gcc/tree-eh.c
index e9bf3f13175..159fa2bee11 100644
--- a/gcc/tree-eh.c
+++ b/gcc/tree-eh.c
@@ -33,12 +33,23 @@ along with GCC; see the file COPYING3. If not see
#include "inchash.h"
#include "tree.h"
#include "fold-const.h"
-#include "expr.h"
-#include "calls.h"
-#include "flags.h"
+#include "hashtab.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
+#include "expr.h"
#include "except.h"
#include "predict.h"
#include "dominance.h"
diff --git a/gcc/tree-if-conv.c b/gcc/tree-if-conv.c
index 96b86a801a8..cb535bc571b 100644
--- a/gcc/tree-if-conv.c
+++ b/gcc/tree-if-conv.c
@@ -99,7 +99,6 @@ along with GCC; see the file COPYING3. If not see
#include "flags.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -130,6 +129,19 @@ along with GCC; see the file COPYING3. If not see
#include "tree-ssa-address.h"
#include "tree-pass.h"
#include "dbgcnt.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
index 8fe92e4eb44..ac16e24e2ed 100644
--- a/gcc/tree-inline.c
+++ b/gcc/tree-inline.c
@@ -39,14 +39,10 @@ along with GCC; see the file COPYING3. If not see
#include "tree-inline.h"
#include "flags.h"
#include "params.h"
-#include "input.h"
#include "insn-config.h"
#include "hashtab.h"
#include "langhooks.h"
#include "predict.h"
-#include "vec.h"
-#include "hash-set.h"
-#include "machmode.h"
#include "hard-reg-set.h"
#include "function.h"
#include "dominance.h"
@@ -73,6 +69,16 @@ along with GCC; see the file COPYING3. If not see
#include "stringpool.h"
#include "tree-ssanames.h"
#include "tree-into-ssa.h"
+#include "rtl.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-dfa.h"
#include "tree-ssa.h"
diff --git a/gcc/tree-into-ssa.c b/gcc/tree-into-ssa.c
index a7bff1e7826..258962882f4 100644
--- a/gcc/tree-into-ssa.c
+++ b/gcc/tree-into-ssa.c
@@ -38,7 +38,6 @@ along with GCC; see the file COPYING3. If not see
#include "langhooks.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -59,6 +58,19 @@ along with GCC; see the file COPYING3. If not see
#include "stringpool.h"
#include "tree-ssanames.h"
#include "tree-into-ssa.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-dfa.h"
#include "tree-ssa.h"
@@ -68,7 +80,6 @@ along with GCC; see the file COPYING3. If not see
#include "domwalk.h"
#include "params.h"
#include "diagnostic-core.h"
-#include "tree-into-ssa.h"
#define PERCENT(x,y) ((float)(x) * 100.0 / (float)(y))
diff --git a/gcc/tree-nested.c b/gcc/tree-nested.c
index 08b9ceab0d8..526e6175577 100644
--- a/gcc/tree-nested.c
+++ b/gcc/tree-nested.c
@@ -36,7 +36,6 @@
#include "stor-layout.h"
#include "tm_p.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "tree-dump.h"
#include "tree-inline.h"
@@ -57,6 +56,20 @@
#include "ipa-ref.h"
#include "cgraph.h"
#include "tree-cfg.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h" /* FIXME: For STACK_SAVEAREA_MODE and SAVE_NONLOCAL. */
#include "langhooks.h"
#include "gimple-low.h"
diff --git a/gcc/tree-outof-ssa.c b/gcc/tree-outof-ssa.c
index af397ad8e97..e6310cdfd3c 100644
--- a/gcc/tree-outof-ssa.c
+++ b/gcc/tree-outof-ssa.c
@@ -36,7 +36,6 @@ along with GCC; see the file COPYING3. If not see
#include "stor-layout.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -68,6 +67,20 @@ along with GCC; see the file COPYING3. If not see
/* FIXME: A lot of code here deals with expanding to RTL. All that code
should be in cfgexpand.c. */
+#include "hashtab.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
/* Return TRUE if expression STMT is suitable for replacement. */
diff --git a/gcc/tree-predcom.c b/gcc/tree-predcom.c
index 0e4d7689e5a..ac32c849a12 100644
--- a/gcc/tree-predcom.c
+++ b/gcc/tree-predcom.c
@@ -203,7 +203,6 @@ along with GCC; see the file COPYING3. If not see
#include "cfgloop.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -227,6 +226,20 @@ along with GCC; see the file COPYING3. If not see
#include "tree-ssa-loop-niter.h"
#include "tree-ssa-loop.h"
#include "tree-into-ssa.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-dfa.h"
#include "tree-ssa.h"
diff --git a/gcc/tree-pretty-print.c b/gcc/tree-pretty-print.c
index 73a61f1b00c..5773eba5843 100644
--- a/gcc/tree-pretty-print.c
+++ b/gcc/tree-pretty-print.c
@@ -33,6 +33,22 @@ along with GCC; see the file COPYING3. If not see
#include "inchash.h"
#include "tree.h"
#include "stor-layout.h"
+#include "hashtab.h"
+#include "hard-reg-set.h"
+#include "function.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-pretty-print.h"
#include "gimple-expr.h"
@@ -40,9 +56,6 @@ along with GCC; see the file COPYING3. If not see
#include "hash-map.h"
#include "is-a.h"
#include "plugin-api.h"
-#include "hard-reg-set.h"
-#include "input.h"
-#include "function.h"
#include "ipa-ref.h"
#include "cgraph.h"
#include "langhooks.h"
diff --git a/gcc/tree-scalar-evolution.c b/gcc/tree-scalar-evolution.c
index d4b246e7d42..d89f6314c4d 100644
--- a/gcc/tree-scalar-evolution.c
+++ b/gcc/tree-scalar-evolution.c
@@ -268,13 +268,26 @@ along with GCC; see the file COPYING3. If not see
#include "inchash.h"
#include "tree.h"
#include "fold-const.h"
-#include "expr.h"
-#include "gimple-pretty-print.h"
-#include "predict.h"
+#include "hashtab.h"
#include "tm.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
+#include "expr.h"
+#include "gimple-pretty-print.h"
+#include "predict.h"
#include "dominance.h"
#include "cfg.h"
#include "basic-block.h"
@@ -304,7 +317,6 @@ along with GCC; see the file COPYING3. If not see
#include "params.h"
#include "tree-ssa-propagate.h"
#include "gimple-fold.h"
-#include "gimplify-me.h"
static tree analyze_scalar_evolution_1 (struct loop *, tree, tree);
static tree analyze_scalar_evolution_for_address_of (struct loop *loop,
diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c
index f560fe0c599..51a1b1a986d 100644
--- a/gcc/tree-sra.c
+++ b/gcc/tree-sra.c
@@ -91,7 +91,6 @@ along with GCC; see the file COPYING3. If not see
#include "fold-const.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -114,6 +113,20 @@ along with GCC; see the file COPYING3. If not see
#include "ssa-iterators.h"
#include "stringpool.h"
#include "tree-ssanames.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-dfa.h"
#include "tree-ssa.h"
@@ -123,10 +136,8 @@ along with GCC; see the file COPYING3. If not see
#include "cgraph.h"
#include "symbol-summary.h"
#include "ipa-prop.h"
-#include "statistics.h"
#include "params.h"
#include "target.h"
-#include "flags.h"
#include "dbgcnt.h"
#include "tree-inline.h"
#include "gimple-pretty-print.h"
diff --git a/gcc/tree-ssa-address.c b/gcc/tree-ssa-address.c
index 444c3a4564d..d6afa2b8d66 100644
--- a/gcc/tree-ssa-address.c
+++ b/gcc/tree-ssa-address.c
@@ -39,7 +39,6 @@ along with GCC; see the file COPYING3. If not see
#include "tm_p.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "basic-block.h"
#include "tree-pretty-print.h"
@@ -53,20 +52,29 @@ along with GCC; see the file COPYING3. If not see
#include "stringpool.h"
#include "tree-ssanames.h"
#include "tree-ssa-loop-ivopts.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-dfa.h"
#include "dumpfile.h"
-#include "flags.h"
#include "tree-inline.h"
#include "tree-affine.h"
/* FIXME: We compute address costs using RTL. */
-#include "insn-config.h"
-#include "rtl.h"
#include "recog.h"
-#include "expr.h"
#include "target.h"
-#include "expmed.h"
#include "tree-ssa-address.h"
/* TODO -- handling of symbols (according to Richard Hendersons
diff --git a/gcc/tree-ssa-alias.c b/gcc/tree-ssa-alias.c
index 84938ecc93c..31db17a7dbf 100644
--- a/gcc/tree-ssa-alias.c
+++ b/gcc/tree-ssa-alias.c
@@ -38,7 +38,6 @@ along with GCC; see the file COPYING3. If not see
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "basic-block.h"
@@ -56,12 +55,24 @@ along with GCC; see the file COPYING3. If not see
#include "gimple-ssa.h"
#include "stringpool.h"
#include "tree-ssanames.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-dfa.h"
#include "tree-inline.h"
#include "params.h"
#include "alloc-pool.h"
-#include "tree-ssa-alias.h"
#include "bitmap.h"
#include "hash-map.h"
#include "plugin-api.h"
diff --git a/gcc/tree-ssa-copyrename.c b/gcc/tree-ssa-copyrename.c
index a5ea091f7a9..f3cb56ef5f9 100644
--- a/gcc/tree-ssa-copyrename.c
+++ b/gcc/tree-ssa-copyrename.c
@@ -35,7 +35,6 @@ along with GCC; see the file COPYING3. If not see
#include "fold-const.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -52,6 +51,19 @@ along with GCC; see the file COPYING3. If not see
#include "gimple-ssa.h"
#include "stringpool.h"
#include "tree-ssanames.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-dfa.h"
#include "tree-inline.h"
diff --git a/gcc/tree-ssa-dce.c b/gcc/tree-ssa-dce.c
index a502293e7dc..c9cb0e48953 100644
--- a/gcc/tree-ssa-dce.c
+++ b/gcc/tree-ssa-dce.c
@@ -61,7 +61,6 @@ along with GCC; see the file COPYING3. If not see
#include "gimple-pretty-print.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -83,10 +82,22 @@ along with GCC; see the file COPYING3. If not see
#include "tree-ssanames.h"
#include "tree-ssa-loop-niter.h"
#include "tree-into-ssa.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-dfa.h"
#include "tree-pass.h"
-#include "flags.h"
#include "cfgloop.h"
#include "tree-scalar-evolution.h"
#include "tree-chkp.h"
diff --git a/gcc/tree-ssa-dse.c b/gcc/tree-ssa-dse.c
index 514d647c71e..ce4e60d7499 100644
--- a/gcc/tree-ssa-dse.c
+++ b/gcc/tree-ssa-dse.c
@@ -35,7 +35,6 @@ along with GCC; see the file COPYING3. If not see
#include "tm_p.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -54,11 +53,24 @@ along with GCC; see the file COPYING3. If not see
#include "ssa-iterators.h"
#include "stringpool.h"
#include "tree-ssanames.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-dfa.h"
#include "tree-pass.h"
#include "domwalk.h"
-#include "flags.h"
#include "langhooks.h"
#include "tree-cfgcleanup.h"
diff --git a/gcc/tree-ssa-forwprop.c b/gcc/tree-ssa-forwprop.c
index aa82ec07852..a4140e5e6ae 100644
--- a/gcc/tree-ssa-forwprop.c
+++ b/gcc/tree-ssa-forwprop.c
@@ -36,7 +36,6 @@ along with GCC; see the file COPYING3. If not see
#include "tm_p.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -58,13 +57,25 @@ along with GCC; see the file COPYING3. If not see
#include "ssa-iterators.h"
#include "stringpool.h"
#include "tree-ssanames.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-dfa.h"
#include "tree-pass.h"
#include "langhooks.h"
-#include "flags.h"
#include "diagnostic.h"
-#include "expr.h"
#include "cfgloop.h"
#include "insn-codes.h"
#include "optabs.h"
diff --git a/gcc/tree-ssa-live.c b/gcc/tree-ssa-live.c
index 6a2b566bd7e..cc164fb32b7 100644
--- a/gcc/tree-ssa-live.c
+++ b/gcc/tree-ssa-live.c
@@ -39,7 +39,6 @@ along with GCC; see the file COPYING3. If not see
#include "sbitmap.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -55,6 +54,20 @@ along with GCC; see the file COPYING3. If not see
#include "ssa-iterators.h"
#include "stringpool.h"
#include "tree-ssanames.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-dfa.h"
#include "timevar.h"
@@ -62,7 +75,6 @@ along with GCC; see the file COPYING3. If not see
#include "tree-ssa-live.h"
#include "diagnostic-core.h"
#include "debug.h"
-#include "flags.h"
#include "tree-ssa.h"
#ifdef ENABLE_CHECKING
diff --git a/gcc/tree-ssa-loop-ivopts.c b/gcc/tree-ssa-loop-ivopts.c
index cb7eac8f71e..d50adb0f257 100644
--- a/gcc/tree-ssa-loop-ivopts.c
+++ b/gcc/tree-ssa-loop-ivopts.c
@@ -80,7 +80,6 @@ along with GCC; see the file COPYING3. If not see
#include "tm_p.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -110,29 +109,39 @@ along with GCC; see the file COPYING3. If not see
#include "tree-ssa-loop-manip.h"
#include "tree-ssa-loop-niter.h"
#include "tree-ssa-loop.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-dfa.h"
#include "tree-ssa.h"
#include "cfgloop.h"
#include "tree-pass.h"
-#include "insn-config.h"
#include "tree-chrec.h"
#include "tree-scalar-evolution.h"
-#include "cfgloop.h"
#include "params.h"
#include "langhooks.h"
#include "tree-affine.h"
#include "target.h"
#include "tree-inline.h"
#include "tree-ssa-propagate.h"
-#include "expmed.h"
#include "tree-ssa-address.h"
#include "builtins.h"
/* FIXME: Expressions are expanded to RTL in this pass to determine the
cost of different addressing modes. This should be moved to a TBD
interface between the GIMPLE and RTL worlds. */
-#include "expr.h"
#include "recog.h"
/* The infinite cost. */
diff --git a/gcc/tree-ssa-loop-niter.c b/gcc/tree-ssa-loop-niter.c
index 7b0313a4e3e..919f5c0d8f2 100644
--- a/gcc/tree-ssa-loop-niter.c
+++ b/gcc/tree-ssa-loop-niter.c
@@ -33,12 +33,24 @@ along with GCC; see the file COPYING3. If not see
#include "tree.h"
#include "fold-const.h"
#include "calls.h"
+#include "hashtab.h"
+#include "hard-reg-set.h"
+#include "function.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tm_p.h"
#include "predict.h"
-#include "hard-reg-set.h"
-#include "input.h"
-#include "function.h"
#include "dominance.h"
#include "cfg.h"
#include "basic-block.h"
@@ -64,7 +76,6 @@ along with GCC; see the file COPYING3. If not see
#include "tree-scalar-evolution.h"
#include "tree-data-ref.h"
#include "params.h"
-#include "flags.h"
#include "diagnostic-core.h"
#include "tree-inline.h"
#include "tree-pass.h"
diff --git a/gcc/tree-ssa-loop-prefetch.c b/gcc/tree-ssa-loop-prefetch.c
index ae31b9e33f5..10e156e997f 100644
--- a/gcc/tree-ssa-loop-prefetch.c
+++ b/gcc/tree-ssa-loop-prefetch.c
@@ -36,7 +36,6 @@ along with GCC; see the file COPYING3. If not see
#include "tm_p.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -70,6 +69,19 @@ along with GCC; see the file COPYING3. If not see
/* FIXME: Needed for optabs, but this should all be moved to a TBD interface
between the GIMPLE and RTL worlds. */
+#include "hashtab.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
diff --git a/gcc/tree-ssa-math-opts.c b/gcc/tree-ssa-math-opts.c
index 16fa1681ce2..479f49f3a90 100644
--- a/gcc/tree-ssa-math-opts.c
+++ b/gcc/tree-ssa-math-opts.c
@@ -102,7 +102,6 @@ along with GCC; see the file COPYING3. If not see
#include "fold-const.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -123,6 +122,19 @@ along with GCC; see the file COPYING3. If not see
#include "ssa-iterators.h"
#include "stringpool.h"
#include "tree-ssanames.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-dfa.h"
#include "tree-ssa.h"
diff --git a/gcc/tree-ssa-phiopt.c b/gcc/tree-ssa-phiopt.c
index 209b4ebb853..bad546dd4b7 100644
--- a/gcc/tree-ssa-phiopt.c
+++ b/gcc/tree-ssa-phiopt.c
@@ -38,7 +38,6 @@ along with GCC; see the file COPYING3. If not see
#include "tm_p.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -58,6 +57,19 @@ along with GCC; see the file COPYING3. If not see
#include "ssa-iterators.h"
#include "stringpool.h"
#include "tree-ssanames.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-dfa.h"
#include "tree-pass.h"
@@ -66,8 +78,6 @@ along with GCC; see the file COPYING3. If not see
#include "cfgloop.h"
#include "tree-data-ref.h"
#include "gimple-pretty-print.h"
-#include "insn-config.h"
-#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
#include "tree-scalar-evolution.h"
diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c
index 497890f6c52..3ef7510df66 100644
--- a/gcc/tree-ssa-pre.c
+++ b/gcc/tree-ssa-pre.c
@@ -36,7 +36,6 @@ along with GCC; see the file COPYING3. If not see
#include "fold-const.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -44,7 +43,6 @@ along with GCC; see the file COPYING3. If not see
#include "basic-block.h"
#include "gimple-pretty-print.h"
#include "tree-inline.h"
-#include "inchash.h"
#include "hash-table.h"
#include "tree-ssa-alias.h"
#include "internal-fn.h"
@@ -64,6 +62,20 @@ along with GCC; see the file COPYING3. If not see
#include "tree-ssanames.h"
#include "tree-ssa-loop.h"
#include "tree-into-ssa.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-dfa.h"
#include "tree-ssa.h"
@@ -71,7 +83,6 @@ along with GCC; see the file COPYING3. If not see
#include "alloc-pool.h"
#include "obstack.h"
#include "tree-pass.h"
-#include "flags.h"
#include "langhooks.h"
#include "cfgloop.h"
#include "tree-ssa-sccvn.h"
diff --git a/gcc/tree-ssa-reassoc.c b/gcc/tree-ssa-reassoc.c
index dab6a6f538a..9952222f715 100644
--- a/gcc/tree-ssa-reassoc.c
+++ b/gcc/tree-ssa-reassoc.c
@@ -39,7 +39,6 @@ along with GCC; see the file COPYING3. If not see
#include "stor-layout.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -65,6 +64,19 @@ along with GCC; see the file COPYING3. If not see
#include "tree-ssanames.h"
#include "tree-ssa-loop-niter.h"
#include "tree-ssa-loop.h"
+#include "hashtab.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-dfa.h"
#include "tree-ssa.h"
@@ -73,7 +85,6 @@ along with GCC; see the file COPYING3. If not see
#include "alloc-pool.h"
#include "langhooks.h"
#include "cfgloop.h"
-#include "flags.h"
#include "target.h"
#include "params.h"
#include "diagnostic-core.h"
diff --git a/gcc/tree-ssa-sccvn.c b/gcc/tree-ssa-sccvn.c
index 9aa1bc3bf2f..25c67d01a7a 100644
--- a/gcc/tree-ssa-sccvn.c
+++ b/gcc/tree-ssa-sccvn.c
@@ -36,7 +36,6 @@ along with GCC; see the file COPYING3. If not see
#include "stor-layout.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -47,7 +46,6 @@ along with GCC; see the file COPYING3. If not see
#include "hash-table.h"
#include "tree-ssa-alias.h"
#include "internal-fn.h"
-#include "inchash.h"
#include "gimple-fold.h"
#include "tree-eh.h"
#include "gimple-expr.h"
@@ -59,12 +57,25 @@ along with GCC; see the file COPYING3. If not see
#include "ssa-iterators.h"
#include "stringpool.h"
#include "tree-ssanames.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-dfa.h"
#include "tree-ssa.h"
#include "dumpfile.h"
#include "alloc-pool.h"
-#include "flags.h"
#include "cfgloop.h"
#include "params.h"
#include "tree-ssa-propagate.h"
diff --git a/gcc/tree-ssa-strlen.c b/gcc/tree-ssa-strlen.c
index 11b9c7db0a3..34776a38c3e 100644
--- a/gcc/tree-ssa-strlen.c
+++ b/gcc/tree-ssa-strlen.c
@@ -40,7 +40,6 @@ along with GCC; see the file COPYING3. If not see
#include "predict.h"
#include "tm.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -60,6 +59,20 @@ along with GCC; see the file COPYING3. If not see
#include "ssa-iterators.h"
#include "stringpool.h"
#include "tree-ssanames.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-dfa.h"
#include "tree-pass.h"
@@ -68,7 +81,6 @@ along with GCC; see the file COPYING3. If not see
#include "tree-ssa-propagate.h"
#include "gimple-pretty-print.h"
#include "params.h"
-#include "expr.h"
#include "plugin-api.h"
#include "ipa-ref.h"
#include "cgraph.h"
diff --git a/gcc/tree-ssa-structalias.c b/gcc/tree-ssa-structalias.c
index 30a493ee102..96d1ce3faeb 100644
--- a/gcc/tree-ssa-structalias.c
+++ b/gcc/tree-ssa-structalias.c
@@ -61,6 +61,17 @@
#include "stringpool.h"
#include "tree-ssanames.h"
#include "tree-into-ssa.h"
+#include "rtl.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
#include "expr.h"
#include "tree-dfa.h"
#include "tree-inline.h"
@@ -69,7 +80,6 @@
#include "alloc-pool.h"
#include "splay-tree.h"
#include "params.h"
-#include "alias.h"
#include "tree-phinodes.h"
#include "ssa-iterators.h"
#include "tree-pretty-print.h"
diff --git a/gcc/tree-switch-conversion.c b/gcc/tree-switch-conversion.c
index 8ac1ea20f22..6b68a161c44 100644
--- a/gcc/tree-switch-conversion.c
+++ b/gcc/tree-switch-conversion.c
@@ -44,7 +44,6 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
#include "stor-layout.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -76,6 +75,18 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
#include "langhooks.h"
/* Need to include expr.h and optabs.h for lshift_cheap_p. */
+#include "hashtab.h"
+#include "rtl.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
diff --git a/gcc/tree-tailcall.c b/gcc/tree-tailcall.c
index 4399befb167..1d065fb17a8 100644
--- a/gcc/tree-tailcall.c
+++ b/gcc/tree-tailcall.c
@@ -36,7 +36,6 @@ along with GCC; see the file COPYING3. If not see
#include "tm_p.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -54,12 +53,25 @@ along with GCC; see the file COPYING3. If not see
#include "stringpool.h"
#include "tree-ssanames.h"
#include "tree-into-ssa.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-dfa.h"
#include "gimple-pretty-print.h"
#include "except.h"
#include "tree-pass.h"
-#include "flags.h"
#include "langhooks.h"
#include "dbgcnt.h"
#include "target.h"
diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c
index 85e7c584c1b..52d6a869c4e 100644
--- a/gcc/tree-vect-data-refs.c
+++ b/gcc/tree-vect-data-refs.c
@@ -40,7 +40,6 @@ along with GCC; see the file COPYING3. If not see
#include "target.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -63,7 +62,6 @@ along with GCC; see the file COPYING3. If not see
#include "tree-ssa-loop-ivopts.h"
#include "tree-ssa-loop-manip.h"
#include "tree-ssa-loop.h"
-#include "dumpfile.h"
#include "cfgloop.h"
#include "tree-chrec.h"
#include "tree-scalar-evolution.h"
@@ -74,11 +72,24 @@ along with GCC; see the file COPYING3. If not see
#include "ipa-ref.h"
#include "cgraph.h"
/* Need to include rtl.h, expr.h, etc. for optabs. */
+#include "hashtab.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
#include "builtins.h"
-#include "varasm.h"
/* Return true if load- or store-lanes optab OPTAB is implemented for
COUNT vectors of type VECTYPE. NAME is the name of OPTAB. */
diff --git a/gcc/tree-vect-generic.c b/gcc/tree-vect-generic.c
index e7e16229ba1..8233c65a86b 100644
--- a/gcc/tree-vect-generic.c
+++ b/gcc/tree-vect-generic.c
@@ -37,7 +37,6 @@ along with GCC; see the file COPYING3. If not see
#include "langhooks.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -61,6 +60,19 @@ along with GCC; see the file COPYING3. If not see
#include "target.h"
/* Need to include rtl.h, expr.h, etc. for optabs. */
+#include "hashtab.h"
+#include "rtl.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c
index fff55dffad0..afc12a7f760 100644
--- a/gcc/tree-vect-loop.c
+++ b/gcc/tree-vect-loop.c
@@ -38,7 +38,6 @@ along with GCC; see the file COPYING3. If not see
#include "stor-layout.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -63,6 +62,20 @@ along with GCC; see the file COPYING3. If not see
#include "tree-ssa-loop-niter.h"
#include "tree-pass.h"
#include "cfgloop.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "recog.h"
#include "insn-codes.h"
diff --git a/gcc/tree-vect-patterns.c b/gcc/tree-vect-patterns.c
index 814222b9b9c..d06d69666ae 100644
--- a/gcc/tree-vect-patterns.c
+++ b/gcc/tree-vect-patterns.c
@@ -37,7 +37,6 @@ along with GCC; see the file COPYING3. If not see
#include "target.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "basic-block.h"
@@ -56,6 +55,20 @@ along with GCC; see the file COPYING3. If not see
#include "stringpool.h"
#include "tree-ssanames.h"
#include "cfgloop.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
diff --git a/gcc/tree-vect-slp.c b/gcc/tree-vect-slp.c
index 1228a071406..ce0ca910302 100644
--- a/gcc/tree-vect-slp.c
+++ b/gcc/tree-vect-slp.c
@@ -39,7 +39,6 @@ along with GCC; see the file COPYING3. If not see
#include "target.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "basic-block.h"
#include "gimple-pretty-print.h"
@@ -56,6 +55,20 @@ along with GCC; see the file COPYING3. If not see
#include "tree-ssanames.h"
#include "tree-pass.h"
#include "cfgloop.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "recog.h" /* FIXME: for insn_data */
#include "insn-codes.h"
diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c
index 43fc51c8f3e..6c3037de850 100644
--- a/gcc/tree-vect-stmts.c
+++ b/gcc/tree-vect-stmts.c
@@ -39,7 +39,6 @@ along with GCC; see the file COPYING3. If not see
#include "target.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -64,13 +63,26 @@ along with GCC; see the file COPYING3. If not see
#include "cfgloop.h"
#include "tree-ssa-loop.h"
#include "tree-scalar-evolution.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "recog.h" /* FIXME: for insn_data */
#include "insn-codes.h"
#include "optabs.h"
#include "diagnostic-core.h"
#include "tree-vectorizer.h"
-#include "dumpfile.h"
#include "hash-map.h"
#include "plugin-api.h"
#include "ipa-ref.h"
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c
index 2e0b158ab0d..acf6b20fd4f 100644
--- a/gcc/tree-vrp.c
+++ b/gcc/tree-vrp.c
@@ -38,7 +38,6 @@ along with GCC; see the file COPYING3. If not see
#include "calls.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -74,11 +73,22 @@ along with GCC; see the file COPYING3. If not see
#include "tree-ssa-propagate.h"
#include "tree-chrec.h"
#include "tree-ssa-threadupdate.h"
+#include "hashtab.h"
+#include "rtl.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
#include "tree-ssa-threadedge.h"
-#include "wide-int.h"
diff --git a/gcc/tree.c b/gcc/tree.c
index ccba9576ffc..f9818b578af 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -50,11 +50,9 @@ along with GCC; see the file COPYING3. If not see
#include "tm_p.h"
#include "hashtab.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "obstack.h"
#include "toplev.h" /* get_random_seed */
-#include "inchash.h"
#include "filenames.h"
#include "output.h"
#include "target.h"
@@ -82,6 +80,16 @@ along with GCC; see the file COPYING3. If not see
#include "tree-phinodes.h"
#include "stringpool.h"
#include "tree-ssanames.h"
+#include "rtl.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-dfa.h"
#include "params.h"
@@ -93,7 +101,6 @@ along with GCC; see the file COPYING3. If not see
#include "except.h"
#include "debug.h"
#include "intl.h"
-#include "wide-int.h"
#include "builtins.h"
/* Tree code classes. */
diff --git a/gcc/tsan.c b/gcc/tsan.c
index 5d080b82e08..7c172620367 100644
--- a/gcc/tsan.c
+++ b/gcc/tsan.c
@@ -34,13 +34,26 @@ along with GCC; see the file COPYING3. If not see
#include "inchash.h"
#include "tree.h"
#include "fold-const.h"
-#include "expr.h"
-#include "intl.h"
+#include "hashtab.h"
#include "tm.h"
-#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
+#include "rtl.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
+#include "expr.h"
+#include "intl.h"
+#include "predict.h"
#include "dominance.h"
#include "cfg.h"
#include "basic-block.h"
@@ -64,7 +77,6 @@ along with GCC; see the file COPYING3. If not see
#include "tree-iterator.h"
#include "langhooks.h"
#include "output.h"
-#include "options.h"
#include "target.h"
#include "diagnostic.h"
#include "tree-ssa-propagate.h"
diff --git a/gcc/ubsan.c b/gcc/ubsan.c
index f4555491251..7c94dab036c 100644
--- a/gcc/ubsan.c
+++ b/gcc/ubsan.c
@@ -45,7 +45,6 @@ along with GCC; see the file COPYING3. If not see
#include "plugin-api.h"
#include "tm.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "ipa-ref.h"
#include "cgraph.h"
@@ -65,6 +64,19 @@ along with GCC; see the file COPYING3. If not see
#include "ubsan.h"
#include "c-family/c-common.h"
#include "rtl.h"
+#include "hashtab.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-ssanames.h"
#include "asan.h"
diff --git a/gcc/value-prof.c b/gcc/value-prof.c
index 03d588a8747..1de8e1b806b 100644
--- a/gcc/value-prof.c
+++ b/gcc/value-prof.c
@@ -35,17 +35,26 @@ along with GCC; see the file COPYING3. If not see
#include "tree-nested.h"
#include "calls.h"
#include "rtl.h"
-#include "expr.h"
+#include "hashtab.h"
#include "hard-reg-set.h"
-#include "predict.h"
-#include "input.h"
#include "function.h"
+#include "flags.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
+#include "expr.h"
+#include "predict.h"
#include "dominance.h"
#include "cfg.h"
#include "basic-block.h"
#include "value-prof.h"
-#include "flags.h"
-#include "insn-config.h"
#include "recog.h"
#include "insn-codes.h"
#include "optabs.h"
@@ -67,7 +76,6 @@ along with GCC; see the file COPYING3. If not see
#include "diagnostic.h"
#include "gimple-pretty-print.h"
#include "coverage.h"
-#include "tree.h"
#include "gcov-io.h"
#include "timevar.h"
#include "dumpfile.h"
@@ -78,7 +86,6 @@ along with GCC; see the file COPYING3. If not see
#include "cgraph.h"
#include "data-streamer.h"
#include "builtins.h"
-#include "tree-nested.h"
#include "params.h"
#include "tree-chkp.h"
diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c
index 76fbf491c9f..9ec5d8bcf81 100644
--- a/gcc/var-tracking.c
+++ b/gcc/var-tracking.c
@@ -106,7 +106,6 @@
#include "hash-table.h"
#include "predict.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
#include "dominance.h"
#include "cfg.h"
@@ -120,6 +119,16 @@
#include "sbitmap.h"
#include "alloc-pool.h"
#include "regs.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "tree-pass.h"
#include "bitmap.h"
@@ -131,8 +140,6 @@
#include "diagnostic.h"
#include "tree-pretty-print.h"
#include "recog.h"
-#include "tm_p.h"
-#include "alias.h"
#include "rtl-iter.h"
#include "fibonacci_heap.h"
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 9847ca60303..36c3633deb4 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -46,8 +46,18 @@ along with GCC; see the file COPYING3. If not see
#include "varasm.h"
#include "flags.h"
#include "hard-reg-set.h"
-#include "input.h"
#include "function.h"
+#include "hashtab.h"
+#include "statistics.h"
+#include "real.h"
+#include "fixed-value.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "stmt.h"
#include "expr.h"
#include "regs.h"
#include "output.h"
diff --git a/gcc/varasm.h b/gcc/varasm.h
index 22f2301531b..d2dafb7a55e 100644
--- a/gcc/varasm.h
+++ b/gcc/varasm.h
@@ -68,4 +68,8 @@ extern bool constructor_static_from_elts_p (const_tree);
extern void init_varasm_status (void);
+extern rtx assemble_static_space (unsigned HOST_WIDE_INT);
+
+extern rtx assemble_trampoline_template (void);
+
#endif // GCC_VARASM_H