1. 15 Jan, 2015 1 commit
    • dojump.h: New header file. · 36566b39
      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
      Prathamesh Kulkarni committed
  2. 09 Jan, 2015 1 commit
    • genattrtab.c (write_header): Include hash-set.h... · 40e23961
      2015-01-09  Michael Collison  <michael.collison@linaro.org>
      	
      	* genattrtab.c (write_header): Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h when generating
      	insn-attrtab.c.
      	* genautomata.c (main) : Include hash-set.h, macInclude hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h when generating
      	insn-automata.c.
      	* genemit.c (main): Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h when generating
      	insn-emit.c.
      	* gengtype.c (open_base_files): Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h when generating
      	gtype-desc.c.
      	* genopinit.c (main): Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h when generating
      	insn-opinit.c.
      	* genoutput.c (output_prologue): Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h when generating
      	insn-output.c.
      	* genpeep.c (main): Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h when generating
      	insn-peep.c.
      	* genpreds.c (write_insn_preds_c): Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h when generating
      	insn-preds.c.
      	* optc-save-gen-awk: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h when generating
      	options-save.c.
      	* opth-gen.awk: Change include guard from GCC_C_COMMON_H to GCC_C_COMMON_C
      	when generating options.h.
      	* ada/gcc-interface/cuintp.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h,
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* ada/gcc-interface/decl.c: ditto.
      	* ada/gcc-interface/misc.c: ditto.
      	* ada/gcc-interface/targtyps.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h,
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* ada/gcc-interface/trans.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, real.h,
      	fold-const.h, wide-int.h, inchash.h due to
      	flattening of tree.h.
      	* ada/gcc-interface/utils.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h,
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* ada/gcc-interface/utils2.c: ditto.
      	* alias.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* asan.c: ditto.
      	* attribs.c: ditto.
      	* auto-inc-dec.c: ditto.
      	* auto-profile.c: ditto
      	* bb-reorder.c: ditto.
      	* bt-load.c: Include symtab.h due to flattening of tree.h.
      	* builtins.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* c/c-array-notation.c: ditto.
      	* c/c-aux-info.c: ditto.
      	* c/c-convert.c: ditto.
      	* c/c-decl.c: ditto.
      	* c/c-errors.c: ditto.
      	* c/c-lang.c: dittoxs.
      	* c/c-objc-common.c: ditto.
      	* c/c-parser.c: ditto.
      	* c/c-typeck.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, inchash.h, real.h and
      	fixed-value.h due to flattening of tree.h.
      	* calls.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* ccmp.c: ditto.
      	* c-family/array-notation-common.c: ditto.
      	* c-family/c-ada-spec.c: ditto.
      	* c-family/c-cilkplus.c: ditto.
      	* c-family/c-common.c: Include input.h due to flattening of tree.h.
      	Define macro GCC_C_COMMON_C.
      	* c-family/c-common.h: Flatten tree.h header files into c-common.h.
      	Remove include of tree-core.h.
      	* c-family/c-cppbuiltin.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* c-family/c-dump.c: ditto.
      	* c-family/c-format.c: Flatten tree.h header files into c-common.h.
      	* c-family/c-cppbuiltin.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* c-family/c-dump.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* c-family/c-format.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, inchash.h and real.h due to
      	flattening of tree.h.
      	* c-family/c-gimplify.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* c-family/cilk.c: ditto.
      	* c-family/c-lex.c: ditto.
      	* c-family/c-omp.c: ditto.
      	* c-family/c-opts.c: ditto.
      	* c-family/c-pch.c: ditto.
      	* c-family/c-ppoutput.c: ditto.
      	* c-family/c-pragma.c: ditto.
      	* c-family/c-pretty-print.c: ditto.
      	* c-family/c-semantics.c: ditto.
      	* c-family/c-ubsan.c: ditto.
      	* c-family/stub-objc.c: ditto.
      	* cfgbuild.c: ditto.
      	* cfg.c: ditto.
      	* cfgcleanup.c: ditto.
      	* cfgexpand.c: ditto.
      	* cfghooks.c: ditto.
      	* cfgloop.c: Include symtab.h, fold-const.h, and
      	inchash.h due to flattening of tree.h.
      	* cfgloopmanip.c: ditto.
      	* cfgrtl.c:  Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* cgraphbuild.c: ditto.
      	* cgraph.c: ditto.
      	* cgraphclones.c: ditto.
      	* cgraphunit.c: ditto.
      	* cilk-common.c: ditto.
      	* combine.c: ditto.
      	* combine-stack-adj.c: Include symbol.h due to flattening of tree.h.
      	* config/aarch64/aarch64-builtins.c:  Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* config/aarch64/aarch64.c: ditto.
      	* config/alpha/alpha.c: ditto.
      	* config/arc/arc.c: ditto.
      	* config/arm/aarch-common.c: ditto.
      	* config/arm/arm-builtins.c: ditto.
      	* config/arm/arm.c: ditto.
      	* config/arm/arm-c.c: ditto.
      	* config/avr/avr.c: ditto.
      	* config/avr/avr-c.c: ditto.
      	* config/avr/avr-log.c: ditto.
      	* config/bfin/bfin.c: ditto.
      	* config/c6x/c6x.c: ditto.
      	* config/cr16/cr16.c: ditto.
      	* config/cris/cris.c: ditto.
      	* config/darwin.c: ditto.
      	* config/darwin-c.c: ditto.
      	* config/default-c.c: ditto.
      	* config/epiphany/epiphany.c: ditto.
      	* config/fr30/fr30.c: ditto.
      	* config/frv/frv.c: ditto.
      	* config/glibc-c.c: ditto.
      	* config/h8300/h8300.c: ditto.
      	* config/i386/i386.c: ditto.
      	* config/i386/i386-c.c: ditto.
      	* config/i386/msformat.c: ditto.
      	* config/i386/winnt.c: ditto.
      	* config/i386/winnt-cxx.c: ditto.
      	* config/i386/winnt-stubs.c: ditto.
      	* config/ia64/ia64.c: ditto.
      	* config/ia64/ia64-c.c: ditto.
      	* config/iq2000/iq2000.c: ditto.
      	* config/lm32/lm32.c: Include symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* config/m32c/m32c.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* config/m32c/m32c-pragma.c: ditto.
      	* config/m32c/m32cr.c: ditto.
      	* config/m68/m68k.c: ditto.
      	* config/mcore/mcore.c: ditto.
      	* config/mep/mep.c: ditto.
      	* config/mep/mep-pragma.c: ditto.
      	* config/microblaze/microblaze.c: ditto.
      	* config/microblaze/microblaze-c.c: ditto.
      	* config/mips/mips.c: ditto.
      	* config/mmix/mmix.c: Include symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* config/mn10300/mn10300.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* config/moxie/moxie.c: ditto.
      	* config/msp430/msp430.c: ditto.
      	* config/msp430/msp430-c.c: ditto.
      	* config/nds32/nds32.c: ditto.
      	* config/nds32/nds32-cost.c: ditto.
      	* config/nds32/nds32-fp-as-gp.c: ditto.
      	* config/nds32/nds32-intrinsic.c: ditto.
      	* config/nds32/nds32-isr.c: ditto.
      	* config/nds32/nds32-md-auxillary.c: ditto.
      	* config/nds32/nds32-memory-manipulationx.c: ditto.
      	* config/nds32/nds32-pipelines-auxillary.c: ditto.
      	* config/nds32/nds32-predicates.c: ditto.
      	* config/nios2/nios2.c: ditto.
      	* config/nvptx/nvptx.c: ditto.
      	* config/pa/pa.c: ditto.
      	* config/pdp11/pdp11x.c: Include symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* config/rl78/rl78.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* config/rl78/rl78-cx.c: ditto.
      	* config/rs6000/rs6000.c: ditto.
      	* config/rs6000/rs6000-c.c: ditto.
      	* config/rx/rx.c: ditto.
      	* config/s390/s390.c: ditto.
      	* config/sh/sh.c: ditto.
      	* config/sh/sc.c: ditto.
      	* config/sh/sh-mem.cc: ditto.
      	* config/sh/sh_treg_combine.cc: Include symtab.h, inchash.h and tree.h
      	due to flattening of tree.h.
      	Remove include of tree-core.h.
      	* config/sol2.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* config/sol2-c.c: ditto.
      	* config/sol2-cxx.c: ditto.
      	* config/sol2-stubs.c: ditto.
      	* config/sparc/sparc.c: ditto.
      	* config/sparc/sparc-cx.c: ditto.
      	* config/spu/spu.c: ditto.
      	* config/spu/spu-c.c: ditto
      	* config/storym16/stormy16.c: ditto.
      	* config/tilegx/tilegx.c: Include symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* config/tilepro/gen-mul-tables.cc: Include symtab.h in generated file.
      	* config/tilegx/tilegx-c.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* config/tilepro/tilepro.c: Include symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* config/tilepro/tilepro-c.c: Include hash-set.h, machmode.h,
      	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
      	fold-const.h, wide-int.h, and inchash.h due to
      	flattening of tree.h.
      	* config/v850/v850.c: ditto.
      	* config/v850/v850-c.c: ditto.
      	* config/vax/vax.c: ditto.
      	* config/vms/vms.c: ditto.
      	* config/vms/vms-c.c: ditto.
      	* config/vxworks.c: ditto.
      	* config/winnt-c.c: ditto.
      	* config/xtensa/xtensa.c: Include symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* convert.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* coverage.c: ditto.
      	* cp/call.c: ditto.
      	* cp/class.c: ditto.
      	* cp/constexpr.c: ditto.
      	* cp/cp-array-notation.c: ditto.
      	* cp/cp-gimplify.c: ditto.
      	* cp/cp-lang.c: ditto.
      	* cp/cp-objcp-common.c: ditto.
      	* cp/cvt.c: ditto.
      	* cp/decl2.c: ditto.
      	* cp/decl.c: ditto.
      	* cp/dump.c: ditto.
      	* cp/error.c: ditto.
      	* cp/except.c: ditto.
      	* cp/expr.c: ditto.
      	* cp/friend.c: ditto.
      	* cp/init.c: ditto.
      	* cp/lambda.c: ditto.
      	* cp/lex.c: ditto.
      	* cp/mangle.c: ditto.
      	* cp/name-lookup.c: ditto.
      	* cp/optimize.c: ditto.
      	* cp/parser.c: ditto.
      	* cp/pt.c: ditto.
      	* cp/ptree.c: ditto.
      	* cp/repo.c: ditto.
      	* cp/rtti.c: ditto.
      	* cp/search.c: ditto.
      	* cp/semantics.c: ditto.
      	* cp/tree.c: ditto.
      	* cp/typeck2.c: ditto.
      	* cp/typeck.c: ditto.
      	* cppbuiltin.c: ditto.
      	* cprop.c: ditto.
      	* cse.c: Add include of symtab.h due to flattening of tree.h.
      	* cselib.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* data-streamer.c: ditto.
      	* data-streamer-in.c: ditto.
      	* data-streamer-out.c: ditto.
      	* dbxout.c: ditto.
      	* dce.c: ditto.
      	* ddg.c: Add include of symtab.h due to flattening of tree.h.
      	* debug.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* dfp.c: ditto.
      	* df-scan.c: ditto.
      	* dojump.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, inchash.h and real.h due to flattening of tree.h.
      	* double-int.c: ditto.
      	* dse.c: ditto.
      	* dumpfile.c: ditto.
      	* dwarf2asm.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, inchash.h and real.h due to flattening of tree.h.
      	* dwarf2cfi.c: ditto.
      	* dwarf2out.c: ditto.
      	* emit-rtl.c: ditto.
      	* except.c: ditto.
      	* explow.c: ditto.
      	* expmed.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* expr.c: ditto.
      	* final.c: ditto.
      	* fixed-value.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, inchash.h and fixed-value.h due to flattening of tree.h.
      	* fold-const.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	Relocate inline function convert_to_ptrofftype_loc from tree.h.
      	Relocate inline function fold_build_pointer_plus_loc from tree.h.
      	Relocate inline function fold_build_pointer_plus_hwi_loc from tree.h.
      	* fold-const.h: Relocate macro convert_to_ptrofftype from tree.h.
      	Relocate macro fold_build_pointer_plus to relocate from tree.h.h.
      	Relocate macro fold_build_pointer_plus_hwi from tree.h.
      	Add prototype for convert_to_ptrofftype_loc relocated from tree.h.
      	Add prototype for fold_build_pointer_plus_loc relocated from tree.h.
      	Add prototype for fold_build_pointer_plus_hwi_loc relocated from tree.h.
      	* fortran/convert.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* fortran/cpp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* fortran/decl.c: ditto.
      	* fortran/f95.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* fortran/iresolve.c: ditto.
      	* fortran/match.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* fortran/module.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* fortran/options.c: ditto.
      	* fortran/target-memory.c: Include hash-set.h, vec.h,
      	double-int.h, input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* fortran/trans-array.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* fortran/trans.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* fortran/trans-common.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* fortran/trans-const.c: ditto.
      	* fortran/trans-decl.c: ditto.
      	* fortran/trans-expr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* fortran/trans-intrinsic.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, inchash.h and real.h due to flattening of tree.h.
      	* fortran/trans-io.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* fortran/trans-openmp.c: ditto.
      	* fortran/trans-stmt.c: ditto.
      	* fortran/trans-types.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, inchash.h and real.h due to flattening of tree.h.
      	* function.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* gcc-plugin.h: Include statistics.h, double-int.h, real.h, fixed-value.h,
      	alias.h, flags.h, and symtab.h due to flattening of tree.h
      	* gcse.c: ditto.
      	* generic-match-head.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* ggc-page.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* gimple-builder.c: ditto.
      	* gimple.c: ditto.
      	* gimple-expr.c: ditto.
      	* gimple-fold.c: ditto.
      	* gimple-iterator.c: ditto.
      	* gimple-low.c: ditto.
      	* gimple-match-head.c: ditto.
      	* gimple-pretty-print.c: ditto.
      	* generic-ssa-isolate-paths.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* gimple-ssa-strength-reduction.c: ditto.
      	* gimple-streamer-in.c: ditto.
      	* gimple-streamer-out.c: ditto.
      	* gimple-walk.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* gimplify.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* gimplify-me.c: ditto.
      	* go/go-gcc.cc: ditto.
      	* go/go-lang.c: ditto.
      	* go/gdump.c: ditto.
      	* graphite-blocking.c: ditto.
      	* graphite.c: ditto.
      	* graphite-dependencies.c: ditto.
      	* graphite-interchange.c: ditto.
      	* graphite-isl-ast-to-gimple.c: ditto.
      	* graphite-optimize-isl.c: ditto.
      	* graphite-poly.c: ditto.
      	* graphite-scop-detection.c: ditto.
      	* graphite-sese-to-poly.c: ditto.
      	* hw-doloop.c: Include symtab.h due to flattening of tree.h.
      	* ifcvt.c: ditto.
      	* init-regs.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* internal-fc.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h,options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* ipa.c: ditto.
      	* ipa-chkp.c: ditto.
      	* ipa-comdats.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* ipa-cp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h,options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* ipa-devirt.c:  Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* ipa-icf.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h,options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* ipa-icf-gimple.c: ditto.
      	* ipa-inline-analysis.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* ipa-inline.c: ditto.
      	* ipa-inline-transform.c: ditto.
      	* ipa-polymorhpic-call.c: ditto.
      	* ipa-profile.c: ditto.
      	* ipa-prop.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* ipa-pure-const.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* ipa-ref.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* ipa-reference.c: ditto.
      	* ipa-split.c: ditto.
      	* ipa-utils.c: ditto.
      	* ipa-visbility.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* ira.c: ditto.
      	* ira-color.c: Include hash-set.h due to flattening of tree.h.
      	* ira-costs.c: ditto.
      	* ira-emit.c: ditto.
      	* java/boehm.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* java/builtins.c: ditto.
      	* java/class.c: ditto.
      	* java/constants.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* java/decl.c: ditto.
      	* java/except.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* java/expr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h,inchash.h and real.h due to flattening of tree.h.
      	* java/gimplify.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* java/jcf-dump.c: ditto.
      	* java/jcf-io.c: ditto.
      	* java/jcf-parse.c: ditto.
      	* java/jvgenmain.c: ditto.
      	* java/lang.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* java/mangle.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* java/mangle_name.c: ditto.
      	* java/resource.c: ditto.
      	* java/typeck.c: ditto.
      	* java/verify-glue.c: ditto.
      	* java/verify-impl.c: ditto.
      	* jump.c: Include symtab.h due to flattening of tree.h.
      	* langhooks.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* loop-doloop.c: Include symtab.h due to flattening of tree.h.
      	* loop-init.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* loop-invariant.c: Include symtab.h due to flattening of tree.h.
      	* loop-iv.c: ditto.
      	* loop-unroll.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* lower-subreg.c: ditto.
      	* lra-assigns.c: Include symtab.h due to flattening of tree.h.
      	* lra.c: Include symtab.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* lra-coalesce.c: Include symtab.h due to flattening of tree.h.
      	* lra-constraints.c: ditto.
      	* lra-eliminations.c: ditto.
      	* lra-livesc: ditto.
      	* lra-remat.c: ditto.
      	* lra-spills.c: ditto.
      	* lto/lto.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* lto/lto-lang.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* lto/lto-object.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* lto/lto-partition.c: ditto.
      	* lto/lto-symtab.c: ditto.
      	* lto-cgraph.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* lto-compress.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* lto-opts.c: ditto.
      	* lto-section-in.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* lto-section-out.c: ditto.
      	* lto-streamer.c: ditto.
      	* lto-streamer-in.c: ditto.
      	* lto-streamer-out.c: ditto.
      	* modulo-sched.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* objc/objc-act.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options, fold-const.h,
      	wide-int.h, and inchash.h due to flattening of tree.h.
      	* objc/objc-encoding.c: ditto.
      	* objc/objc-gnu-runtime-abi-01.c: ditto.
      	* objc/objc-lang.c: ditto.
      	* objc/objc-map.c: ditto.
      	* objc/objc-next-runtime-abi-01.c: ditto.
      	* objc/objc-next-runtime-abi-02.c: ditto.
      	* objc/objc-runtime-shared-support.c: ditto.
      	* objcp/objcp-decl.c: ditto.
      	* objcp/objcp-lang.c: ditto.
      	* omega.c: ditto.
      	* omega-low.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* optabs.c: ditto.
      	* opts-global.c: ditto.
      	* passes.c: ditto.
      	* plugin.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* postreload.c: Include symtab.h due to flattening of tree.h.
      	* postreload-gcse.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* predict.c: ditto.
      	* print-rtl.c: ditto.
      	* print-tree.c: ditto.
      	* profile.c: Include symtab.h, fold-const.h
      	and inchash.h due to flattening of tree.h.
      	* real.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* realmpfr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* recog.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* ree.c: ditto.
      	* reginfo.c: ditto.
      	* reg-stack.c: ditto.
      	* reload1.c: Include symtab.h, fold-const.h, wide-int.h
      	and inchash.h due to flattening of tree.h.
      	* reload.c: Include symtab.h due to flattening of tree.h.
      	* reorg.c: ditto.
      	* rtlanal.c: Include symtab.h, fold-const.h, wide-int.h
      	and inchash.h due to flattening of tree.h.
      	* rtl-chkp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* rtlhooks.c: Include symtab.h due to flattening of tree.h.
      	* sanopt.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* sched-deps.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* sched-vis.c: ditto.
      	* sdbout.c: ditto.
      	* sel-sched.c: Include symtab.h, fold-const.h, wide-int.h
      	and inchash.h due to flattening of tree.h.
      	* sel-sched-ir.c: ditto.
      	* sese.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* shrink-wrap.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* simplify-rtx.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* stack-ptr-mod.c: ditto.
      	* stmt.c: ditto.
      	* store-motion.c: ditto.
      	* store-layout.c: ditto.
      	* stringpool.c: ditto.
      	* symtab.c: ditto.
      	* target-globals.c: ditto.
      	* targhooks.c: ditto.
      	* toplev.c: ditto.
      	* tracer.c: ditto.
      	* trans-mem.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* tree-affine.c: ditto.
      	* tree-browser.c: ditto.
      	* tree.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* tree-call-cdce.c: Include symtab.h, alias.h, double-int.h,
      	fold-const.h, wide-int.h, inchash.h and real.h due to
      	flattening of tree.h.
      	* tree-cfg.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* tree-cfgcleanup.c: ditto.
      	* tree-chkp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* tree-chkp-opt.c: ditto.
      	* tree-chrec.c: ditto.
      	* tree-chkp-opt.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
      	real.h due to flattening of tree.h.
      	* tree-core.h: Flatten header file by removing all #include statements.
      	* tree-data-ref.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* tree-dfa.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
      	real.h due to flattening of tree.h.
      	* tree-diagnostic.c: ditto.
      	* tree-dump.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h, real.h and
      	fixed-value.h due to flattening of tree.h.
      	* tree-dfa.c: ditto.
      	* tree-eh.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
      	real.h due to flattening of tree.h.
      	* tree-emutls.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* tree.h: Flatten header files by removing all includes except tree-core.h.
      	Remove inline function convert_to_ptrofftype_loc to relocate to fold-const.c.
      	Remove macro convert_to_ptrofftype to relocate to fold-const.h.
      	Remove inline function fold_build_pointer_plus_loc to relocate to fold-const.c.
      	Remove macro fold_build_pointer_plus to relocate to fold-const.h.
      	Remove inline function fold_build_pointer_plus_hwi_loc to relocate to fold-const.c.
      	Remove macro fold_build_pointer_plus_hwi to relocate to fold-const.h.
      	* tree-if-conv.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h, real.h and
      	fixed-value.h due to flattening of tree.h.
      	* tree-inline.c: ditto.
      	* tree-into-ssa.c: ditto.
      	* tree-iterator.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* tree-loop-distribution.c: ditto.
      	* tree-nested.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* tree-nrv.c: ditto.
      	* tree-object-size.c: ditto.
      	* tree-outof-ssa.c: ditto.
      	* tree-parloops.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* tree-phinodes.c: ditto.
      	* tree-predcom.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* tree-pretty-print.c: ditto.
      	* tree-profile.c: double-int.h, input.h, alias.h, symtab.h,
      	fold-const.h, wide-int.h and inchash.h due to flattening of tree.h.
      	* tree-scalar-evolution.c: Include hash-set.h, machmode.h, vec.h,
      	double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h and inchash.h due to flattening of tree.h.
      	* tree-sra.c: Include  vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
      	inchash.h due to flattening of tree.h.
      	* tree-ssa-alias.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* tree-ssa.c: ditto.
      	* tree-ssa-ccp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h
      	and real.h due to flattening of tree.h.
      	* tree-ssa-coalesce.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* tree-ssa-copy.c: ditto.
      	* tree-ssa-copyrename.c: ditto.
      	* tree-ssa-dce.c: ditto.
      	* tree-ssa-dom.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h
      	and real.h due to flattening of tree.h.
      	* tree-ssa-dse.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* tree-ssa-forwprop.c: ditto.
      	* tree-ssa-ifcombine.c: ditto.
      	* tree-ssa-live.c: ditto.
      	* tree-ssa-loop.c: ditto.
      	* tree-ssa-loop-ch.c: ditto.
      	* tree-ssa-loop-im.c: ditto.
      	* tree-ssa-loop-ivcanon.c: ditto.
      	* tree-ssa-loop-ivopts.c: ditto.
      	* tree-ssa-loop-manip.c: ditto.
      	* tree-ssa-loop-niter.c: ditto.
      	* tree-ssa-loop-prefetch.c: ditto.
      	* tree-ssa-loop-unswitch.c: ditto.
      	* tree-ssa-loop-math-opts.c: ditto.
      	* tree-ssanames.c: ditto.
      	* tree-ssa-operands.c: ditto.
      	* tree-ssa-phiopt.c: ditto.
      	* tree-ssa-phiprop.c: ditto.
      	* tree-ssa-pre.c: ditto.
      	* tree-ssa-propagate.c: ditto.
      	* tree-ssa-reassoc.c: ditto.
      	* tree-ssa-sccvn.c: ditto.
      	* tree-ssa-sink.c: ditto.
      	* tree-ssa-strlen.c: Include hash-set.h, machmode.h, vec.h,
      	double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h and inchash.h due to flattening of tree.h.
      	* tree-ssa-structalias.c: double-int.h, input.h, alias.h, symtab.h,
      	fold-const.h, wide-int.h and inchash.h due to flattening of tree.h.
      	* tree-ssa-tail-merge.c: Include hash-set.h, machmode.h, vec.h,
      	double-int.h, input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h and inchash.h due to flattening of tree.h.
      	* tree-ssa-ter.c: ditto.
      	* tree-ssa-threadedge.c: ditto.
      	* tree-ssa-threadupdate.c: Include hash-set.h, machmode.h, vec.h,
      	double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h and inchash.h due to flattening of tree.h.
      	* tree-ssa-uncprop.c: Include hash-set.h, machmode.h, vec.h,
      	double-int.h, input.h, alias.h, symtab.h, fold-const.h,
      	wide-int.h and inchash.h due to flattening of tree.h.
      	* tree-ssa-uninit.c: ditto.
      	* tree-stdarg.c: Include vec.h, double-int.h, input.h, alias.h,
      	symtab.h, fold-const.h, wide-int.h and inchash.h due to flattening
      	of tree.h.
      	* tree-streamer.c: Include vec.h, double-int.h, input.h, alias.h,
      	symtab.h, options.h, fold-const.h, wide-int.h and
      	inchash.h due to flattening of tree.h.
      	* tree-streamer-in.c: Include hash-set.h, machmode.h, vec.h,
      	double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
      	wide-int.h, inchash.h, real.h and fixed-value.h due to flattening
      	of tree.h.
      	* tree-streamer-out.c: dittoo.
      	* tree-switch-conversion.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* tree-tailcall.c: ditto.
      	* tree-vect-data-refs.c: ditto.
      	* tree-vect-generic.c: Include hash-set.h, machmode.h, vec.h, double-int.h, input.h,
      	alias.h, symtab.h, options.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* tree-vect-loop.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* tree-vect-loop-manip.c: ditto.
      	* tree-vectorizer.c: ditto.
      	* tree-vect-patterns.c: ditto.
      	* tree-vect-slp.c: ditto.
      	* tree-vect-stmts.c: ditto.
      	* tree-vrp.c: ditto.
      	* tsan.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* ubsan.c: ditto.
      	* value-prof.c.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* varasm.c: ditto.
      	* varpool.c: ditto.
      	* var-tracking.c: ditto.
      	* vmsdbgout.c: ditto.
      	* vtable-verify.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* wide-int.cc: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      	* xcoffout.c: ditto.
      	* libcc1/plugin.cc: Include hash-set.h, machmode.h, vec.h, double-int.h,
      	input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and inchash.h
      	due to flattening of tree.h.
      
      From-SVN: r219402
      Michael Collison committed
  3. 05 Jan, 2015 1 commit
  4. 15 Dec, 2014 2 commits
  5. 19 Nov, 2014 1 commit
  6. 05 Nov, 2014 1 commit
    • Add a no_register_allocation target hook. · a50fa76a
      	* target.def (no_register_allocation): New data hook.
      	* doc/tm.texi.in: Add @hook TARGET_NO_REGISTER_ALLOCATION.
      	* doc/tm.texi: Regenerate.
      	* ira.c (gate_ira): New function.
      	(pass_data_ira): Set has_gate.
      	(pass_ira): Add a gate function.
      	(pass_data_reload): Likewise.
      	(pass_reload): Add a gate function.
      	(pass_ira): Use it.
      	* reload1.c (eliminate_regs): If reg_eliminate_is NULL, assert that
      	no register allocation happens on the target and return.
      	* final.c (alter_subreg): Ensure register is not a pseudo before
      	calling simplify_subreg.
      	(output_operand): Assert that x isn't a pseudo only if doing
      	register allocation.
      
      From-SVN: r217122
      Bernd Schmidt committed
  7. 29 Oct, 2014 1 commit
    • decl.c, [...]: Remove redundant enum from machine_mode. · ef4bddc2
      gcc/ada/
      	* gcc-interface/decl.c, gcc-interface/gigi.h, gcc-interface/misc.c,
      	gcc-interface/trans.c, gcc-interface/utils.c, gcc-interface/utils2.c:
      	Remove redundant enum from machine_mode.
      
      gcc/c-family/
      	* c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
      	enum from machine_mode.
      
      gcc/c/
      	* c-decl.c, c-tree.h, c-typeck.c: Remove redundant enum from
      	machine_mode.
      
      gcc/cp/
      	* constexpr.c: Remove redundant enum from machine_mode.
      
      gcc/fortran/
      	* trans-types.c, trans-types.h: Remove redundant enum from
      	machine_mode.
      
      gcc/go/
      	* go-lang.c: Remove redundant enum from machine_mode.
      
      gcc/java/
      	* builtins.c, java-tree.h, typeck.c: Remove redundant enum from
      	machine_mode.
      
      gcc/lto/
      	* lto-lang.c: Remove redundant enum from machine_mode.
      
      gcc/
      	* addresses.h, alias.c, asan.c, auto-inc-dec.c, bt-load.c, builtins.c,
      	builtins.h, caller-save.c, calls.c, calls.h, cfgexpand.c, cfgloop.h,
      	cfgrtl.c, combine.c, compare-elim.c, config/aarch64/aarch64-builtins.c,
      	config/aarch64/aarch64-protos.h, config/aarch64/aarch64-simd.md,
      	config/aarch64/aarch64.c, config/aarch64/aarch64.h,
      	config/aarch64/aarch64.md, config/alpha/alpha-protos.h,
      	config/alpha/alpha.c, config/arc/arc-protos.h, config/arc/arc.c,
      	config/arc/arc.h, config/arc/predicates.md,
      	config/arm/aarch-common-protos.h, config/arm/aarch-common.c,
      	config/arm/arm-protos.h, config/arm/arm.c, config/arm/arm.h,
      	config/arm/arm.md, config/arm/neon.md, config/arm/thumb2.md,
      	config/avr/avr-log.c, config/avr/avr-protos.h, config/avr/avr.c,
      	config/avr/avr.md, config/bfin/bfin-protos.h, config/bfin/bfin.c,
      	config/c6x/c6x-protos.h, config/c6x/c6x.c, config/c6x/c6x.md,
      	config/cr16/cr16-protos.h, config/cr16/cr16.c,
      	config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.md,
      	config/darwin-protos.h, config/darwin.c,
      	config/epiphany/epiphany-protos.h, config/epiphany/epiphany.c,
      	config/epiphany/epiphany.md, config/fr30/fr30.c,
      	config/frv/frv-protos.h, config/frv/frv.c, config/frv/predicates.md,
      	config/h8300/h8300-protos.h, config/h8300/h8300.c,
      	config/i386/i386-builtin-types.awk, config/i386/i386-protos.h,
      	config/i386/i386.c, config/i386/i386.md, config/i386/predicates.md,
      	config/i386/sse.md, config/i386/sync.md, config/ia64/ia64-protos.h,
      	config/ia64/ia64.c, config/iq2000/iq2000-protos.h,
      	config/iq2000/iq2000.c, config/iq2000/iq2000.md,
      	config/lm32/lm32-protos.h, config/lm32/lm32.c,
      	config/m32c/m32c-protos.h, config/m32c/m32c.c,
      	config/m32r/m32r-protos.h, config/m32r/m32r.c,
      	config/m68k/m68k-protos.h, config/m68k/m68k.c,
      	config/mcore/mcore-protos.h, config/mcore/mcore.c,
      	config/mcore/mcore.md, config/mep/mep-protos.h, config/mep/mep.c,
      	config/microblaze/microblaze-protos.h, config/microblaze/microblaze.c,
      	config/mips/mips-protos.h, config/mips/mips.c,
      	config/mmix/mmix-protos.h, config/mmix/mmix.c,
      	config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
      	config/moxie/moxie.c, config/msp430/msp430-protos.h,
      	config/msp430/msp430.c, config/nds32/nds32-cost.c,
      	config/nds32/nds32-intrinsic.c, config/nds32/nds32-md-auxiliary.c,
      	config/nds32/nds32-protos.h, config/nds32/nds32.c,
      	config/nios2/nios2-protos.h, config/nios2/nios2.c,
      	config/pa/pa-protos.h, config/pa/pa.c, config/pdp11/pdp11-protos.h,
      	config/pdp11/pdp11.c, config/rl78/rl78-protos.h, config/rl78/rl78.c,
      	config/rs6000/altivec.md, config/rs6000/rs6000-c.c,
      	config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
      	config/rs6000/rs6000.h, config/rx/rx-protos.h, config/rx/rx.c,
      	config/s390/predicates.md, config/s390/s390-protos.h,
      	config/s390/s390.c, config/s390/s390.h, config/s390/s390.md,
      	config/sh/predicates.md, config/sh/sh-protos.h, config/sh/sh.c,
      	config/sh/sh.md, config/sparc/predicates.md,
      	config/sparc/sparc-protos.h, config/sparc/sparc.c,
      	config/sparc/sparc.md, config/spu/spu-protos.h, config/spu/spu.c,
      	config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
      	config/tilegx/tilegx-protos.h, config/tilegx/tilegx.c,
      	config/tilegx/tilegx.md, config/tilepro/tilepro-protos.h,
      	config/tilepro/tilepro.c, config/v850/v850-protos.h,
      	config/v850/v850.c, config/v850/v850.md, config/vax/vax-protos.h,
      	config/vax/vax.c, config/vms/vms-c.c, config/xtensa/xtensa-protos.h,
      	config/xtensa/xtensa.c, coverage.c, cprop.c, cse.c, cselib.c, cselib.h,
      	dbxout.c, ddg.c, df-problems.c, dfp.c, dfp.h, doc/md.texi,
      	doc/rtl.texi, doc/tm.texi, doc/tm.texi.in, dojump.c, dse.c,
      	dwarf2cfi.c, dwarf2out.c, dwarf2out.h, emit-rtl.c, emit-rtl.h,
      	except.c, explow.c, expmed.c, expmed.h, expr.c, expr.h, final.c,
      	fixed-value.c, fixed-value.h, fold-const.c, function.c, function.h,
      	fwprop.c, gcse.c, gengenrtl.c, genmodes.c, genopinit.c, genoutput.c,
      	genpreds.c, genrecog.c, gensupport.c, gimple-ssa-strength-reduction.c,
      	graphite-clast-to-gimple.c, haifa-sched.c, hooks.c, hooks.h, ifcvt.c,
      	internal-fn.c, ira-build.c, ira-color.c, ira-conflicts.c, ira-costs.c,
      	ira-emit.c, ira-int.h, ira-lives.c, ira.c, ira.h, jump.c, langhooks.h,
      	libfuncs.h, lists.c, loop-doloop.c, loop-invariant.c, loop-iv.c,
      	loop-unroll.c, lower-subreg.c, lower-subreg.h, lra-assigns.c,
      	lra-constraints.c, lra-eliminations.c, lra-int.h, lra-lives.c,
      	lra-spills.c, lra.c, lra.h, machmode.h, omp-low.c, optabs.c, optabs.h,
      	output.h, postreload.c, print-tree.c, read-rtl.c, real.c, real.h,
      	recog.c, recog.h, ree.c, reg-stack.c, regcprop.c, reginfo.c,
      	regrename.c, regs.h, reload.c, reload.h, reload1.c, rtl.c, rtl.h,
      	rtlanal.c, rtlhash.c, rtlhooks-def.h, rtlhooks.c, sched-deps.c,
      	sel-sched-dump.c, sel-sched-ir.c, sel-sched-ir.h, sel-sched.c,
      	simplify-rtx.c, stmt.c, stor-layout.c, stor-layout.h, target.def,
      	targhooks.c, targhooks.h, tree-affine.c, tree-call-cdce.c,
      	tree-complex.c, tree-data-ref.c, tree-dfa.c, tree-if-conv.c,
      	tree-inline.c, tree-outof-ssa.c, tree-scalar-evolution.c,
      	tree-ssa-address.c, tree-ssa-ccp.c, tree-ssa-loop-ivopts.c,
      	tree-ssa-loop-ivopts.h, tree-ssa-loop-manip.c,
      	tree-ssa-loop-prefetch.c, tree-ssa-math-opts.c, tree-ssa-reassoc.c,
      	tree-ssa-sccvn.c, tree-streamer-in.c, tree-switch-conversion.c,
      	tree-vect-data-refs.c, tree-vect-generic.c, tree-vect-loop.c,
      	tree-vect-patterns.c, tree-vect-slp.c, tree-vect-stmts.c,
      	tree-vrp.c, tree.c, tree.h, tsan.c, ubsan.c, valtrack.c,
      	var-tracking.c, varasm.c: Remove redundant enum from
      	machine_mode.
      gcc/
      	* gengtype.c (main): Treat machine_mode as a scalar typedef.
      	* genmodes.c (emit_insn_modes_h): Hide inline functions if
      	USED_FOR_TARGET.
      
      From-SVN: r216834
      Richard Sandiford committed
  8. 27 Oct, 2014 1 commit
    • ggcplug.c: Shuffle includes to include gcc-plugin.h earlier. · 60393bbc
      2014-10-27  Andrew MacLeod  <amacleod@redhat.com>
      
      	* testsuite/gcc.dg/plugin/ggcplug.c: Shuffle includes to include
      	gcc-plugin.h earlier.
      
      2014-10-27  Andrew MacLeod  <amacleod@redhat.com>
      
      	* c/c-typeck.c: Adjust include files.
      
      2014-10-27  Andrew MacLeod  <amacleod@redhat.com>
      
      	* c-family/c-gimplify.c: Adjust include files.
      
      2014-10-27  Andrew MacLeod  <amacleod@redhat.com>
      
      	* cp/cp-gimplify.c: Adjust include files.
      
      2014-10-27  Andrew MacLeod  <amacleod@redhat.com>
      
      	* go/go-gcc.cc: Adjust include files.
      	* go/go-lang.c: Ditto.
      
      2014-10-27  Andrew MacLeod  <amacleod@redhat.com>
      
      	* java/java-gimplify.c: Adjust include files.
      
      2014-10-27  Andrew MacLeod  <amacleod@redhat.com>
      
      	* lto/lto-lang.c: Adjust include files.
      	* lto/lto-object.c: Ditto.
      	* lto/lto-partition.c: Ditto.
      	* lto/lto-symtab.c: Ditto.
      	* lto/lto.c: Ditto.
      
      2014-10-27  Andrew MacLeod  <amacleod@redhat.com>
      
      	* basic-block.h: Remove all includes.
      	(enum profile_status_d, struct control_flow_graph): Move to cfg.h
      	* cfg.h (profile_status_d, struct control_flow_graph): Relocate here.
      	* Makefile.in (GTFILES): Add cfg.h to list.
      	* cgraph.h (symbol_table::create_empty): Move to cgraph.c.
      	* cgraph.c (symbol_table::create_empty): Relocate from cgraph.h.
      	* genconditions.c (write_header): Add predict.h and basic-block.h to
      	lits of includes.
      	* genemit.c (main): Ditto.
      	* genpreds.c (write_insn_preds_c): Ditto.
      	* genrecog.c (write_header): Ditto.
      	* gengtype.c (open_base_files): Add predict.h, basic-block.h, and cfg.h
      	to list of includes.
      	* alias.c: Adjust include files.
      	* asan.c: Ditto.
      	* auto-inc-dec.c: Ditto.
      	* auto-profile.c: Ditto.
      	* bb-reorder.c: Ditto.
      	* bt-load.c: Ditto.
      	* builtins.c: Ditto.
      	* caller-save.c: Ditto.
      	* calls.c: Ditto.
      	* cfg.c: Ditto.
      	* cfganal.c: Ditto.
      	* cfgbuild.c: Ditto.
      	* cfgcleanup.c: Ditto.
      	* cfgexpand.c: Ditto.
      	* cfghooks.c: Ditto.
      	* cfgloop.c: Ditto.
      	* cfgloopanal.c: Ditto.
      	* cfgloopmanip.c: Ditto.
      	* cfgrtl.c: Ditto.
      	* cgraphbuild.c: Ditto.
      	* cgraphclones.c: Ditto.
      	* cgraphunit.c: Ditto.
      	* combine-stack-adj.c: Ditto.
      	* combine.c: Ditto.
      	* compare-elim.c: Ditto.
      	* coverage.c: Ditto.
      	* cprop.c: Ditto.
      	* cse.c: Ditto.
      	* cselib.c: Ditto.
      	* data-streamer-in.c: Ditto.
      	* data-streamer-out.c: Ditto.
      	* data-streamer.c: Ditto.
      	* dce.c: Ditto.
      	* ddg.c: Ditto.
      	* ddg.h: Ditto.
      	* df-core.c: Ditto.
      	* df-problems.c: Ditto.
      	* df-scan.c: Ditto.
      	* df.h: Ditto.
      	* dojump.c: Ditto.
      	* dominance.c: Ditto.
      	* domwalk.c: Ditto.
      	* dse.c: Ditto.
      	* dwarf2cfi.c: Ditto.
      	* emit-rtl.c: Ditto.
      	* et-forest.c: Ditto.
      	* except.c: Ditto.
      	* expmed.c: Ditto.
      	* expr.c: Ditto.
      	* final.c: Ditto.
      	* fold-const.c: Ditto.
      	* function.c: Ditto.
      	* fwprop.c: Ditto.
      	* gcc-plugin.h: Ditto.
      	* gcse.c: Ditto.
      	* generic-match-head.c: Ditto.
      	* ggc-page.c: Ditto.
      	* gimple-builder.c: Ditto.
      	* gimple-expr.c: Ditto.
      	* gimple-fold.c: Ditto.
      	* gimple-iterator.c: Ditto.
      	* gimple-low.c: Ditto.
      	* gimple-match-head.c: Ditto.
      	* gimple-pretty-print.c: Ditto.
      	* gimple-ssa-isolate-paths.c: Ditto.
      	* gimple-ssa-strength-reduction.c: Ditto.
      	* gimple-streamer-in.c: Ditto.
      	* gimple-streamer-out.c: Ditto.
      	* gimple-streamer.h: Ditto.
      	* gimple-walk.c: Ditto.
      	* gimple.c: Ditto.
      	* gimplify-me.c: Ditto.
      	* gimplify.c: Ditto.
      	* graph.c: Ditto.
      	* graphite-blocking.c: Ditto.
      	* graphite-clast-to-gimple.c: Ditto.
      	* graphite-dependences.c: Ditto.
      	* graphite-interchange.c: Ditto.
      	* graphite-isl-ast-to-gimple.c: Ditto.
      	* graphite-optimize-isl.c: Ditto.
      	* graphite-poly.c: Ditto.
      	* graphite-scop-detection.c: Ditto.
      	* graphite-sese-to-poly.c: Ditto.
      	* graphite.c: Ditto.
      	* haifa-sched.c: Ditto.
      	* hw-doloop.c: Ditto.
      	* ifcvt.c: Ditto.
      	* init-regs.c: Ditto.
      	* internal-fn.c: Ditto.
      	* ipa-cp.c: Ditto.
      	* ipa-devirt.c: Ditto.
      	* ipa-icf-gimple.c: Ditto.
      	* ipa-icf.c: Ditto.
      	* ipa-inline-analysis.c: Ditto.
      	* ipa-inline.c: Ditto.
      	* ipa-polymorphic-call.c: Ditto.
      	* ipa-profile.c: Ditto.
      	* ipa-prop.c: Ditto.
      	* ipa-pure-const.c: Ditto.
      	* ipa-reference.c: Ditto.
      	* ipa-split.c: Ditto.
      	* ipa-utils.c: Ditto.
      	* ipa.c: Ditto.
      	* ira-build.c: Ditto.
      	* ira-color.c: Ditto.
      	* ira-conflicts.c: Ditto.
      	* ira-costs.c: Ditto.
      	* ira-emit.c: Ditto.
      	* ira-lives.c: Ditto.
      	* ira.c: Ditto.
      	* jump.c: Ditto.
      	* lcm.c: Ditto.
      	* loop-doloop.c: Ditto.
      	* loop-init.c: Ditto.
      	* loop-invariant.c: Ditto.
      	* loop-iv.c: Ditto.
      	* loop-unroll.c: Ditto.
      	* lower-subreg.c: Ditto.
      	* lra-assigns.c: Ditto.
      	* lra-coalesce.c: Ditto.
      	* lra-constraints.c: Ditto.
      	* lra-eliminations.c: Ditto.
      	* lra-lives.c: Ditto.
      	* lra-spills.c: Ditto.
      	* lra.c: Ditto.
      	* lto-cgraph.c: Ditto.
      	* lto-compress.c: Ditto.
      	* lto-opts.c: Ditto.
      	* lto-section-in.c: Ditto.
      	* lto-section-out.c: Ditto.
      	* lto-streamer-in.c: Ditto.
      	* lto-streamer-out.c: Ditto.
      	* lto-streamer.c: Ditto.
      	* mcf.c: Ditto.
      	* mode-switching.c: Ditto.
      	* modulo-sched.c: Ditto.
      	* omp-low.c: Ditto.
      	* optabs.c: Ditto.
      	* opts-global.c: Ditto.
      	* passes.c: Ditto.
      	* postreload-gcse.c: Ditto.
      	* postreload.c: Ditto.
      	* predict.c: Ditto.
      	* print-rtl.c: Ditto.
      	* profile.c: Ditto.
      	* recog.c: Ditto.
      	* ree.c: Ditto.
      	* reg-stack.c: Ditto.
      	* regcprop.c: Ditto.
      	* regcprop.h: Ditto.
      	* reginfo.c: Ditto.
      	* regrename.c: Ditto.
      	* regstat.c: Ditto.
      	* reload.c: Ditto.
      	* reload1.c: Ditto.
      	* reorg.c: Ditto.
      	* resource.c: Ditto.
      	* rtlanal.c: Ditto.
      	* sched-deps.c: Ditto.
      	* sched-ebb.c: Ditto.
      	* sched-int.h: Ditto.
      	* sched-rgn.c: Ditto.
      	* sched-vis.c: Ditto.
      	* sel-sched-dump.c: Ditto.
      	* sel-sched-ir.c: Ditto.
      	* sel-sched-ir.h: Ditto.
      	* sel-sched.c: Ditto.
      	* sese.c: Ditto.
      	* shrink-wrap.c: Ditto.
      	* stack-ptr-mod.c: Ditto.
      	* stmt.c: Ditto.
      	* store-motion.c: Ditto.
      	* symtab.c: Ditto.
      	* toplev.c: Ditto.
      	* tracer.c: Ditto.
      	* trans-mem.c: Ditto.
      	* tree-affine.c: Ditto.
      	* tree-call-cdce.c: Ditto.
      	* tree-cfg.c: Ditto.
      	* tree-cfgcleanup.c: Ditto.
      	* tree-chrec.c: Ditto.
      	* tree-complex.c: Ditto.
      	* tree-data-ref.c: Ditto.
      	* tree-dfa.c: Ditto.
      	* tree-eh.c: Ditto.
      	* tree-emutls.c: Ditto.
      	* tree-if-conv.c: Ditto.
      	* tree-inline.c: Ditto.
      	* tree-into-ssa.c: Ditto.
      	* tree-loop-distribution.c: Ditto.
      	* tree-nested.c: Ditto.
      	* tree-nrv.c: Ditto.
      	* tree-object-size.c: Ditto.
      	* tree-outof-ssa.c: Ditto.
      	* tree-parloops.c: Ditto.
      	* tree-phinodes.c: Ditto.
      	* tree-predcom.c: Ditto.
      	* tree-pretty-print.c: Ditto.
      	* tree-profile.c: Ditto.
      	* tree-scalar-evolution.c: Ditto.
      	* tree-sra.c: Ditto.
      	* tree-ssa-address.c: Ditto.
      	* tree-ssa-alias.c: Ditto.
      	* tree-ssa-ccp.c: Ditto.
      	* tree-ssa-coalesce.c: Ditto.
      	* tree-ssa-copy.c: Ditto.
      	* tree-ssa-copyrename.c: Ditto.
      	* tree-ssa-dce.c: Ditto.
      	* tree-ssa-dom.c: Ditto.
      	* tree-ssa-dse.c: Ditto.
      	* tree-ssa-forwprop.c: Ditto.
      	* tree-ssa-ifcombine.c: Ditto.
      	* tree-ssa-live.c: Ditto.
      	* tree-ssa-loop-ch.c: Ditto.
      	* tree-ssa-loop-im.c: Ditto.
      	* tree-ssa-loop-ivcanon.c: Ditto.
      	* tree-ssa-loop-ivopts.c: Ditto.
      	* tree-ssa-loop-manip.c: Ditto.
      	* tree-ssa-loop-niter.c: Ditto.
      	* tree-ssa-loop-prefetch.c: Ditto.
      	* tree-ssa-loop-unswitch.c: Ditto.
      	* tree-ssa-loop.c: Ditto.
      	* tree-ssa-math-opts.c: Ditto.
      	* tree-ssa-operands.c: Ditto.
      	* tree-ssa-phiopt.c: Ditto.
      	* tree-ssa-phiprop.c: Ditto.
      	* tree-ssa-pre.c: Ditto.
      	* tree-ssa-propagate.c: Ditto.
      	* tree-ssa-reassoc.c: Ditto.
      	* tree-ssa-sccvn.c: Ditto.
      	* tree-ssa-sink.c: Ditto.
      	* tree-ssa-strlen.c: Ditto.
      	* tree-ssa-structalias.c: Ditto.
      	* tree-ssa-tail-merge.c: Ditto.
      	* tree-ssa-ter.c: Ditto.
      	* tree-ssa-threadedge.c: Ditto.
      	* tree-ssa-threadupdate.c: Ditto.
      	* tree-ssa-uncprop.c: Ditto.
      	* tree-ssa-uninit.c: Ditto.
      	* tree-ssa.c: Ditto.
      	* tree-ssanames.c: Ditto.
      	* tree-stdarg.c: Ditto.
      	* tree-streamer-in.c: Ditto.
      	* tree-streamer-out.c: Ditto.
      	* tree-streamer.c: Ditto.
      	* tree-switch-conversion.c: Ditto.
      	* tree-tailcall.c: Ditto.
      	* tree-vect-data-refs.c: Ditto.
      	* tree-vect-generic.c: Ditto.
      	* tree-vect-loop-manip.c: Ditto.
      	* tree-vect-loop.c: Ditto.
      	* tree-vect-patterns.c: Ditto.
      	* tree-vect-slp.c: Ditto.
      	* tree-vect-stmts.c: Ditto.
      	* tree-vectorizer.c: Ditto.
      	* tree-vrp.c: Ditto.
      	* tree.c: Ditto.
      	* tsan.c: Ditto.
      	* ubsan.c: Ditto.
      	* valtrack.c: Ditto.
      	* valtrack.h: Ditto.
      	* value-prof.c: Ditto.
      	* var-tracking.c: Ditto.
      	* varasm.c: Ditto.
      	* varpool.c: Ditto.
      	* vtable-verify.c: Ditto.
      	* web.c: Ditto.
      	* config/aarch64/aarch64-builtins.c: Ditto.
      	* config/aarch64/aarch64.c: Ditto.
      	* config/alpha/alpha.c: Ditto.
      	* config/arc/arc.c: Ditto.
      	* config/arm/arm.c: Ditto.
      	* config/avr/avr.c: Ditto.
      	* config/bfin/bfin.c: Ditto.
      	* config/c6x/c6x.c: Ditto.
      	* config/cr16/cr16.c: Ditto.
      	* config/cris/cris.c: Ditto.
      	* config/darwin-c.c: Ditto.
      	* config/darwin.c: Ditto.
      	* config/epiphany/epiphany.c: Ditto.
      	* config/epiphany/mode-switch-use.c: Ditto.
      	* config/epiphany/resolve-sw-modes.c: Ditto.
      	* config/fr30/fr30.c: Ditto.
      	* config/frv/frv.c: Ditto.
      	* config/h8300/h8300.c: Ditto.
      	* config/i386/i386.c: Ditto.
      	* config/i386/winnt.c: Ditto.
      	* config/ia64/ia64.c: Ditto.
      	* config/iq2000/iq2000.c: Ditto.
      	* config/lm32/lm32.c: Ditto.
      	* config/m32c/m32c.c: Ditto.
      	* config/m32r/m32r.c: Ditto.
      	* config/m68k/m68k.c: Ditto.
      	* config/mcore/mcore.c: Ditto.
      	* config/mep/mep.c: Ditto.
      	* config/microblaze/microblaze.c: Ditto.
      	* config/mips/mips.c: Ditto.
      	* config/mmix/mmix.c: Ditto.
      	* config/mn10300/mn10300.c: Ditto.
      	* config/moxie/moxie.c: Ditto.
      	* config/msp430/msp430.c: Ditto.
      	* config/nds32/nds32-cost.c: Ditto.
      	* config/nds32/nds32-fp-as-gp.c: Ditto.
      	* config/nds32/nds32-intrinsic.c: Ditto.
      	* config/nds32/nds32-isr.c: Ditto.
      	* config/nds32/nds32-md-auxiliary.c: Ditto.
      	* config/nds32/nds32-memory-manipulation.c: Ditto.
      	* config/nds32/nds32-pipelines-auxiliary.c: Ditto.
      	* config/nds32/nds32-predicates.c: Ditto.
      	* config/nds32/nds32.c: Ditto.
      	* config/nios2/nios2.c: Ditto.
      	* config/pa/pa.c: Ditto.
      	* config/pdp11/pdp11.c: Ditto.
      	* config/rl78/rl78.c: Ditto.
      	* config/rs6000/rs6000.c: Ditto.
      	* config/rx/rx.c: Ditto.
      	* config/s390/s390.c: Ditto.
      	* config/sh/sh-mem.cc: Ditto.
      	* config/sh/sh.c: Ditto.
      	* config/sh/sh_optimize_sett_clrt.cc: Ditto.
      	* config/sh/sh_treg_combine.cc: Ditto.
      	* config/sparc/sparc.c: Ditto.
      	* config/spu/spu.c: Ditto.
      	* config/stormy16/stormy16.c: Ditto.
      	* config/tilegx/tilegx.c: Ditto.
      	* config/tilepro/tilepro.c: Ditto.
      	* config/v850/v850.c: Ditto.
      	* config/vax/vax.c: Ditto.
      	* config/xtensa/xtensa.c: Ditto.
      
      From-SVN: r216735
      Andrew MacLeod committed
  9. 22 Oct, 2014 2 commits
    • recog.h (constrain_operands): Add an alternative_mask parameter. · daca1a96
      gcc/
      	* recog.h (constrain_operands): Add an alternative_mask parameter.
      	(constrain_operands_cached): Likewise.
      	(get_preferred_alternatives): Declare new form.
      	* recog.c (get_preferred_alternatives): New bb-taking instance.
      	(constrain_operands): Take the set of available alternatives as
      	a parameter.
      	(check_asm_operands, insn_invalid_p, extract_constrain_insn)
      	(extract_constrain_insn_cached): Update calls to constrain_operands.
      	* caller-save.c (reg_save_code): Likewise.
      	* ira.c (setup_prohibited_mode_move_regs): Likewise.
      	* postreload-gcse.c (eliminate_partially_redundant_load): Likewise.
      	* ree.c (combine_reaching_defs): Likewise.
      	* reload.c (can_reload_into): Likewise.
      	* reload1.c (reload, reload_as_needed, inc_for_reload): Likewise.
      	(gen_reload_chain_without_interm_reg_p, emit_input_reload_insns)
      	(emit_insn_if_valid_for_reload): Likewise.
      	* reorg.c (fill_slots_from_thread): Likewise.
      	* config/i386/i386.c (ix86_attr_length_address_default): Likewise.
      	* config/pa/pa.c (pa_can_combine_p): Likewise.
      	* config/rl78/rl78.c (insn_ok_now): Likewise.
      	* config/sh/sh.md (define_peephole2): Likewise.
      	* final.c (final_scan_insn): Update call to constrain_operands_cached.
      
      From-SVN: r216555
      Richard Sandiford committed
    • md.texi: Document "preferred_for_size" and "preferred_for_speed" attributes. · 9840b2fa
      gcc/
      	* doc/md.texi: Document "preferred_for_size" and "preferred_for_speed"
      	attributes.
      	* genattr.c (main): Handle "preferred_for_size" and
      	"preferred_for_speed" in the same way as "enabled".
      	* recog.h (bool_attr): New enum.
      	(target_recog): Replace x_enabled_alternatives with x_bool_attr_masks.
      	(get_preferred_alternatives, check_bool_attrs): Declare.
      	* recog.c (have_bool_attr, get_bool_attr, get_bool_attr_mask_uncached)
      	(get_bool_attr_mask, get_preferred_alternatives, check_bool_attrs):
      	New functions.
      	(get_enabled_alternatives): Use get_bool_attr_mask.
      	* ira-costs.c (record_reg_classes): Use get_preferred_alternatives
      	instead of recog_data.enabled_alternatives.
      	* ira.c (ira_setup_alts): Likewise.
      	* postreload.c (reload_cse_simplify_operands): Likewise.
      	* config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
      	* ira-lives.c (preferred_alternatives): New variable.
      	(process_bb_node_lives): Set it.
      	(check_and_make_def_conflict, make_early_clobber_and_input_conflicts)
      	(single_reg_class, ira_implicitly_set_insn_hard_regs): Use it instead
      	of recog_data.enabled_alternatives.
      	* lra-int.h (lra_insn_recog_data): Replace enabled_alternatives
      	to preferred_alternatives.
      	* lra-constraints.c (process_alt_operands): Update accordingly.
      	* lra.c (lra_set_insn_recog_data): Likewise.
      	(lra_update_insn_recog_data): Assert check_bool_attrs.
      
      From-SVN: r216554
      Richard Sandiford committed
  10. 16 Oct, 2014 1 commit
    • function.h: Flatten file. · 83685514
      2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
      
      	* function.h: Flatten file.  Remove includes, adjust prototypes to 
      	reflect only what is in function.h.
      	(enum direction, struct args_size, struct locate_and_pad_arg_data,
      	ADD_PARM_SIZE, SUB_PARM_SIZE, ARGS_SIZE_TREE, ARGS_SIZE_RTX): Relocate
      	from expr.h.
      	(ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Relocate from rtl.h.
      	(optimize_function_for_size_p, optimize_function_for_speed_p): Move
      	prototypes to predict.h.
      	(init_varasm_status): Move prototype to varasm.h.
      	* expr.h: Adjust include files.
      	(enum direction, struct args_size, struct locate_and_pad_arg_data,
      	ADD_PARM_SIZE, SUB_PARM_SIZE, ARGS_SIZE_TREE, ARGS_SIZE_RTX): Move
      	to function.h.
      	(locate_and_pad_parm): Move prototype to function.h.
      	* rtl.h: (assign_stack_local, ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD,
      	assign_stack_local_1, assign_stack_temp, assign_stack_temp_for_type,
      	assign_temp, reposition_prologue_and_epilogue_notes,
      	prologue_epilogue_contains, sibcall_epilogue_contains,
      	update_temp_slot_address, maybe_copy_prologue_epilogue_insn,
      	set_return_jump_label): Move prototypes to function.h.
      	* predict.h (optimize_function_for_size_p,
      	optimize_function_for_speed_p): Relocate prototypes from function.h.
      	* shrink-wrap.h (emit_return_into_block, active_insn_between,
      	convert_jumps_to_returns, emit_return_for_exit): Move prototypes to
      	function.h.
      	* varasm.h (init_varasm_status): Relocate prototype from function.h.
      	* genattrtab.c (write_header): Add predict.h to include list.
      	* genconditions.c (write_header): Add predict.h to include list.
      	* genemit.c (main): Adjust header file includes.
      	* gengtype.c (ifiles): Add flattened function.h header files.
      	* genoutput.c (output_prologue): Add predict.h to include list.
      	* genpreds.c (write_insn_preds_c): Adjust header file includes.
      	* genrecog.c (write_header): Add flattened function.h header files.
      	* alias.c: Adjust include files.
      	* auto-inc-dec.c: Likewise.
      	* basic-block.h: Likewise.
      	* bb-reorder.c: Likewise.
      	* bt-load.c: Likewise.
      	* builtins.c: Likewise.
      	* caller-save.c: Likewise.
      	* calls.c: Likewise.
      	* cfgbuild.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* cfgexpand.c: Likewise.
      	* cfgloop.c: Likewise.
      	* cfgloop.h: Likewise.
      	* cfgrtl.c: Likewise.
      	* cgraph.h: Likewise.
      	* cgraphclones.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* combine-stack-adj.c: Likewise.
      	* combine.c: Likewise.
      	* coverage.c: Likewise.
      	* cprop.c: Likewise.
      	* cse.c: Likewise.
      	* cselib.c: Likewise.
      	* dbxout.c: Likewise.
      	* ddg.c: Likewise.
      	* df-core.c: Likewise.
      	* df-problems.c: Likewise.
      	* df-scan.c: Likewise.
      	* dojump.c: Likewise.
      	* dwarf2cfi.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* emit-rtl.c: Likewise.
      	* except.c: Likewise.
      	* explow.c: Likewise.
      	* expr.c: Likewise.
      	* final.c: Likewise.
      	* function.c: Likewise.
      	* gcse.c: Likewise.
      	* gimple-fold.c: Likewise.
      	* gimple-low.c: Likewise.
      	* gimple-streamer.h: Likewise.
      	* haifa-sched.c: Likewise.
      	* ifcvt.c: Likewise.
      	* ira.c: Likewise.
      	* jump.c: Likewise.
      	* lcm.c: Likewise.
      	* loop-invariant.c: Likewise.
      	* lra-assigns.c: Likewise.
      	* lra-coalesce.c: Likewise.
      	* lra-constraints.c: Likewise.
      	* lra-eliminations.c: Likewise.
      	* lra-lives.c: Likewise.
      	* lra-spills.c: Likewise.
      	* lra.c: Likewise.
      	* lto-cgraph.c: Likewise.
      	* lto-section-in.c: Likewise.
      	* lto-section-out.c: Likewise.
      	* lto-streamer-in.c: Likewise.
      	* lto-streamer-out.c: Likewise.
      	* mode-switching.c: Likewise.
      	* modulo-sched.c: Likewise.
      	* omp-low.c: Likewise.
      	* optabs.c: Likewise.
      	* passes.c: Likewise.
      	* postreload-gcse.c: Likewise.
      	* postreload.c: Likewise.
      	* predict.c: Likewise.
      	* profile.c: Likewise.
      	* recog.c: Likewise.
      	* ree.c: Likewise.
      	* reg-stack.c: Likewise.
      	* regcprop.c: Likewise.
      	* reginfo.c: Likewise.
      	* regrename.c: Likewise.
      	* reload.c: Likewise.
      	* reload1.c: Likewise.
      	* reorg.c: Likewise.
      	* resource.c: Likewise.
      	* rtlanal.c: Likewise.
      	* sched-deps.c: Likewise.
      	* sched-ebb.c: Likewise.
      	* sched-rgn.c: Likewise.
      	* sel-sched-dump.c: Likewise.
      	* sel-sched-ir.c: Likewise.
      	* sel-sched.c: Likewise.
      	* shrink-wrap.c: Likewise.
      	* simplify-rtx.c: Likewise.
      	* statistics.c: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* store-motion.c: Likewise.
      	* symtab.c: Likewise.
      	* targhooks.c: Likewise.
      	* toplev.c: Likewise.
      	* trans-mem.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-dfa.c: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-nested.c: Likewise.
      	* tree-nrv.c: Likewise.
      	* tree-profile.c: Likewise.
      	* tree-ssa-alias.c: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-copy.c: Likewise.
      	* tree-ssa-copyrename.c: Likewise.
      	* tree-ssa-dom.c: Likewise.
      	* tree-ssa-operands.c: Likewise.
      	* tree-ssa-propagate.c: Likewise.
      	* tree-ssa-structalias.c: Likewise.
      	* tree-ssa-tail-merge.c: Likewise.
      	* tree-ssa-threadedge.c: Likewise.
      	* tree-ssa-threadupdate.c: Likewise.
      	* tree-ssa-uncprop.c: Likewise.
      	* tree-ssa-uninit.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* tree-stdarg.c: Likewise.
      	* tree-tailcall.c: Likewise.
      	* tree.c: Likewise.
      	* tsan.c: Likewise.
      	* valtrack.c: Likewise.
      	* varasm.c: Likewise.
      	* vmsdbgout.c: Likewise.
      	* web.c: Likewise.
      	* testsuite/g++.dg/plugin/pragma_plugin.c: Adjust include files.
      	* config/aarch64/aarch64.c: Add flattened includes from function.h.
      	* config/alpha/alpha.c: Likewise.
      	* config/arc/arc.c: Likewise.
      	* config/arm/arm.c: Likewise.
      	* config/avr/avr-log.c: Likewise.
      	* config/avr/avr.c: Likewise.
      	* config/bfin/bfin.c: Likewise.
      	* config/c6x/c6x.c: Likewise.
      	* config/cr16/cr16.c: Likewise.
      	* config/cris/cris.c: Likewise.
      	* config/darwin.c: Likewise.
      	* config/epiphany/epiphany.c: Likewise.
      	* config/epiphany/mode-switch-use.c: Likewise.
      	* config/epiphany/resolve-sw-modes.c: Likewise.
      	* config/fr30/fr30.c: Likewise.
      	* config/frv/frv.c: Likewise.
      	* config/h8300/h8300.c: Likewise.
      	* config/i386/i386.c: Likewise.
      	* config/ia64/ia64.c: Likewise.
      	* config/iq2000/iq2000.c: Likewise.
      	* config/lm32/lm32.c: Likewise.
      	* config/m32c/m32c.c: Likewise.
      	* config/m32r/m32r.c: Likewise.
      	* config/m68k/m68k.c: Likewise.
      	* config/mcore/mcore.c: Likewise.
      	* config/mep/mep-pragma.c: Likewise.
      	* config/mep/mep.c: Likewise.
      	* config/microblaze/microblaze.c: Likewise.
      	* config/mips/mips.c: Likewise.
      	* config/mmix/mmix.c: Likewise.
      	* config/mn10300/mn10300.c: Likewise.
      	* config/moxie/moxie.c: Likewise.
      	* config/msp430/msp430.c: Likewise.
      	* config/nds32/nds32-cost.c: Likewise.
      	* config/nds32/nds32-fp-as-gp.c: Likewise.
      	* config/nds32/nds32-intrinsic.c: Likewise.
      	* config/nds32/nds32-isr.c: Likewise.
      	* config/nds32/nds32-md-auxiliary.c: Likewise.
      	* config/nds32/nds32-memory-manipulation.c: Likewise.
      	* config/nds32/nds32-pipelines-auxiliary.c: Likewise.
      	* config/nds32/nds32-predicates.c: Likewise.
      	* config/nds32/nds32.c: Likewise.
      	* config/nios2/nios2.c: Likewise.
      	* config/pa/pa.c: Likewise.
      	* config/pdp11/pdp11.c: Likewise.
      	* config/rl78/rl78.c: Likewise.
      	* config/rs6000/rs6000.c: Likewise.
      	* config/rx/rx.c: Likewise.
      	* config/s390/s390.c: Likewise.
      	* config/score/score.c: Likewise.
      	* config/sh/sh.c: Likewise.
      	* config/sparc/sparc.c: Likewise.
      	* config/spu/spu.c: Likewise.
      	* config/stormy16/stormy16.c: Likewise.
      	* config/tilegx/tilegx.c: Likewise.
      	* config/tilepro/tilepro.c: Likewise.
      	* config/v850/v850.c: Likewise.
      	* config/vax/vax.c: Likewise.
      	* config/xtensa/xtensa.c: Likewise.
      
      
      2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
      
      	* ada/gcc-interface/misc.c: Adjust include files.
      
      2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
      
      	* c/c-decl.c: Adjust include files.
      
      2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
      
      	* c-family/c-pragma.c: Adjust include files.
      	* c-family/c-semantics.c: Likewise.
      
      2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
      
      	* cp/cp-tree.h: Adjust include files.
      
      2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
      
      	* fortran/f95-lang.c: Adjust include files.
      	* fortran/trans-decl.c: Likewise.
      
      2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
      
      	* java/class.c: Adjust include files.
      	* java/resource.c: Likewise.
      
      2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
      
      	* objc/objc-act.c: Adjust include files.
      
      From-SVN: r216337
      Andrew MacLeod committed
  11. 14 Oct, 2014 2 commits
    • ira.c: Fix typo in comment. · df3e3493
      2014-10-14  Kito Cheng  <kito@0xlab.org>
      
      	* ira.c: Fix typo in comment.
      	* ira.h: Ditto.
      	* ira-build.c: Ditto.
      	* ira-color.c: Ditto.
      	* ira-emit.c: Ditto.
      	* ira-int.h: Ditto.
      	* ira-lives.c: Ditto.
      
      From-SVN: r216218
      Kito Cheng committed
    • ira.c (struct equivalence): Change member "is_arg_equivalence" and "replace"… · 5ffa4e6a
      ira.c (struct equivalence): Change member "is_arg_equivalence" and "replace" into boolean bitfields...
      
      gcc/
              * ira.c (struct equivalence): Change member "is_arg_equivalence" and
              "replace" into boolean bitfields; turn member "loop_depth" into a short
              integer; add new member "no_equiv" and "reserved".
              (no_equiv): Set no_equiv of struct equivalence if register is marked
              as having no known equivalence.
              (update_equiv_regs): Check all definitions for a multiple-set
              register to make sure that the RHS have the same value.
      
      Co-Authored-By: Jeff Law <law@redhat.com>
      
      From-SVN: r216169
      Felix Yang committed
  12. 13 Oct, 2014 1 commit
    • re PR target/8340 (ICE on x86 inline asm w/ -fPIC) · bcb21886
      gcc/
      	PR target/8340
      	PR middle-end/47602
      	PR rtl-optimization/55458
      	* config/i386/i386.c (ix86_use_pseudo_pic_reg): New.
      	(ix86_init_pic_reg): New.
      	(ix86_select_alt_pic_regnum): Add check on pseudo register.
      	(ix86_save_reg): Likewise.
      	(ix86_expand_prologue): Remove PIC register initialization
      	now performed in ix86_init_pic_reg.
      	(ix86_output_function_epilogue): Add check on pseudo register.
      	(set_pic_reg_ever_alive): New.
      	(legitimize_pic_address): Replace df_set_regs_ever_live with new
      	set_pic_reg_ever_alive.
      	(legitimize_tls_address): Likewise.
      	(ix86_pic_register_p): New check.
      	(ix86_delegitimize_address): Add check on pseudo register.
      	(ix86_expand_call): Insert move from pseudo PIC register to ABI
      	defined REAL_PIC_OFFSET_TABLE_REGNUM.
      	(TARGET_INIT_PIC_REG): New.
      	(TARGET_USE_PSEUDO_PIC_REG): New.
      	* config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Return INVALID_REGNUM
      	if pic_offset_table_rtx exists.
      	* doc/tm.texi.in (TARGET_USE_PSEUDO_PIC_REG, TARGET_INIT_PIC_REG):
      	Document.
      	* doc/tm.texi: Regenerate.
      	* function.c (assign_parms): Generate pseudo register for PIC.
      	* init-regs.c (initialize_uninitialized_regs): Ignor pseudo PIC
      	register.
      	* ira-color.c (color_pass): Add check on pseudo register.
      	* ira-emit.c (change_loop): Don't create copies for PIC pseudo
      	register.
      	* ira.c (split_live_ranges_for_shrink_wrap): Add check on pseudo
      	register.
      	(ira): Add target specific PIC register initialization.
      	(do_reload): Keep PIC pseudo register.
      	* lra-assigns.c (spill_for): Add checks on pseudo register.
      	* lra-constraints.c (contains_symbol_ref_p): New.
      	(lra_constraints): Enable lra risky transformations when PIC is pseudo
      	register.
      	* shrink-wrap.c (try_shrink_wrapping): Add check on pseudo register.
      	* target.def (use_pseudo_pic_reg): New.
      	(init_pic_reg): New.
      
      gcc/testsuite/
      	PR target/8340
      	PR middle-end/47602
      	PR rtl-optimization/55458
      	* gcc.target/i386/pic-1.c: Remove dg-error as test should pass now.
      	* gcc.target/i386/pr55458.c: Likewise.
      	* gcc.target/i386/pr47602.c: New.
      	* gcc.target/i386/pr23098.c: Move to XFAIL.
      
      From-SVN: r216154
      Kirill Yukhin committed
  13. 10 Oct, 2014 1 commit
    • ira.c (struct equivalence): Promote INIT_INSNs field to an rtx_insn_list. · fb0ab697
              * ira.c (struct equivalence): Promote INIT_INSNs field to
              an rtx_insn_list.  Add comments.
              (no_equiv): Promote LIST to an rtx_insn_list.  Update
              testing for and creating the special marker.  Use methods
              to extract the insn and next pointers.  Promote INSN to an
              rtx_insn.
              (update_equiv_regs): Update test for special marker in the
              INIT_INSNs list.
      
      From-SVN: r216095
      Jeff Law committed
  14. 19 Sep, 2014 1 commit
  15. 16 Sep, 2014 1 commit
    • Clean up useless initialization for IRA if using LRA. · 9994ad20
      gcc/
      	* ira.c (ira): Don't initialize ira_spilled_reg_stack_slots and
      	ira_spilled_reg_stack_slots_num if using lra.
      	(do_reload): Remove release ira_spilled_reg_stack_slots part.
      	* ira-color.c (ira_sort_regnos_for_alter_reg): Add assertion to
      	make sure not using lra.
      	(ira_reuse_stack_slot): Likewise.
      	(ira_mark_new_stack_slot): Likewise.
      
      From-SVN: r215286
      Kito Cheng committed
  16. 12 Sep, 2014 1 commit
    • ira.h (ira_finish_once): Delete. · 19c708dc
      gcc/
      	* ira.h (ira_finish_once): Delete.
      	* ira-int.h (target_ira_int::~target_ira_int): Declare.
      	(target_ira_int::free_ira_costs): Likewise.
      	(target_ira_int::free_register_move_costs): Likewise.
      	(ira_finish_costs_once): Delete.
      	* ira.c (free_register_move_costs): Replace with...
      	(target_ira_int::free_register_move_costs): ...this new function.
      	(target_ira_int::~target_ira_int): Define.
      	(ira_init): Call free_register_move_costs as a member function rather
      	than a global function.
      	(ira_finish_once): Delete.
      	* ira-costs.c (free_ira_costs): Replace with...
      	(target_ira_int::free_ira_costs): ...this new function.
      	(ira_init_costs): Call free_ira_costs as a member function rather
      	than a global function.
      	(ira_finish_costs_once): Delete.
      	* target-globals.c (target_globals::~target_globals): Call the
      	target_ira_int destructor.
      	* toplev.c: Include lra.h.
      	(finalize): Call lra_finish_once rather than ira_finish_once.
      
      From-SVN: r215200
      Richard Sandiford committed
  17. 09 Sep, 2014 4 commits
    • single_set takes an insn · e8a54173
      gcc/ChangeLog:
      2014-09-09  David Malcolm  <dmalcolm@redhat.com>
      
      	* rtl.h (single_set_2): Strengthen first param from const_rtx to
      	const rtx_insn *, and move prototype to above...
      	(single_set): ...this.  Convert this from a macro to an inline
      	function, enforcing the requirement that the param is a const
      	rtx_insn *.
      	(find_args_size_adjust): Strengthen param from rtx to rtx_insn *.
      
      	* config/arm/aarch-common-protos.h (aarch_crypto_can_dual_issue):
      	Strengthen both params from rtx to rtx_insn *.
      	* config/arm/aarch-common.c (aarch_crypto_can_dual_issue):
      	Likewise; introduce locals "producer_set", "consumer_set", using
      	them in place of "producer" and "consumer" when dealing with SET
      	rather than insn.
      	* config/avr/avr.c (avr_out_plus): Add checked cast to rtx_insn *
      	when invoking single_set in region guarded by INSN_P.
      	(avr_out_bitop): Likewise.
      	(_reg_unused_after): Introduce local rtx_sequence * "seq" in
      	region guarded by GET_CODE check, using methods to strengthen
      	local "this_insn" from rtx to rtx_insn *, and for clarity.
      	* config/avr/avr.md (define_insn_and_split "xload8<mode>_A"):
      	Strengthen local "insn" from rtx to rtx_insn *.
      	(define_insn_and_split "xload<mode>_A"): Likewise.
      	* config/bfin/bfin.c (trapping_loads_p): Likewise for param
      	"insn".
      	(find_load): Likewise for return type.
      	(workaround_speculation): Likewise for both locals named
      	"load_insn".
      	* config/cris/cris.c (cris_cc0_user_requires_cmp): Likewise for
      	local "cc0_user".
      	* config/cris/cris.md (define_peephole2 ; moversideqi): Likewise
      	for local "prev".
      	* config/h8300/h8300-protos.h (notice_update_cc): Likewise for
      	param 2.
      	* config/h8300/h8300.c (notice_update_cc): Likewise.
      	* config/i386/i386.c (ix86_flags_dependent): Likewise for params
      	"insn" and "dep_insn".
      	(exact_store_load_dependency): Likewise for both params.
      	(ix86_macro_fusion_pair_p): Eliminate local named "single_set"
      	since this now clashes with inline function.  Instead, delay
      	calling single_set until the point where its needed, and then
      	assign the result to "compare_set" and rework the conditional that
      	follows.
      	* config/ia64/ia64.md (define_expand "tablejump"): Strengthen
      	local "last" from rtx to rtx_insn *.
      	* config/mips/mips-protos.h (mips_load_store_insns): Likewise for
      	second param.
      	(mips_store_data_bypass_p): Likewise for both params.
      	* config/mips/mips.c (mips_load_store_insns): Likewise for second
      	param.
      	(mips_store_data_bypass_p): Likewise for both params.
      	(mips_orphaned_high_part_p): Likewise for param "insn".
      	* config/mn10300/mn10300.c (extract_bundle): Likewise.
      	(mn10300_bundle_liw): Likewise for locals "r", "insn1", "insn2".
      	Introduce local rtx "insn2_pat".
      	* config/rl78/rl78.c (move_elim_pass): Likewise for locals "insn",
      	"ninsn".
      	(rl78_remove_unused_sets): Likewise for locals "insn", "ninsn".
      	Introduce local rtx "set", using it in place of "insn" for the
      	result of single_set.  This appears to fix a bug, since the call
      	to find_regno_note on a SET does nothing.
      	* config/rs6000/rs6000.c (set_to_load_agen): Strengthen both
      	params from rtx to rtx_insn *.
      	(set_to_load_agen): Likewise.
      	* config/s390/s390.c (s390_label_align): Likewise for local
      	"prev_insn".  Introduce new rtx locals "set" and "src", using
      	them in place of "prev_insn" for the results of single_set
      	and SET_SRC respectively.
      	(s390_swap_cmp): Strengthen local "jump" from rtx to rtx_insn *.
      	Introduce new rtx local "set" using in place of "jump" for the
      	result of single_set.  Use SET_SRC (set) rather than plain
      	XEXP (set, 1).
      	* config/sh/sh.c (noncall_uses_reg): Strengthen param 2from
      	rtx to rtx_insn *.
      	(noncall_uses_reg): Likewise.
      	(reg_unused_after): Introduce local rtx_sequence * "seq" in region
      	guarded by GET_CODE check, using its methods for clarity, and to
      	enable strengthening local "this_insn" from rtx to rtx_insn *.
      	* config/sh/sh.md (define_expand "mulhisi3"): Strengthen local
      	"insn" from rtx to rtx_insn *.
      	(define_expand "umulhisi3"): Likewise.
      	(define_expand "smulsi3_highpart"): Likewise.
      	(define_expand "umulsi3_highpart"): Likewise.
      	* config/sparc/sparc.c (sparc_do_work_around_errata): Likewise for
      	local "after".  Replace GET_CODE check with a dyn_cast,
      	introducing new local rtx_sequence * "seq", using insn method for
      	typesafety.
      
      	* dwarf2cfi.c (dwarf2out_frame_debug): Strengthen param "insn"
      	from rtx to rtx_insn *.  Introduce local rtx "pat", using it in
      	place of "insn" once we're dealing with patterns rather than the
      	input insn.
      	(scan_insn_after): Strengthen param "insn" from rtx to rtx_insn *.
      	(scan_trace): Likewise for local "elt", updating lookups within
      	sequence to use insn method rather than element method.
      	* expr.c (find_args_size_adjust): Strengthen param "insn" from rtx
      	to rtx_insn *.
      	* gcse.c (gcse_emit_move_after): Likewise for local "new_rtx".
      	* ifcvt.c (noce_try_abs): Likewise for local "insn".
      	* ira.c (fix_reg_equiv_init): Add checked cast to rtx_insn * when
      	invoking single_set.
      	* lra-constraints.c (insn_rhs_dead_pseudo_p): Strengthen param
      	"insn" from rtx to rtx_insn *.
      	(skip_usage_debug_insns): Likewise for return type, adding a
      	checked cast.
      	(check_secondary_memory_needed_p): Likewise for local "insn".
      	(inherit_reload_reg): Likewise.
      	* modulo-sched.c (sms_schedule): Likewise for local "count_init".
      	* recog.c (peep2_attempt): Likewise for local "old_insn", adding
      	checked casts.
      	(store_data_bypass_p): Likewise for both params.
      	(if_test_bypass_p): Likewise.
      	* recog.h (store_data_bypass_p): Likewise for both params.
      	(if_test_bypass_p): Likewise.
      	* reload.c (find_equiv_reg): Likewise for local "where".
      	* reorg.c (delete_jump): Likewise for param "insn".
      	* rtlanal.c (single_set_2): Strenghen param "insn" from const_rtx
      	to const rtx_insn *.
      	* store-motion.c (replace_store_insn): Likewise for param "del".
      	(delete_store): Strengthen local "i" from rtx to rtx_insn_list *,
      	and use its methods for clarity, and to strengthen local "del"
      	from rtx to rtx_insn *.
      	(build_store_vectors): Use insn method of "st" when calling
      	replace_store_insn for typesafety and clarity.
      
      From-SVN: r215089
      David Malcolm committed
    • recog_memoized works on an rtx_insn * · 647d790d
      gcc/ChangeLog:
      2014-09-09  David Malcolm  <dmalcolm@redhat.com>
      
      	* caller-save.c (rtx saveinsn): Strengthen this variable from rtx
      	to rtx_insn *.
      	(restinsn): Likewise.
      	* config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_move):
      	Likewise for param.
      	* config/aarch64/aarch64.c (aarch64_simd_attr_length_move):
      	Likewise.
      	* config/arc/arc-protos.h (arc_adjust_insn_length): Likewise for
      	first param.
      	(arc_hazard): Likewise for both params.
      	* config/arc/arc.c (arc600_corereg_hazard): Likewise, adding
      	checked casts to rtx_sequence * and uses of the insn method for
      	type-safety.
      	(arc_hazard): Strengthen both params from rtx to rtx_insn *.
      	(arc_adjust_insn_length): Likewise for param "insn".
      	(struct insn_length_parameters_s): Likewise for first param of
      	"get_variants" callback field.
      	(arc_get_insn_variants): Likewise for first param and local
      	"inner".  Replace a check of GET_CODE with a dyn_cast to
      	rtx_sequence *, using methods for type-safety and clarity.
      	* config/arc/arc.h (ADJUST_INSN_LENGTH): Use casts to
      	rtx_sequence * and uses of the insn method for type-safety when
      	invoking arc_adjust_insn_length.
      	* config/arm/arm-protos.h (arm_attr_length_move_neon): Likewise
      	for param.
      	(arm_address_offset_is_imm): Likewise.
      	(struct tune_params): Likewise for params 1 and 3 of the
      	"sched_adjust_cost" callback field.
      	* config/arm/arm.c (cortex_a9_sched_adjust_cost): Likewise for
      	params 1 and 3 ("insn" and "dep").
      	(xscale_sched_adjust_cost): Likewise.
      	(fa726te_sched_adjust_cost): Likewise.
      	(cortexa7_older_only): Likewise for param "insn".
      	(cortexa7_younger): Likewise.
      	(arm_attr_length_move_neon): Likewise.
      	(arm_address_offset_is_imm): Likewise.
      	* config/avr/avr-protos.h (avr_notice_update_cc): Likewise.
      	* config/avr/avr.c (avr_notice_update_cc): Likewise.
      	* config/bfin/bfin.c (hwloop_pattern_reg): Likewise.
      	(workaround_speculation): Likewise for local "last_condjump".
      	* config/c6x/c6x.c (shadow_p): Likewise for param "insn".
      	(shadow_or_blockage_p): Likewise.
      	(get_unit_reqs): Likewise.
      	(get_unit_operand_masks): Likewise.
      	(c6x_registers_update): Likewise.
      	(returning_call_p): Likewise.
      	(can_use_callp): Likewise.
      	(convert_to_callp): Likewise.
      	(find_last_same_clock): Likwise for local "t".
      	(reorg_split_calls): Likewise for local "shadow".
      	(hwloop_pattern_reg): Likewise for param "insn".
      	* config/frv/frv-protos.h (frv_final_prescan_insn): Likewise.
      	* config/frv/frv.c (frv_final_prescan_insn): Likewise.
      	(frv_extract_membar): Likewise.
      	(frv_optimize_membar_local): Strengthen param "last_membar" from
      	rtx * to rtx_insn **.
      	(frv_optimize_membar_global): Strengthen param "membar" from rtx
      	to rtx_insn *.
      	(frv_optimize_membar): Strengthen local "last_membar" from rtx *
      	to rtx_insn **.
      	* config/ia64/ia64-protos.h (ia64_st_address_bypass_p): Strengthen
      	both params from rtx to rtx_insn *.
      	(ia64_ld_address_bypass_p): Likewise.
      	* config/ia64/ia64.c (ia64_safe_itanium_class): Likewise for param
      	"insn".
      	(ia64_safe_type): Likewise.
      	(group_barrier_needed): Likewise.
      	(safe_group_barrier_needed): Likewise.
      	(ia64_single_set): Likewise.
      	(is_load_p): Likewise.
      	(record_memory_reference): Likewise.
      	(get_mode_no_for_insn): Likewise.
      	(important_for_bundling_p): Likewise.
      	(unknown_for_bundling_p): Likewise.
      	(ia64_st_address_bypass_p): Likewise for both params.
      	(ia64_ld_address_bypass_p): Likewise.
      	(expand_vselect): Introduce new local rtx_insn * "insn", using it
      	in place of rtx "x" after the emit_insn call.
      	* config/i386/i386-protos.h (x86_extended_QIreg_mentioned_p):
      	Strengthen param from rtx to rtx_insn *.
      	(ix86_agi_dependent): Likewise for both params.
      	(ix86_attr_length_immediate_default): Likewise for param 1.
      	(ix86_attr_length_address_default): Likewise for param.
      	(ix86_attr_length_vex_default): Likewise for param 1.
      	* config/i386/i386.c (ix86_attr_length_immediate_default):
      	Likewise for param "insn".
      	(ix86_attr_length_address_default): Likewise.
      	(ix86_attr_length_vex_default): Likewise.
      	(ix86_agi_dependent): Likewise for both params.
      	(x86_extended_QIreg_mentioned_p): Likewise for param "insn".
      	(vselect_insn): Likewise for this variable.
      	* config/m68k/m68k-protos.h (m68k_sched_attr_opx_type): Likewise
      	for param 1.
      	(m68k_sched_attr_opy_type): Likewise.
      	* config/m68k/m68k.c (sched_get_operand): Likewise.
      	(sched_attr_op_type): Likewise.
      	(m68k_sched_attr_opx_type): Likewise.
      	(m68k_sched_attr_opy_type): Likewise.
      	(sched_get_reg_operand): Likewise.
      	(sched_get_mem_operand): Likewise.
      	(m68k_sched_address_bypass_p): Likewise for both params.
      	(sched_get_indexed_address_scale): Likewise.
      	(m68k_sched_indexed_address_bypass_p): Likewise.
      	* config/m68k/m68k.h (m68k_sched_address_bypass_p): Likewise.
      	(m68k_sched_indexed_address_bypass_p): Likewise.
      	* config/mep/mep.c (mep_jmp_return_reorg): Strengthen locals
      	"label", "ret" from rtx to rtx_insn *, adding a checked cast and
      	removing another.
      	* config/mips/mips-protos.h (mips_linked_madd_p): Strengthen both
      	params from rtx to rtx_insn *.
      	(mips_fmadd_bypass): Likewise.
      	* config/mips/mips.c (mips_fmadd_bypass): Likewise.
      	(mips_linked_madd_p): Likewise.
      	(mips_macc_chains_last_hilo): Likewise for this variable.
      	(mips_macc_chains_record): Likewise for param.
      	(vr4130_last_insn): Likewise for this variable.
      	(vr4130_swap_insns_p): Likewise for both params.
      	(mips_ls2_variable_issue): Likewise for param.
      	(mips_need_noat_wrapper_p): Likewise for param "insn".
      	(mips_expand_vselect): Add a new local rtx_insn * "insn", using it
      	in place of "x" after the emit_insn.
      	* config/pa/pa-protos.h (pa_fpstore_bypass_p): Strengthen both
      	params from rtx to rtx_insn *.
      	* config/pa/pa.c (pa_fpstore_bypass_p): Likewise.
      	(pa_combine_instructions): Introduce local "par" for result of
      	gen_rtx_PARALLEL, moving decl and usage of new_rtx for after call
      	to make_insn_raw.
      	(pa_can_combine_p): Strengthen param "new_rtx" from rtx to rtx_insn *.
      	* config/rl78/rl78.c (insn_ok_now): Likewise for param "insn".
      	(rl78_alloc_physical_registers_op1): Likewise.
      	(rl78_alloc_physical_registers_op2): Likewise.
      	(rl78_alloc_physical_registers_ro1): Likewise.
      	(rl78_alloc_physical_registers_cmp): Likewise.
      	(rl78_alloc_physical_registers_umul): Likewise.
      	(rl78_alloc_address_registers_macax): Likewise.
      	(rl78_alloc_physical_registers): Likewise for locals "insn", "curr".
      	* config/s390/predicates.md (execute_operation): Likewise for
      	local "insn".
      	* config/s390/s390-protos.h (s390_agen_dep_p): Likewise for both
      	params.
      	* config/s390/s390.c (s390_safe_attr_type): Likewise for param.
      	(addr_generation_dependency_p): Likewise for param "insn".
      	(s390_agen_dep_p): Likewise for both params.
      	(s390_fpload_toreg): Likewise for param "insn".
      	* config/sh/sh-protos.h (sh_loop_align): Likewise for param.
      	* config/sh/sh.c (sh_loop_align): Likewise for param and local
      	"next".
      	* config/sh/sh.md (define_peephole2): Likewise for local "insn2".
      	* config/sh/sh_treg_combine.cc
      	(sh_treg_combine::make_inv_ccreg_insn): Likewise for return type
      	and local "i".
      	(sh_treg_combine::try_eliminate_cstores): Likewise for local "i".
      	* config/stormy16/stormy16.c (combine_bnp): Likewise for locals
      	"and_insn", "load", "shift".
      	* config/tilegx/tilegx.c (match_pcrel_step2): Likewise for param
      	"insn".
      	* final.c (final_scan_insn): Introduce local rtx_insn * "other"
      	for XEXP (note, 0) of the REG_CC_SETTER note.
      	(cleanup_subreg_operands): Strengthen param "insn" from rtx to
      	rtx_insn *, eliminating a checked cast made redundant by this.
      	* gcse.c (process_insert_insn): Strengthen local "insn" from rtx
      	to rtx_insn *.
      	* genattr.c (main): When writing out the prototype to
      	const_num_delay_slots, strengthen the param from rtx to
      	rtx_insn *.
      	* genattrtab.c (write_const_num_delay_slots): Likewise when
      	writing out the implementation of const_num_delay_slots.
      	* hw-doloop.h (struct hw_doloop_hooks): Strengthen the param
      	"insn" of callback field "end_pattern_reg" from rtx to rtx_insn *.
      	* ifcvt.c (noce_emit_store_flag): Eliminate local rtx "tmp" in
      	favor of new rtx locals "src" and "set" and new local rtx_insn *
      	"insn" and "seq".
      	(noce_emit_move_insn): Strengthen locals "seq" and "insn" from rtx
      	to rtx_insn *.
      	(noce_emit_cmove): Eliminate local rtx "tmp" in favor of new rtx
      	locals "cond", "if_then_else", "set" and new rtx_insn * locals
      	"insn" and "seq".
      	(noce_try_cmove_arith): Strengthen locals "insn_a" and "insn_b",
      	"last" from rtx to rtx_insn *.  Likewise for a local "tmp",
      	renaming to "tmp_insn".  Eliminate the other local rtx "tmp" from
      	the top-level scope, replacing with new more tightly-scoped rtx
      	locals "reg", "pat", "mem" and rtx_insn * "insn", "copy_of_a",
      	"new_insn", "copy_of_insn_b", and make local rtx "set" more
      	tightly-scoped.
      	* ira-int.h (ira_setup_alts): Strengthen param "insn" from rtx to
      	rtx_insn *.
      	* ira.c (setup_prohibited_mode_move_regs): Likewise for local
      	"move_insn".
      	(ira_setup_alts): Likewise for param "insn".
      	* lra-constraints.c (emit_inc): Likewise for local "add_insn".
      	* lra.c (emit_add3_insn): Split local rtx "insn" in two, an rtx
      	and an rtx_insn *.
      	(lra_emit_add): Eliminate top-level local rtx "insn" in favor of
      	new more-tightly scoped rtx locals "add3_insn", "insn",
      	"add2_insn" and rtx_insn * "move_insn".
      	* postreload-gcse.c (eliminate_partially_redundant_load): Add
      	checked cast on result of gen_move_insn when invoking
      	extract_insn.
      	* recog.c (insn_invalid_p): Strengthen param "insn" from rtx to
      	rtx_insn *.
      	(verify_changes): Add a checked cast on "object" when invoking
      	insn_invalid_p.
      	(extract_insn_cached): Strengthen param "insn" from rtx to
      	rtx_insn *.
      	(extract_constrain_insn_cached): Likewise.
      	(extract_insn): Likewise.
      	* recog.h (insn_invalid_p): Likewise for param 1.
      	(recog_memoized): Likewise for param.
      	(extract_insn): Likewise.
      	(extract_constrain_insn_cached): Likewise.
      	(extract_insn_cached): Likewise.
      	* reload.c (can_reload_into): Likewise for local "test_insn".
      	* reload.h (cleanup_subreg_operands): Likewise for param.
      	* reload1.c (emit_insn_if_valid_for_reload): Rename param from
      	"insn" to "pat", reintroducing "insn" as an rtx_insn * on the
      	result of emit_insn.  Remove a checked cast made redundant by this
      	change.
      	* sel-sched-ir.c (sel_insn_rtx_cost): Strengthen param "insn" from
      	rtx to rtx_insn *.
      	* sel-sched.c (get_reg_class): Likewise.
      
      From-SVN: r215087
      David Malcolm committed
    • struct ira_reg_equiv_s's "init_insns" is an rtx_insn_list · 0cc97fc5
      gcc/ChangeLog:
      2014-09-09  David Malcolm  <dmalcolm@redhat.com>
      
      	* ira.c (ira_update_equiv_info_by_shuffle_insn): Use NULL rather
      	than NULL_RTX.
      	(no_equiv): Likewise.
      	(update_equiv_regs): Likewise.
      	(setup_reg_equiv): Likewise.  Strengthen locals "elem",
      	"prev_elem", "next_elem" from rtx to rtx_insn_list *, and "insn"
      	from rtx to rtx_insn *.  Use methods of "elem" for typesafety and
      	clarity.
      	* ira.h (struct ira_reg_equiv_s): Strengthen field "init_insns"
      	from rtx to rtx_insn_list *.
      	* lra-assigns.c (spill_for): Strengthen local "x" from rtx to
      	rtx_insn_list * and use methods for clarity and typesafety.
      	* lra-constraints.c (contains_deleted_insn_p): Likewise for param
      	"list".
      	(init_insn_rhs_dead_pseudo_p): Likewise for local "insns".  Remove
      	redundant check on INSN_P (insns): this cannot hold, as "insns" is
      	an INSN_LIST, not an insn.
      	(reverse_equiv_p): Strengthen local "insns" from rtx to
      	rtx_insn_list * and use methods for clarity and typesafety.
      	(contains_reloaded_insn_p): Likewise for local "list".
      
      From-SVN: r215082
      David Malcolm committed
    • shrink-wrap.h: #define SHRINK_WRAPPING_ENABLED. · a5e022d5
      ChangeLog:
      2014-09-09  Zhenqiang Chen  <zhenqiang.chen@arm.com>
      
      	* shrink-wrap.h: #define SHRINK_WRAPPING_ENABLED.
      	* ira.c: #include "shrink-wrap.h"
      	(split_live_ranges_for_shrink_wrap): Use SHRINK_WRAPPING_ENABLED.
      	* ifcvt.c: #include "shrink-wrap.h"
      	(dead_or_predicable): Use SHRINK_WRAPPING_ENABLED.
      
      testsuite/ChangeLog:
      2014-09-09  Zhenqiang Chen  <zhenqiang.chen@arm.com>
      
      	* gcc.target/arm/split-live-ranges-for-shrink-wrap.c: New test.
      
      From-SVN: r215041
      Zhenqiang Chen committed
  18. 28 Aug, 2014 2 commits
    • NEXT_INSN and PREV_INSN take a const rtx_insn · b32d5189
      gcc/
      2014-08-28  David Malcolm  <dmalcolm@redhat.com>
      
      	* rtl.h (RTX_PREV): Added checked casts to uses of PREV_INSN and
      	NEXT_INSN.
      	(PREV_INSN): Strengthen param from const_rtx to const rtx_insn *.
      	(NEXT_INSN): Likewise.
      	(JUMP_LABEL_AS_INSN): Add a "const" modifier to param.
      	(reg_used_between_p): Strengthen params 2 and 3 from const_rtx to
      	const rtx_insn *.
      	(no_labels_between_p): Likewise for both params.
      
      	* config/aarch64/aarch64.c (aarch64_output_casesi): Add a checked
      	cast when using NEXT_INSN on operands[2].
      	* config/alpha/alpha.c (alpha_set_memflags): Strengthen local
      	"insn" from rtx to rtx_insn *, adding a checked cast.
      	(alpha_handle_trap_shadows): Strengthen locals "i", "n" from rtx to
      	rtx_insn *.
      	* config/arc/arc-protos.h (arc_ccfsm_record_condition): Likewise
      	for third param.
      	(arc_text_label): Likewise for param "insn".
      	* config/arc/arc.c (arc_expand_epilogue): Likewise for local
      	"insn".
      	(arc_ccfsm_record_condition): Likewise for param "jump".
      	(arc_text_label): Likewise for local "label".
      	* config/arc/arc.md (doloop_begin_i): Likewise for local "scan".
      	Introduce a local "seq" via a dyn_cast to rtx_sequence *, and use
      	a method for typesafety.  Add a checked cast.
      	* config/arc/constraints.md (Clb): Add a checked cast when getting
      	the CODE_LABEL from a LABEL_REF.
      	* config/arm/arm.c (require_pic_register): Strengthen locals
      	"seq", "insn" from rtx to rtx_insn *.
      	(create_fix_barrier): Likewise for locals "selected", "next".
      	(thumb1_reorg): Likewise for locals "prev", "insn".
      	(arm_expand_prologue): Likewise for local "last".
      	(thumb1_output_casesi): Add a checked cast when using NEXT_INSN on
      	operands[0].
      	(thumb2_output_casesi): Likewise for operands[2].
      	* config/avr/avr-log.c (avr_log_vadump): Within 'L' case,
      	strengthen local "insn" from rtx to rtx_insn *.
      	* config/bfin/bfin.c (find_next_insn_start): Likewise for return
      	type and param "insn".
      	(find_prev_insn_start): Likewise.
      	(hwloop_optimize): Likewise for locals "insn", "last_insn",
      	"prev".
      	(gen_one_bundle): Likewise for loal "t".
      	(find_load): Likewise for param "insn".
      	(workaround_speculation): Likewise for locals "insn", "next",
      	"target", "next_tgt".
      	* config/c6x/c6x.c (assign_reservations): Likewise for both params
      	and for locals "insn", "within", "last".
      	(count_unit_reqs): Likewise for params "head", "tail" and local
      	"insn".
      	(try_rename_operands): Likewise for params "head", "tail".
      	(reshuffle_units): Likewise for locals "head", "tail", "insn".
      	(struct c6x_sched_context): Likewise for fields
      	"last_scheduled_insn", "last_scheduled_iter0".
      	(init_sched_state): Replace NULL_RTX with NULL.
      	(reorg_split_calls): Strengthen local "new_cycle_first" from rtx
      	to rtx_insn *.
      	(undo_split_delayed_nonbranch): Likewise for param and for local
      	"prev".
      	(conditionalize_after_sched): Likewise for local "insn".
      	(bb_earliest_end_cycle): Likewise.
      	(filter_insns_above): Likewise for locals "insn", "next".
      	(hwloop_optimize): Remove redundant checked cast.
      	(hwloop_fail): Strengthen local "t" from rtx to rtx_insn *.
      	* config/cris/cris.c (cris_initial_frame_pointer_offset): Replace
      	NULL_RTX with NULL.
      	(cris_simple_epilogue): Likewise.
      	(cris_expand_prologue): Likewise.
      	(cris_expand_epilogue): Likewise.
      	* config/frv/frv.c (frv_function_contains_far_jump): Strengthen
      	local "insn" from rtx to rtx_insn *.
      	(frv_ifcvt_modify_tests): Likewise for locals "last_insn", "insn".
      	(struct frv_packet_group): Likewise for the elements within array
      	fields "insns", "sorted", and for field "nop".
      	(frv_packet): Likewise for the elements within array field
      	"insns".
      	(frv_add_insn_to_packet): Likewise for param "insn".
      	(frv_insert_nop_in_packet): Likewise for param "insn" and local
      	"last".
      	(frv_for_each_packet): Likewise for locals "insn", "next_insn".
      	(frv_sort_insn_group_1): Likewise for local "insn".
      	(frv_optimize_membar_local): Likewise.
      	(frv_align_label): Likewise for locals "x", "last", "barrier",
      	"label".
      	* config/ia64/ia64.c (last_scheduled_insn): Likewise for this
      	local.
      	(ia64_sched_init): Likewise for local "insn".
      	(scheduled_good_insn): Likewise for param "last".
      	(struct _ia64_sched_context): Likewise for field
      	"last_scheduled_insn".
      	(ia64_init_sched_context): Replace NULL_RTX with NULL.
      	(struct bundle_state): Likewise for field "insn".
      	(issue_nops_and_insn): Likewise for param "insn".
      	(get_next_important_insn): Likewise for return type and both
      	params.
      	(ia64_add_bundle_selector_before): Likewise for param "insn".
      	(bundling): Likewise for params "prev_head_insn", "tail" and
      	locals "insn", "next_insn", "b".  Eliminate top-level local rtx
      	"nop" in favor of new locals rtx "nop_pat" and rtx_insn *nop;
      	* config/iq2000/iq2000-protos.h (iq2000_fill_delay_slot):
      	Strengthen final param from rtx to rtx_insn *.
      	(iq2000_move_1word): Likewise for second param.
      	* config/iq2000/iq2000.c (iq2000_fill_delay_slot): Likewise for
      	param "cur_insn" and local "next_insn".
      	(iq2000_move_1word): Likewise for param "insn".
      	* config/iq2000/iq2000.md (insn before ADDR_DIFF_VEC): Add checked
      	casts when using NEXT_INSN on operands[1].
      	* config/m32c/m32c.c (m32c_function_needs_enter): Strengthen local
      	"insn" from rtx to rtx_insn *.
      	* config/m68k/m68k.c (m68k_jump_table_ref_p): Split out uses of
      	"x", introducing local rtx_insn * "insn" for when working with the
      	CODE_LABEL of the LABEL_REF.
      	(m68k_sched_md_init_global): Strengthen local "insn" from rtx to
      	rtx_insn *.
      	* config/mcore/mcore-protos.h (mcore_is_dead): Likewise for first
      	param.
      	* config/mcore/mcore.c (emit_new_cond_insn): Likewise for return
      	type.
      	(conditionalize_block): Likewise for return type and param.
      	(mcore_is_dead): Likewise for param "first" and local "insn".
      	(emit_new_cond_insn): Likewise for return type.
      	(conditionalize_block): Likewise for return type, param, and
      	locals "insn", "blk_1_br", "end_blk_2_insn", "start_blk_3_lab",
      	"newinsn".
      	(conditionalize_optimization): Likewise for local "insn".
      	* config/mep/mep.c (mep_jmp_return_reorg): Add checked cast when
      	using NEXT_INSN.
      	* config/microblaze/microblaze.md: Add checked casts when using
      	NEXT_INSN.
      	* config/mips/mips.c (mips_expand_prologue): Eliminate top-level
      	rtx "insn" in favor of various more tightly-scoped rtx "insn" and
      	and rtx_insn * "insn".
      	* config/mips/mips.md (casesi_internal_mips16_<mode>): Add a
      	checked cast when using NEXT_INSN on operands[2].
      	* config/mn10300/mn10300.c (mn10300_insert_setlb_lcc): Strengthen
      	local "insn" from rtx to rtx_insn *.
      	* config/nds32/nds32-fp-as-gp.c (nds32_fp_as_gp_check_available):
      	Likewise.
      	* config/nds32/nds32-md-auxiliary.c (nds32_output_casesi_pc_relative):
      	Add a checked cast when using NEXT_INSN on operands[1].
      	* config/pa/pa-protos.h (pa_following_call): Strengthen param from
      	rtx to rtx_insn *.
      	(pa_output_cbranch): Likewise for final param.
      	(pa_output_lbranch): Likewise for second param.
      	(pa_output_bb): Likewise for third param.
      	(pa_output_bvb): Likewise.
      	(pa_output_dbra): Likewise for second param.
      	(pa_output_movb): Likewise.
      	(pa_output_parallel_movb): Likewise.
      	(pa_output_parallel_addb): Likewise.
      	(pa_output_millicode_call): Likewise for first param.
      	(pa_output_mul_insn): Likewise for second param.
      	(pa_output_div_insn): Likewise for third param.
      	(pa_output_mod_insn): Likewise for second param.
      	(pa_jump_in_call_delay): Likewise for param.
      	* config/pa/pa.c (pa_output_mul_insn): Likewise for param "insn".
      	(pa_output_div_insn): Likewise.
      	(pa_output_mod_insn): Likewise.
      	(pa_output_cbranch): Likewise.
      	(pa_output_lbranch): Likewise.
      	(pa_output_bb): Likewise.
      	(pa_output_bvb): Likewise.
      	(pa_output_dbra): Likewise.
      	(pa_output_movb): Likewise.
      	(pa_output_millicode_call): Likewise; use method of rtx_sequence *
      	to simplify and for typesafety.
      	(pa_output_call): Use method of rtx_sequence *.
      	(forward_branch_p): Strengthen param "insn" from rtx to rtx_insn *.
      	(pa_jump_in_call_delay): Likewise.
      	(pa_output_parallel_movb): Likewise.
      	(pa_output_parallel_addb): Likewise.
      	(pa_following_call): Likewise.
      	(pa_combine_instructions): Likewise for locals "anchor",
      	"floater".
      	(pa_can_combine_p): Likewise for params "anchor", "floater" and
      	locals "start", "end".
      	* config/picochip/picochip.c (picochip_reset_vliw): Likewise for
      	param "insn" and local "local_insn".
      	(picochip_final_prescan_insn): Likewise for local "local_insn".
      	* config/rs6000/rs6000.c (compute_save_world_info): Likewise for
      	local "insn".
      	(uses_TOC): Likewise.
      	* config/s390/s390.c (get_some_local_dynamic_name): Likewise.
      	(s390_mainpool_finish): Eliminate top-level local rtx "insn",
      	splitting out to more tightly-scoped locals, 3 as rtx and one as
      	rtx_insn *.
      	(s390_optimize_nonescaping_tx): Strengthen local "tmp" from rtx
      	to rtx_insn *.
      	(s390_emit_prologue): Introduce a local "insn" to be an rtx_insn *
      	where needed.
      	* config/sh/sh-protos.h (barrier_align): Strenghten param from rtx
      	to rtx_insn *.
      	(fixup_addr_diff_vecs): Likewise.
      	(reg_unused_after): Likewise for param 2.
      	(sh_can_redirect_branch): Likewise for both params.
      	(check_use_sfunc_addr): Likewise for param 1.
      	* config/sh/sh.c (fixup_mova): Likewise for local "worker".
      	(find_barrier): Likewise for local "last_got".
      	(gen_block_redirect): Likewise for return type, param "jump" and
      	locals "prev", "scan", "next", "insn".
      	(struct far_branch): Likewise for fields "near_label",
      	"insert_place", "far_label".
      	(gen_far_branch): Likewise for local "jump".
      	(fixup_addr_diff_vecs): Likewise for param "first" and locals
      	"insn", "prev".
      	(barrier_align): Likewise for param and for locals "prev", "x".
      	Introduce local rtx_sequence * "prev_seq" and use insn method for
      	typesafety and clarity.
      	(sh_reorg): Strengthen local "scan" from rtx to rtx_insn *.
      	(get_dest_uid): Likewise for local "dest".
      	(split_branches): Likewise for locals "next", "beyond", "label",
      	"block", "far_label".  Add checked casts when assigning to
      	bp->far_label and "far_label".
      	(reg_unused_after): Strengthen param "scan" from rtx to rtx_insn *.
      	(sequence_insn_p): Likewise.
      	(mark_constant_pool_use): Likewise for locals "insn", "lab".  Add a
      	more loop-scoped rtx "insn" when walking LABEL_REFS.
      	(sh_can_redirect_branch): Strengthen both params from rtx to
      	rtx_insn *.
      	(check_use_sfunc_addr): Likewise for param "insn".  Introduce a
      	new local rtx_sequence * "seq" via a dyn_cast, and use a method
      	for clarity and typesafety.
      	* config/sh/sh.md (define_expand "epilogue"): Strengthen local
      	"insn" from rtx to rtx_insn *.
      	(define_insn "casesi_worker_1"): Add a checked cast to rtx_insn *
      	when using NEXT_INSN on the CODE_LABEL in operands[2].
      	(define_insn "casesi_worker_2"): Likewise.
      	(define_insn "casesi_shift_media"): Likewise.
      	(define_insn "casesi_load_media"): Likewise for the CODE_LABEL in
      	operands[3].
      	* config/sh/sh_optimize_sett_clrt.cc (struct ccreg_value):
      	Strengthen field "insn" from rtx to rtx_insn *.
      	(sh_optimize_sett_clrt::execute): Likewise for locals "next_i", "i".
      	(sh_optimize_sett_clrt::find_last_ccreg_values): Likewise for
      	param "start_insn" and local "start_insn".
      	* config/sh/sh_treg_combine.cc (struct set_of_reg): Likewise for
      	field "insn".
      	(find_set_of_reg_bb): Likewise for param "insn".
      	(trace_reg_uses_1): Likewise for param "start_insn" and local "i".
      	(trace_reg_uses): Likewise for param "start_insn".
      	(sh_treg_combine::cbranch_trace): Likewise for field
      	"cbranch_insn".
      	(sh_treg_combine::cbranch_trace::cbranch_trace): Likewise for
      	param "insn".
      	(sh_treg_combine::record_set_of_reg): Likewise for param
      	"start_insn" and local "i".
      	(sh_treg_combine::can_remove_cstore): Likewise for local
      	"prev_insn".
      	(sh_treg_combine::try_optimize_cbranch): Likewise for param
      	"insn".
      	(sh_treg_combine::execute): Likewise for local "i".
      	* config/sparc/sparc-protos.h (empty_delay_slot): Likewise for
      	param.
      	(sparc_check_64): Likewise for second param.
      	* config/sparc/sparc.c (sparc_do_work_around_errata): Likewise for
      	locals "insn", "next".  Introduce local rtx_sequence * "seq" via a
      	dyn_cast, using its insn method for typesafety and clarity.
      	(empty_delay_slot): Strengthen param "insn" from rtx to
      	rtx_insn *.
      	(set_extends): Likewise.
      	(sparc_check_64): Likewise.
      	* config/stormy16/stormy16.c (xstormy16_split_cbranch): Likewise
      	for locals "seq", "last_insn".
      	(combine_bnp): Likewise for param "insn".
      	(xstormy16_reorg): Likewise for local "insn".
      	* config/v850/v850.c (substitute_ep_register): Likewise for params
      	"first_insn", "last_insn" and local "insn".
      	(v850_reorg): Likewise for fields "first_insn", "last_insn" within
      	elements of "regs" array, and local "insn".
      	* except.c (emit_note_eh_region_end): Likewise for param "insn".
      	* final.c (final_sequence): Strengthen this global from rtx to
      	rtx_sequence *.
      	(shorten_branches): Strenthen locals "rel_lab", "prev" from rtx to
      	rtx_insn *.
      	(final_scan_insn): Update assignment to "final_sequence" to be
      	from "seq", the cast version of "body", for type-safety.
      	* function.c (assign_parm_setup_reg): Strengthen locals "insn",
      	"insns" from rtx to rtx_insn *.
      	(thread_prologue_and_epilogue_insns): Likewise for local "seq".
      	* genattr.c (main): When writing out generated insn-attr.h,
      	strengthen params 1 and 3 of eligible_for_delay,
      	eligible_for_annul_true, eligible_for_annul_false from rtx to
      	rtx_insn *.
      	* genattrtab.c (write_eligible_delay): Likewise when writing out
      	generated insn-attrtab.c; also local "insn" the generated
      	functions.
      	* hw-doloop.c (discover_loops): Strengthen local "insn" from rtx
      	to rtx_insn *.
      	* hw-doloop.h (struct GTY hwloop_info_d): Strengthen field
      	"start_label" from rtx to rtx_insn *.
      	* ira.c (decrease_live_ranges_number): Likewise for local "p".
      	(ira_update_equiv_info_by_shuffle_insn): Likewise for param
      	"insns" and local "insn".
      	(validate_equiv_mem): Likewise for param "start" and local "insn".
      	(memref_used_between_p): Likewise for params "start", "end" and
      	local "insn".
      	* ira.h (ira_update_equiv_info_by_shuffle_insn): Likewise for
      	final param.
      	* loop-doloop.c (doloop_optimize): Within region guarded by
      	INSN_P (doloop_pat), introduce a new local rtx_insn *
      	"doloop_insn" via a checked cast, and use it for typesafety,
      	eventually writing the value back into doloop_pat.
      	* output.h (final_sequence): Strengthen this global from rtx to
      	rtx_sequence *.
      	* recog.c (peep2_attempt): Rename param "insn" to "uncast_insn",
      	reintroducing "insn" as an rtx_insn * via a checked cast.
      	Strengthen param "attempt" and local "new_insn"from rtx to
      	rtx_insn *.
      	(peephole2_optimize): Strengthen locals "insn", "attempt" from rtx
      	to rtx_insn *.
      	* ree.c (emit_note_eh_region_end): Likewise for local "insn".
      	* reload1.c (reload_as_needed): Eliminate top-level locals "x" and
      	"p" in favor of more tightly-scoped replacements, sometimes rtx
      	and sometimes rtx_insn *, as appropriate.
      	(delete_output_reload): Eliminate top-level rtx "i1", splitting
      	into two loop-scoped locals, one an rtx, the other an rtx_insn *.
      	* reorg.c (delete_scheduled_jump): Add checked cast.  Strengthen
      	local "trial" from rtx to rtx_insn *.
      	(redirect_with_delay_slots_safe_p): Strengthen param "jump" from
      	rtx to rtx_insn *.  Strenghten local "pat" from rtx to
      	rtx_sequence * and use methods for clarity and typesafety.
      	(redirect_with_delay_list_safe_p): Strengthen param "jump" from
      	rtx to rtx_insn *.  Strenghten local "li" from rtx to
      	rtx_insn_list * and use its methods for clarity and typesafety.
      	(steal_delay_list_from_target): Strengthen param "insn" from rtx
      	to rtx_insn *.
      	(steal_delay_list_from_fallthrough): Likewise.
      	(try_merge_delay_insns): Likewise for param "thread" and locals
      	"trial", "next_trial", "delay_insn".
      	(redundant_insn): Likewise for param "target" and local "trial".
      	(own_thread_p): Likewise for param "thread" and locals
      	"active_insn", "insn".
      	(get_label_before): Likewise for param "insn".
      	(fill_simple_delay_slots): Likewise for local "new_label"; use
      	JUMP_LABEL_AS_INSN as necessary when calling own_thread_p.
      	(label_before_next_insn): Strengthen return type and local "insn"
      	from rtx to rtx_insn *.
      	(relax_delay_slots): Likewise for locals "other", "tmp".
      	(make_return_insns): Likewise for param "first" and locals "insn",
      	"jump_insn", "prev".  Move declaration of "pat" to its assignment
      	and strengthen from rtx to rtx_sequence *.  Use its methods for
      	clarity and typesafety.
      	* rtlanal.c (no_labels_between_p): Strengthen params from
      	const_rtx to const rtx_insn *.  Strengthen local "p" from rtx to
      	rtx_insn *.
      	(reg_used_between_p): Strengthen params "from_insn", "to_insn"
      	from const_rtx to const rtx_insn *.
      	(reg_set_between_p): Rename param "from_insn" to
      	"uncast_from_insn", and reintroduce "from_insn" as a
      	const rtx_insn * via a checked cast.
      	(modified_between_p): Likewise for param "start" as "uncast_start".
      	(tablejump_p): Add a cast when invoking NEXT_INSN on "label".
      	* sel-sched-ir.c (get_seqno_by_preds): Strengthen param and locals
      	"tmp", head" from rtx to rtx_insn *.
      	(recompute_rev_top_order): Likewise for local "insn".
      	* sel-sched-ir.h (get_seqno_by_preds): Likewise for param.
      	* store-motion.c (build_store_vectors): Likewise for local "insn".
      	Strengthen local "st" from rtx to rtx_insn_list * and use methods
      	for clarity and typesafety.
      	* tree-ssa-loop-ivopts.c (seq_cost): Strengthen param "seq" from
      	rtx to rtx_insn *.
      	(computation_cost): Likewise for local "seq".
      	(get_address_cost): Likewise.
      
      /
      2014-08-28  David Malcolm  <dmalcolm@redhat.com>
      
      	* rtx-classes-status.txt (TODO): NEXT_INSN/PREV_INSN are done.
      
      From-SVN: r214698
      David Malcolm committed
    • ira.c: Include rtl-iter.h. · 40954ce5
      gcc/
      	* ira.c: Include rtl-iter.h.
      	(set_paradoxical_subreg): Turn from being a for_each_rtx callback
      	to being a function that examines each subrtx itself.  Remove
      	handling of null rtxes.
      	(update_equiv_regs): Update call accordingly.
      
      From-SVN: r214642
      Richard Sandiford committed
  19. 26 Aug, 2014 2 commits
    • Remove DF_REF_INSN scaffolding · b2908ba6
      gcc/
      2014-08-26  David Malcolm  <dmalcolm@redhat.com>
      
      	* df.h (df_dump_insn_problem_function): Strengthen first param of
      	this callback from const_rtx to const rtx_insn *.
      	(struct df_insn_info): Strengthen field "insn" from rtx to
      	rtx_insn *.
      	(DF_REF_INSN): Eliminate this function, reinstating the older
      	macro definition.
      	(df_find_def): Strengthen param 1 from rtx to rtx_insn *.
      	(df_reg_defined): Likewise.
      	(df_find_use): Likewise.
      	(df_reg_used): Likewise.
      	(df_dump_insn_top): Strengthen param 1 from const_rtx to
      	const rtx_insn *.
      	(df_dump_insn_bottom): Likewise.
      	(df_insn_debug): Strengthen param 1 from rtx to rtx_insn *.
      	(df_insn_debug_regno): Likewise.
      	(debug_df_insn): Likewise.
      	(df_rd_simulate_one_insn): Likewise for param 2.
      	(df_word_lr_simulate_defs): Likewise for param 1.
      	(df_word_lr_simulate_uses): Likewise.
      	(df_md_simulate_one_insn): Likewise for param 2.
      	(df_simulate_find_noclobber_defs): Likewise for param 1.
      	(df_simulate_find_defs): Likewise.
      	(df_simulate_defs): Likewise.
      	(df_simulate_uses): Likewise.
      	(df_simulate_one_insn_backwards): Likewise for param 2.
      	(df_simulate_one_insn_forwards): Likewise.
      	(df_uses_create): Likewise for param 2.
      	(df_insn_create_insn_record): Likewise for param 1.
      	(df_insn_delete): Likewise.
      	(df_insn_rescan): Likewise.
      	(df_insn_rescan_debug_internal): Likewise.
      	(df_insn_change_bb): Likewise.
      	(df_notes_rescan): Likewise.
      	* rtl.h (remove_death): Likewise for param 2.
      	(print_rtl_with_bb): Strengthen param 2 from const_rtx to
      	const rtx_insn *.
      	* sched-int.h (reemit_notes): Strengthen param from rtx to
      	rtx_insn *.
      	* valtrack.h (propagate_for_debug): Likewise for param 1.
      
      	* cfgrtl.c (print_rtl_with_bb): Strengthen param "rtx_first" and
      	local "tmp_rtx" from const_rtx to const rtx_insn *.
      	* combine.c (remove_death): Strengthen param "insn" from rtx to
      	rtx_insn *.
      	(move_deaths): Likewise for local "where_dead".
      	* cse.c (delete_trivially_dead_insns): Introduce local
      	"bind_var_loc" so that "bind" can be strengthened to an rtx_insn *.
      	* df-core.c (df_find_def): Strengthen param "insn" from rtx to
      	rtx_insn *.
      	(df_reg_defined): Likewise.
      	(df_find_use): Likewise.
      	(df_reg_used): Likewise.
      	(df_dump_insn_problem_data): Strengthen param "insn" from
      	const_rtx to const rtx_insn *.
      	(df_dump_insn_top): Likewise.
      	(df_dump_insn_bottom): Likewise.
      	(df_insn_debug): Strengthen param "insn" from rtx to rtx_insn *.
      	(df_insn_debug_regno): Likewise.
      	(debug_df_insn): Likewise.
      	(DF_REF_INSN): Delete.
      	* df-problems.c (df_rd_simulate_one_insn): Strengthen param "insn"
      	from rtx to rtx_insn *.
      	(df_chain_insn_top_dump): Strengthen param "insn" from
      	const_rtx to const rtx_insn *.
      	(df_chain_insn_bottom_dump): Likewise.
      	(df_word_lr_simulate_defs): Strengthen param "insn" from rtx to
      	rtx_insn *.
      	(df_word_lr_simulate_uses): Likewise.
      	(df_print_note): Likewise.
      	(df_remove_dead_and_unused_notes): Likewise.
      	(df_set_unused_notes_for_mw): Likewise.
      	(df_set_dead_notes_for_mw): Likewise.
      	(df_create_unused_note): Likewise.
      	(df_simulate_find_defs): Likewise.
      	(df_simulate_find_uses): Likewise.
      	(df_simulate_find_noclobber_defs): Likewise.
      	(df_simulate_defs): Likewise.
      	(df_simulate_uses): Likewise.
      	(df_simulate_one_insn_backwards): Likewise.
      	(df_simulate_one_insn_forwards): Likewise.
      	(df_md_simulate_one_insn): Likewise.
      	* df-scan.c (df_uses_create): Likewise.
      	(df_insn_create_insn_record): Likewise.
      	(df_insn_delete): Likewise.
      	(df_insn_rescan): Likewise.
      	(df_insn_rescan_debug_internal): Likewise.
      	(df_insn_change_bb): Likewise.
      	(df_notes_rescan): Likewise.
      	(df_refs_add_to_chains): Likewise.
      	(df_insn_refs_verify): Likewise.
      	* emit-rtl.c (set_insn_deleted): Add checked cast to rtx_insn *
      	when invoking df_insn_delete.
      	(reorder_insns): Strengthen local "x" from rtx to rtx_insn *.
      	(set_unique_reg_note): Add checked cast.
      	* final.c (cleanup_subreg_operands): Likewise.
      	* gcse.c (update_ld_motion_stores): Likewise, strengthening local
      	"insn" from rtx to rtx_insn *.
      	* haifa-sched.c (reemit_notes): Strengthen param "insn" and local
      	"last" from rtx to rtx_insn *.
      	* ira-emit.c (change_regs_in_insn): New function.
      	(change_loop): Strengthen local "insn" from rtx to rtx_insn *.
      	Invoke change_regs_in_insn rather than change_regs.
      	* ira.c (update_equiv_regs): Strengthen locals "insn",
      	"init_insn", "new_insn" from rtx to rtx_insn *.  Invoke
      	for_each_rtx_in_insn rather than for_each_rtx.
      	* recog.c (confirm_change_group): Add checked casts.
      	(peep2_update_life): Strengthen local "x" from rtx to rtx_insn *.
      	Add checked cast.
      	(peep2_fill_buffer): Add checked cast.
      	* rtlanal.c (remove_note): Likewise.
      	* valtrack.c (propagate_for_debug): Strengthen param "insn" and
      	locals "next" "end" from rtx to rtx_insn *.
      
      /
      2014-08-26  David Malcolm  <dmalcolm@redhat.com>
      
      	* rtx-classes-status.txt (TODO): DF_REF_INSN is done.
      
      From-SVN: r214548
      David Malcolm committed
    • Remove BB_HEAD, BB_END, BB_HEADER scaffolding · 1130d5e3
      gcc/
      	* basic-block.h (struct rtl_bb_info): Strengthen fields "end_"
      	and "header_" from rtx to rtx_insn *.
      	(struct basic_block_d): Likewise for field "head_" within "x"
      	field of union basic_block_il_dependent.
      	(BB_HEAD): Drop function...
      	(SET_BB_HEAD): ...and this function in favor of...
      	(BB_HEAD): ...reinstate macro.
      	(BB_END): Drop function...
      	(SET_BB_END): ...and this function in favor of...
      	(BB_END): ...reinstate macro.
      	(BB_HEADER): Drop function...
      	(SET_BB_HEADER): ...and this function in favor of...
      	(BB_HEADER): ...reinstate macro.
      
      	* bb-reorder.c (add_labels_and_missing_jumps): Drop use of BB_END.
      	(fix_crossing_unconditional_branches): Likewise.
      	* caller-save.c (save_call_clobbered_regs): Likewise.
      	(insert_one_insn): Drop use of SET_BB_HEAD and SET_BB_END.
      	* cfgbuild.c (find_bb_boundaries): Drop use of SET_BB_END.
      	* cfgcleanup.c (merge_blocks_move_successor_nojumps): Likewise.
      	(merge_blocks_move_successor_nojumps): Likewise.
      	(outgoing_edges_match): Update use of for_each_rtx to
      	for_each_rtx_in_insn.
      	* cfgexpand.c (expand_gimple_cond): Drop use of SET_BB_END.
      	(expand_gimple_cond): Likewise.
      	(expand_gimple_tailcall): Likewise.
      	(expand_gimple_basic_block): Drop use of SET_BB_HEAD and
      	SET_BB_END.
      	(construct_exit_block): Drop use of SET_BB_END.
      	* cfgrtl.c (cfg_layout_function_footer): Strengthen from rtx to
      	rtx_insn *.
      	(delete_insn): Rename param "insn" to "uncast_insn", introducing
      	a new local "insn" with a checked cast to rtx_insn *.  Drop use of
      	SET_BB_HEAD and SET_BB_END.
      	(create_basic_block_structure): Drop use of SET_BB_HEAD and
      	SET_BB_END.
      	(rtl_delete_block): Drop use of SET_BB_HEAD.
      	(rtl_split_block): Drop use of SET_BB_END.
      	(emit_nop_for_unique_locus_between): Likewise.
      	(rtl_merge_blocks): Drop use of SET_BB_END and SET_BB_HEAD.
      	(block_label): Drop use of SET_BB_HEAD.
      	(fixup_abnormal_edges): Drop use of SET_BB_END.
      	(record_effective_endpoints): Drop use of SET_BB_HEADER.
      	(relink_block_chain): Likewise.
      	(fixup_reorder_chain): Drop use of SET_BB_END.
      	(cfg_layout_duplicate_bb): Drop use of SET_BB_HEADER.
      	(cfg_layout_delete_block): Strengthen local "to" from rtx * to
      	rtx_insn **.  Drop use of SET_BB_HEADER.
      	(cfg_layout_merge_blocks): Drop use of SET_BB_HEADER, SET_BB_END,
      	SET_BB_HEAD.
      	(BB_HEAD): Delete this function.
      	(SET_BB_HEAD): Likewise.
      	(BB_END): Likewise.
      	(SET_BB_END): Likewise.
      	(BB_HEADER): Likewise.
      	(SET_BB_HEADER): Likewise.
      	* emit-rtl.c (add_insn_after):  Rename param "insn" to
      	"uncast_insn", adding a new local "insn" and a checked cast to
      	rtx_insn *.  Drop use of SET_BB_END.
      	(remove_insn): Strengthen locals "next" and "prev" from rtx to
      	rtx_insn *.  Drop use of SET_BB_HEAD and SET_BB_END.
      	(reorder_insns): Drop use of SET_BB_END.
      	(emit_insn_after_1): Strengthen param "first" and locals "last",
      	"after_after" from rtx to rtx_insn *.  Drop use of SET_BB_END.
      	(emit_pattern_after_noloc): Add checked cast.
      	* haifa-sched.c (get_ebb_head_tail): Drop use of SET_BB_END.
      	(restore_other_notes): Likewise.
      	(move_insn): Likewise.
      	(sched_extend_bb): Likewise.
      	(fix_jump_move): Likewise.
      	* ifcvt.c (noce_process_if_block): Likewise.
      	(dead_or_predicable): Likewise.
      	* ira.c (update_equiv_regs): Drop use of SET_BB_HEAD.
      	* reg-stack.c (change_stack): Drop use of SET_BB_END.
      	* sel-sched-ir.c (sel_move_insn): Likewise.
      	* sel-sched.c (move_nop_to_previous_block): Likewise.
      
      	* config/c6x/c6x.c (hwloop_optimize): Drop use of SET_BB_HEAD and
      	SET_BB_END.
      	* config/ia64/ia64.c (emit_predicate_relation_info): Likewise.
      
      /
      	* rtx-classes-status.txt (TODO): SET_BB_HEAD, SET_BB_END,
      	SET_BB_HEADER are done.
      
      From-SVN: r214534
      David Malcolm committed
  20. 24 Aug, 2014 1 commit
  21. 22 Aug, 2014 1 commit
    • ira: Use rtx_insn in various places · 070a1983
      gcc/
      	* ira-int.h (struct ira_allocno_copy): Strengthen field "insn"
      	from rtx to rtx_insn *insn.
      	(ira_create_copy): Strengthen param "insn" from rtx to rtx_insn *.
      	(ira_add_allocno_copy): Likewise.
      	* ira-build.c (find_allocno_copy): Strengthen param "insn" from
      	rtx to rtx_insn *.
      	(ira_create_copy): Likewise.
      	(ira_add_allocno_copy): Likewise.
      	(create_bb_allocnos): Likewise for local "insn".
      	* ira-conflicts.c (process_regs_for_copy): Likewise for param "insn".
      	(process_reg_shuffles): Update NULL_RTX to NULL in invocation of
      	process_regs_for_copy for rtx_insn * param.
      	(add_insn_allocno_copies): Strengthen param "insn" from rtx to
      	rtx_insn *insn.  Update NULL_RTX to NULL in invocation of
      	process_regs_for_copy for rtx_insn * param.
      	(add_copies): Strengthen local "insn" from rtx to rtx_insn *insn.
      	* ira-costs.c (record_reg_classes): Likewise for param "insn".
      	(record_operand_costs): Likewise.
      	(scan_one_insn): Likewise for return type, and for param "insn".
      	(process_bb_for_costs): Likewise for local "insn".
      	(process_bb_node_for_hard_reg_moves): Likewise.
      	* ira-emit.c (struct move): Likewise for field "insn".
      	(create_move): Eliminate use of NULL_RTX when dealing with an
      	rtx_insn *.
      	(emit_move_list): Strengthen return type and locals "result",
      	"insn" from rtx to rtx_insn *insn.
      	(emit_moves): Likewise for locals "insns", "tmp".
      	(ira_emit): Likewise for local "insn".
      	* ira-lives.c (mark_hard_reg_early_clobbers): Likewise for param
      	"insn".
      	(find_call_crossed_cheap_reg): Likewise.
      	(process_bb_node_lives): Likewise for local "insn".
      	* ira.c (decrease_live_ranges_number): Likewise.
      	(compute_regs_asm_clobbered): Likewise.
      	(build_insn_chain): Likewise.
      	(find_moveable_pseudos): Likewise, also locals "def_insn",
      	"use_insn", "x".  Also strengthen local "closest_uses" from rtx *
      	to rtx_insn **.  Add a checked cast when assigning from
      	"closest_use" into closest_uses array in a region where we know
      	it's a non-NULL insn.
      	(interesting_dest_for_shprep): Strengthen param "insn" from rtx
      	to rtx_insn *.
      	(split_live_ranges_for_shrink_wrap): Likewise for locals "insn",
      	"last_interesting_insn", "uin".
      	(move_unallocated_pseudos): Likewise for locals "def_insn",
      	"move_insn", "newinsn".
      
      From-SVN: r214339
      David Malcolm committed
  22. 18 Aug, 2014 1 commit
    • Split BB_HEAD et al into BB_HEAD/SET_BB_HEAD variants · 190bea87
      gcc/
      2014-08-18  David Malcolm  <dmalcolm@redhat.com>
      
      	* basic-block.h (BB_HEAD): Split macro in two: the existing one,
      	for rvalues, and...
      	(SET_BB_HEAD): New macro, for use as a lvalue.
      	(BB_END, SET_BB_END): Likewise.
      	(BB_HEADER, SET_BB_HEADER): Likewise.
      	(BB_FOOTER, SET_BB_FOOTER): Likewise.
      
      	* bb-reorder.c (add_labels_and_missing_jumps): Convert lvalue use
      	of BB_* macros into SET_BB_* macros.
      	(fix_crossing_unconditional_branches): Likewise.
      	* caller-save.c (save_call_clobbered_regs): Likewise.
      	(insert_one_insn): Likewise.
      	* cfgbuild.c (find_bb_boundaries): Likewise.
      	* cfgcleanup.c (merge_blocks_move_successor_nojumps): Likewise.
      	(outgoing_edges_match): Likewise.
      	(try_optimize_cfg): Likewise.
      	* cfgexpand.c (expand_gimple_cond): Likewise.
      	(expand_gimple_tailcall): Likewise.
      	(expand_gimple_basic_block): Likewise.
      	(construct_exit_block): Likewise.
      	* cfgrtl.c (delete_insn): Likewise.
      	(create_basic_block_structure): Likewise.
      	(rtl_delete_block): Likewise.
      	(rtl_split_block): Likewise.
      	(emit_nop_for_unique_locus_between): Likewise.
      	(rtl_merge_blocks): Likewise.
      	(block_label): Likewise.
      	(try_redirect_by_replacing_jump): Likewise.
      	(emit_barrier_after_bb): Likewise.
      	(fixup_abnormal_edges): Likewise.
      	(record_effective_endpoints): Likewise.
      	(relink_block_chain): Likewise.
      	(fixup_reorder_chain): Likewise.
      	(fixup_fallthru_exit_predecessor): Likewise.
      	(cfg_layout_duplicate_bb): Likewise.
      	(cfg_layout_split_block): Likewise.
      	(cfg_layout_delete_block): Likewise.
      	(cfg_layout_merge_blocks): Likewise.
      	* combine.c (update_cfg_for_uncondjump): Likewise.
      	* emit-rtl.c (add_insn_after): Likewise.
      	(remove_insn): Likewise.
      	(reorder_insns): Likewise.
      	(emit_insn_after_1): Likewise.
      	* haifa-sched.c (get_ebb_head_tail): Likewise.
      	(restore_other_notes): Likewise.
      	(move_insn): Likewise.
      	(sched_extend_bb): Likewise.
      	(fix_jump_move): Likewise.
      	* ifcvt.c (noce_process_if_block): Likewise.
      	(dead_or_predicable): Likewise.
      	* ira.c (update_equiv_regs): Likewise.
      	* reg-stack.c (change_stack): Likewise.
      	* sel-sched-ir.c (sel_move_insn): Likewise.
      	* sel-sched.c (move_nop_to_previous_block): Likewise.
      
      	* config/c6x/c6x.c (hwloop_optimize): Likewise.
      	* config/ia64/ia64.c (emit_predicate_relation_info): Likewise.
      
      /
      2014-08-18  David Malcolm  <dmalcolm@redhat.com>
      
      	* rtx-classes-status.txt (TODO): Add SET_BB_HEAD, SET_BB_END,
      	SET_BB_HEADER, SET_BB_FOOTER
      
      From-SVN: r214121
      David Malcolm committed
  23. 31 Jul, 2014 1 commit
  24. 09 Jul, 2014 1 commit
    • remove has_execute · 558d2559
      gcc/
      
      	* tree-pass.h (pass_data): Remove has_execute member.
      	* passes.c (execute_one_pass): Don't check pass->has_execute.
      	* asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
      	cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
      	compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
      	config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
      	config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
      	config/sh/sh_optimize_sett_clrt.cc, config/sh/sh_treg_combine.cc,
      	config/sparc/sparc.c, cprop.c, cse.c, dce.c, df-core.c, dse.c,
      	dwarf2cfi.c, except.c, final.c, function.c, fwprop.c, gcse.c,
      	gimple-low.c, gimple-ssa-isolate-paths.c,
      	gimple-ssa-strength-reduction.c, graphite.c, ifcvt.c, init-regs.c,
      	ipa-comdats.c, ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c,
      	ipa-inline.c, ipa-profile.c, ipa-pure-const.c, ipa-reference.c,
      	ipa-split.c, ipa-visibility.c, ipa.c, ira.c, jump.c, loop-init.c,
      	lower-subreg.c, mode-switching.c, modulo-sched.c, omp-low.c, passes.c,
      	postreload-gcse.c, postreload.c, predict.c, recog.c, ree.c,
      	reg-stack.c, regcprop.c, reginfo.c, regrename.c, reorg.c, sched-rgn.c,
      	stack-ptr-mod.c, store-motion.c, tracer.c, trans-mem.c,
      	tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c, tree-complex.c,
      	tree-eh.c, tree-emutls.c, tree-if-conv.c, tree-into-ssa.c,
      	tree-loop-distribution.c, tree-nrv.c, tree-object-size.c,
      	tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
      	tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
      	tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
      	tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
      	tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
      	tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
      	tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
      	tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
      	tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
      	tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
      	tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
      	tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c,
      	web.c: Remove initializer for pass_data::has_execute.
      
      From-SVN: r212383
      Trevor Saunders committed
  25. 15 Jun, 2014 2 commits
    • df.h (df_single_def, [...]): New functions. · 74e59b6c
      gcc/
      	* df.h (df_single_def, df_single_use): New functions.
      	* ira.c (find_moveable_pseudos): Use them.
      
      From-SVN: r211681
      Richard Sandiford committed
    • df.h (DF_INSN_INFO_MWS, [...]): New macros. · bfac633a
      gcc/
      	* df.h (DF_INSN_INFO_MWS, FOR_EACH_INSN_INFO_DEF): New macros.
      	(FOR_EACH_INSN_INFO_USE, FOR_EACH_INSN_INFO_EQ_USE): Likewise.
      	(FOR_EACH_INSN_DEF, FOR_EACH_INSN_USE, FOR_EACH_INSN_EQ_USE): Likewise.
      	* auto-inc-dec.c (find_inc, merge_in_block): Use them.
      	* combine.c (create_log_links): Likewise.
      	* compare-elim.c (find_flags_uses_in_insn): Likewise.
      	(try_eliminate_compare): Likewise.
      	* cprop.c (make_set_regs_unavailable, mark_oprs_set): Likewise.
      	* dce.c (deletable_insn_p, find_call_stack_args): Likewise.
      	(remove_reg_equal_equiv_notes_for_defs): Likewise.
      	(reset_unmarked_insns_debug_uses, mark_reg_dependencies): Likewise.
      	(word_dce_process_block, dce_process_block): Likewise.
      	* ddg.c (def_has_ccmode_p): Likewise.
      	* df-core.c (df_bb_regno_first_def_find): Likewise.
      	(df_bb_regno_last_def_find, df_find_def, df_find_use): Likewise.
      	* df-problems.c (df_rd_simulate_one_insn): Likewise.
      	(df_lr_bb_local_compute, df_live_bb_local_compute): Likewise.
      	(df_chain_remove_problem, df_chain_insn_top_dump): Likewise.
      	(df_chain_insn_bottom_dump, df_word_lr_bb_local_compute): Likewise.
      	(df_word_lr_simulate_defs, df_word_lr_simulate_uses): Likewise.
      	(df_remove_dead_eq_notes, df_note_bb_compute): Likewise.
      	(df_simulate_find_defs, df_simulate_find_uses): Likewise.
      	(df_simulate_find_noclobber_defs, df_simulate_defs): Likewise.
      	(df_simulate_uses, df_md_simulate_one_insn): Likewise.
      	* df-scan.c (df_reorganize_refs_by_reg_by_insn): Likewise.
      	* fwprop.c (local_ref_killed_between_p): Likewise.
      	(all_uses_available_at, free_load_extend): Likewise.
      	* gcse.c (update_bb_reg_pressure, calculate_bb_reg_pressure): Likewise.
      	* hw-doloop.c (scan_loop): Likewise.
      	* ifcvt.c (dead_or_predicable): Likewise.
      	* init-regs.c (initialize_uninitialized_regs): Likewise.
      	* ira-lives.c (mark_hard_reg_early_clobbers): Likewise.
      	(process_bb_node_lives): Likewise.
      	* ira.c (compute_regs_asm_clobbered, build_insn_chain): Likewise.
      	(find_moveable_pseudos): Likewise.
      	* loop-invariant.c (check_dependencies, record_uses): Likewise.
      	* recog.c (peep2_find_free_register): Likewise.
      	* ree.c (get_defs): Likewise.
      	* regstat.c (regstat_bb_compute_ri): Likewise.
      	(regstat_bb_compute_calls_crossed): Likewise.
      	* sched-deps.c (find_inc, find_mem): Likewise.
      	* sel-sched-ir.c (maybe_downgrade_id_to_use): Likewise.
      	(maybe_downgrade_id_to_use, setup_id_reg_sets): Likewise.
      	* shrink-wrap.c (requires_stack_frame_p): Likewise.
      	(prepare_shrink_wrap): Likewise.
      	* store-motion.c (compute_store_table, build_store_vectors): Likewise.
      	* web.c (union_defs, pass_web::execute): Likewise.
      	* config/i386/i386.c (increase_distance, insn_defines_reg): Likewise.
      	(insn_uses_reg_mem, ix86_ok_to_clobber_flags): Likewise.
      
      From-SVN: r211678
      Richard Sandiford committed
  26. 11 Jun, 2014 4 commits
    • common.md: New file. · 8677664e
      gcc/
      	* common.md: New file.
      	* doc/md.texi: Update description of generic, machine-independent
      	constraints.
      	* config/s390/constraints.md (e): Delete.
      	* Makefile.in (md_file): Include common.md.
      	* config/m32c/t-m32c (md_file): Likewise.
      	* genpreds.c (general_mem): New array.
      	(generic_constraint_letters): Remove constraints now defined by
      	common.md.
      	(add_constraint): Map TARGET_MEM_CONSTRAINT to general_mem.
      	Allow the first character to be '<' or '>' as well.
      	* genoutput.c (general_mem): New array.
      	(indep_constraints): Remove constraints now defined by common.md.
      	(note_constraint): Map TARGET_MEM_CONSTRAINT to general_mem.
      	Remove special handling of 'm'.
      	* ira-costs.c (record_reg_classes): Remove special handling of
      	constraints now defined by common.md.
      	* ira.c (ira_setup_alts, ira_get_dup_out_num): Likewise.
      	* ira-lives.c (single_reg_class): Likewise.
      	(ira_implicitly_set_insn_hard_regs): Likewise.
      	* lra-constraints.c (reg_class_from_constraints): Likewise.
      	(process_alt_operands, process_address, curr_insn_transform): Likewise.
      	* postreload.c (reload_cse_simplify_operands): Likewise.
      	* reload.c (push_secondary_reload, scratch_reload_class)
      	(find_reloads, alternative_allows_const_pool_ref): Likewise.
      	* reload1.c (maybe_fix_stack_asms): Likewise.
      	* targhooks.c (default_secondary_reload): Likewise.
      	* stmt.c (parse_output_constraint): Likewise.
      	* recog.c (preprocess_constraints): Likewise.
      	(constrain_operands, peep2_find_free_register): Likewise.
      	(asm_operand_ok): Likewise, but add a comment saying why 'o'
      	must be handled specially.
      
      From-SVN: r211475
      Richard Sandiford committed
    • system.h (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Poison. · 7fd308cf
      gcc/
      	* system.h (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Poison.
      	* genpreds.c (have_const_dbl_constraints): Delete.
      	(add_constraint): Don't set it.
      	(write_tm_preds_h): Don't call CONST_DOUBLE_OK_FOR_CONSTRAINT_P.
      	* ira-costs.c (record_reg_classes): Handle CONST_INT and CONST_DOUBLE
      	constraints using the lookup_constraint logic.
      	* ira-lives.c (single_reg_class): Likewise.
      	* ira.c (ira_setup_alts): Likewise.
      	* lra-constraints.c (process_alt_operands): Likewise.
      	* recog.c (asm_operand_ok, constrain_operands): Likewise.
      	* reload.c (find_reloads): Likewise.
      
      From-SVN: r211474
      Richard Sandiford committed
    • genpreds.c (const_int_start, [...]): New variables. · d9c35eee
      gcc/
      	* genpreds.c (const_int_start, const_int_end): New variables.
      	(choose_enum_order): Output CONST_INT constraints before memory
      	constraints.
      	(write_tm_preds_h): Always define insn_const_int_ok_for_constraint.
      	Add CT_CONST_INT.
      	* ira-costs.c (record_reg_classes): Handle CT_CONST_INT.
      	* ira.c (ira_setup_alts): Likewise.
      	* lra-constraints.c (process_alt_operands): Likewise.
      	* recog.c (asm_operand_ok, preprocess_constraints): Likewise.
      	* reload.c (find_reloads): Likewise.
      
      From-SVN: r211473
      Richard Sandiford committed
    • system.h (REG_CLASS_FROM_CONSTRAINT): Poison. · 777e635f
      gcc/
      	* system.h (REG_CLASS_FROM_CONSTRAINT): Poison.
      	(REG_CLASS_FOR_CONSTRAINT, EXTRA_CONSTRAINT_STR): Likewise.
      	(EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Likewise.
      	* genpreds.c (print_type_tree): New function.
      	(write_tm_preds_h): Remove REG_CLASS_FROM_CONSTRAINT,
      	REG_CLASS_FOR_CONSTRAINT, EXTRA_MEMORY_CONSTRAINT,
      	EXTRA_ADDRESS_CONSTRAINT and EXTRA_CONSTRAINT_STR.
      	Write out enum constraint_type and get_constraint_type.
      	* lra-constraints.c (satisfies_memory_constraint_p): Take a
      	constraint_num rather than a constraint string.
      	(satisfies_address_constraint_p): Likewise.
      	(reg_class_from_constraints): Avoid old constraint macros.
      	(process_alt_operands, process_address_1): Likewise.
      	(curr_insn_transform): Likewise.
      	* ira-costs.c (record_reg_classes): Likewise.
      	(record_operand_costs): Likewise.
      	* ira-lives.c (single_reg_class): Likewise.
      	(ira_implicitly_set_insn_hard_regs): Likewise.
      	* ira.c (ira_setup_alts, ira_get_dup_out_num): Likewise.
      	* postreload.c (reload_cse_simplify_operands): Likewise.
      	* recog.c (asm_operand_ok, preprocess_constraints): Likewise.
      	(constrain_operands, peep2_find_free_register): Likewise.
      	* reload.c (push_secondary_reload, scratch_reload_class): Likewise.
      	(find_reloads, alternative_allows_const_pool_ref): Likewise.
      	* reload1.c (maybe_fix_stack_asms): Likewise.
      	* stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
      	* targhooks.c (default_secondary_reload): Likewise.
      	* config/m32c/m32c.c (m32c_matches_constraint_p): Avoid reference
      	to EXTRA_CONSTRAINT_STR.
      	* config/sparc/constraints.md (U): Likewise REG_CLASS_FROM_CONSTRAINT.
      
      From-SVN: r211471
      Richard Sandiford committed
  27. 09 Jun, 2014 1 commit
  28. 04 Jun, 2014 1 commit
    • lra-int.h (lra_static_insn_data): Make operand_alternative a const pointer. · 0c331756
      gcc/
      	* lra-int.h (lra_static_insn_data): Make operand_alternative a
      	const pointer.
      	(target_lra_int, default_target_lra_int, this_target_lra_int)
      	(op_alt_data): Delete.
      	* lra.h (lra_init): Delete.
      	* lra.c (default_target_lra_int, this_target_lra_int): Delete.
      	(init_insn_code_data_once): Remove op_alt_data handling.
      	(finish_insn_code_data_once): Likewise.
      	(init_op_alt_data): Delete.
      	(get_static_insn_data): Initialize operand_alternative to null.
      	(free_insn_recog_data): Cast operand_alternative before freeing it.
      	(setup_operand_alternative): Take the operand_alternative as
      	parameter and assume it isn't already cached in the static
      	insn data.
      	(lra_set_insn_recog_data): Update accordingly.
      	(lra_init): Delete.
      	* ira.c (ira_init): Don't call lra_init.
      	* target-globals.h (this_target_lra_int): Declare.
      	(target_globals): Remove lra_int.
      	(restore_target_globals): Update accordingly.
      	* target-globals.c: Don't include lra-int.h.
      	(default_target_globals, save_target_globals): Remove lra_int.
      
      From-SVN: r211241
      Richard Sandiford committed