1. 02 Dec, 2015 1 commit
    • Check for invalid FAILs · 886456e2
      This patch makes it a compile-time error for an internal-fn optab
      to FAIL.  There are certainly other optabs and patterns besides these
      that aren't allowed to fail, but this at least deals with the immediate
      point of controversy.
      
      Tested normally on x86_64-linux-gnu.  Also tested by building one
      configuration per cpu directory.  arc-elf and pdp11 didn't build
      for unrelated reasons, but I checked that insn-emit.o built for
      both without error.
      
      gcc/
      	* Makefile.in (GENSUPPORT_H): New macro.
      	(build/gensupport.o, build/read-rtl.o, build/genattr.o)
      	(build/genattr-common.o, build/genattrtab.o, build/genautomata.o)
      	(build/gencodes.o, build/genconditions.o, build/genconfig.o)
      	(build/genconstants.o, build/genextract.o, build/genflags.o)
      	(build/gentarget-def.o): Use it.
      	(build/genemit.o): Likewise.  Depend on internal-fn.def.
      	* genopinit.c: Move block comment to optabs.def.
      	(optab_tag, optab_def): Move to gensupport.h
      	(pattern): Likewise, renaming to optab_pattern.
      	(match_pattern): Move to gensupport.c
      	(gen_insn): Use find_optab.
      	(patterns, pattern_cmp): Replace pattern with optab_pattern.
      	(main): Likewise.  Use num_optabs.
      	* optabs.def: Add comment that was previously in genopinit.c.
      	* gensupport.h (optab_tag): Moved from genopinit.c
      	(optab_def): Likewise, expanding commentary.
      	(optab_pattern): Likewise, after renaming from pattern.
      	(optabs, num_optabs, find_optab): Declare.
      	* gensupport.c (optabs): Moved from genopinit.c.
      	(num_optabs): New variable.
      	(match_pattern): Moved from genopinit.c.
      	(find_optab): New function, extracted from genopinit.c:gen_insn.
      	* genemit.c (nofail_optabs): New variable.
      	(emit_c_code): New function.
      	(gen_expand): Check whether the instruction is an optab that isn't
      	allowed to fail.  Call emit_c_code.
      	(gen_split): Call emit_c_code here too.
      	(main): Initialize nofail_optabs.  Don't emit FAIL and DONE here.
      
      From-SVN: r231160
      Richard Sandiford committed
  2. 17 Sep, 2015 1 commit
    • Split up optabs.[hc] · 385399a8
      optabs.[hc] is a bit of a behemoth.  It includes basic functions for querying
      what a target can do, related tree- and gimple-level query functions,
      related rtl-level query functions, and the functions that actually
      generate code.  Some gimple optimisations therefore need:
      
      #include "insn-config.h"
      #include "expmed.h"
      #include "dojump.h"
      #include "explow.h"
      #include "emit-rtl.h"
      #include "varasm.h"
      #include "stmt.h"
      #include "expr.h"
      
      purely to query whether the target has support for a particular operation.
      
      This patch splits optabs up as follows:
      
            - optabs-query.[hc]: IL-independent functions for querying what a target
                can do natively.
            - optabs-tree.[hc]: tree and gimple query functions (an extension of
                optabs-query.[hc]).
            - optabs-libfuncs.[hc]: optabs-specific libfuncs (an extension of
                libfuncs.h)
            - optabs.h: For now includes optabs-query.h and optabs-libfuncs.h.
      
      Only two files outside optabs need to include both optabs.h and
      optabs-tree.h: expr.c and function.c.  I think that's expected given
      that both are related to expand.
      
      It might be good to split optabs.h further, but this is already quite
      a big patch.
      
      I changed can_conditionally_move_p from returning an int to returning
      a bool and fixed a few formatting glitches.  There should be no other
      changes to the functions themselves.
      
      gcc/
      	* Makefile.in (OBJS): Add optabs-libfuncs.o, optabs-query.o
      	and optabs-tree.o.
      	(GTFILES): Replace optabs.c with optabs-libfunc.c.
      	* genopinit.c (main): Add an include guard to insn-opinit.h.
      	Protect the rtx_code parts with NUM_RTX_CODE.
      	* optabs.h: Split parts out to...
      	* optabs-libfuncs.h, optabs-query.h, optabs-tree.h: ...these
      	new files.
      	* optabs.c: Split parts out to...
      	* optabs-libfuncs.c, optabs-query.c, optabs-tree.c: ...these
      	new files.
      	* cilk-common.c: Include optabs-query.h rather than optabs.h.
      	* fold-const.c: Likewise.
      	* target-globals.c: Likewise.
      	* tree-if-conv.c: Likewise.
      	* tree-ssa-forwprop.c: Likewise.
      	* tree-ssa-loop-prefetch.c: Likewise.
      	* tree-ssa-math-opts.c: Include optabs-tree.h rather than
      	optabs.h.  Remove unncessary include files.
      	* tree-ssa-phiopt.c: Likewise.
      	* tree-ssa-reassoc.c: Likewise.
      	* tree-switch-conversion.c: Likewise.
      	* tree-vect-data-refs.c: Likewise.
      	* tree-vect-generic.c: Likewise.
      	* tree-vect-loop.c: Likewise.
      	* tree-vect-patterns.c: Likewise.
      	* tree-vect-slp.c: Likewise.
      	* tree-vect-stmts.c: Likewise.
      	* tree-vrp.c: Likewise.
      	* toplev.c: Include optabs-query.h and optabs-libfuncs.h
      	rather than optabs.h.
      	* expr.c: Include optabs-tree.h.
      	* function.c: Likewise.
      
      From-SVN: r227865
      Richard Sandiford committed
  3. 19 Aug, 2015 1 commit
    • remove more useless typedefs · a79683d5
      gcc/c-family/ChangeLog:
      
      2015-08-18  Trevor Saunders  <tbsaunde@tbsaunde.org>
      
      	* c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
      	c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
       typedefs.
      
      gcc/c/ChangeLog:
      
      2015-08-18  Trevor Saunders  <tbsaunde@tbsaunde.org>
      
      	* c-aux-info.c, c-parser.c, c-tree.h: Remove useless typedefs.
      
      gcc/cp/ChangeLog:
      
      2015-08-18  Trevor Saunders  <tbsaunde@tbsaunde.org>
      
      	* call.c, class.c, cp-tree.h, decl.c, except.c, mangle.c,
      	method.c, name-lookup.h, parser.c, parser.h, rtti.c,
      	semantics.c, typeck2.c: Remove useless typedefs.
      
      gcc/fortran/ChangeLog:
      
      2015-08-18  Trevor Saunders  <tbsaunde@tbsaunde.org>
      
      	* dependency.c, dependency.h, gfortran.h, io.c, module.c,
      	parse.h, resolve.c, trans-types.h, trans.h: remove useless
      typedefs.
      
      gcc/lto/ChangeLog:
      
      2015-08-18  Trevor Saunders  <tbsaunde@tbsaunde.org>
      
      	* lto.h: Remove useless typedefs.
      
      gcc/objc/ChangeLog:
      
      2015-08-18  Trevor Saunders  <tbsaunde@tbsaunde.org>
      
      	* objc-act.h, objc-next-runtime-abi-02.c, objc-runtime-hooks.h:
      	Remove useless typedefs.
      
      gcc/ChangeLog:
      
      2015-08-18  Trevor Saunders  <tbsaunde@tbsaunde.org>
      
      	* bb-reorder.c, cfgloop.h, collect2.c, combine.c, dse.c,
      	dwarf2cfi.c, gcse-common.h, genopinit.c, ggc-page.c, machmode.h,
      	mcf.c, modulo-sched.c, omp-low.c, read-rtl.c, sched-rgn.c,
      	signop.h, tree-call-cdce.c, tree-dfa.c, tree-diagnostic.c,
      	tree-inline.h, tree-scalar-evolution.c, tree-ssa-address.c,
      	tree-ssa-loop-niter.c, tree-ssa-loop.h, tree-ssa-pre.c,
      	tree-ssa-reassoc.c, tree-ssa-sccvn.h, tree-ssa-structalias.c,
      	tree-ssa-uninit.c, tree-ssa.h, tree-vect-loop-manip.c,
      	tree-vectorizer.h, tree-vrp.c, var-tracking.c: Remove useless
      typedefs.
      
      From-SVN: r227001
      Trevor Saunders committed
  4. 16 Jul, 2015 1 commit
    • read-md.h (message_with_line, [...]): Delete. · 5d2d3e43
      gcc/
      	* read-md.h (message_with_line, error_with_line): Delete.
      	* read-md.c (message_with_line, error_with_line): Delete.
      	* gensupport.h: Include read-md.h.
      	(md_rtx_info): New structure.
      	(read_md_rtx): Use it.  Return a bool success value.
      	* gensupport.c (read_md_rtx): Likewise.
      	* genattr-common.c (gen_attr): Take an md_rtx_info rather than an rtx.
      	(main): Update after interface changes.
      	* genattr.c (gen_attr): Take an md_rtx_info rather than an rtx.
      	(main): Update after interface changes.
      	* genattrtab.c (insn_code_number): Delete.
      	(optimize_attrs): Add a max_insn_code parameter and use it instead
      	of insn_code_number.
      	(gen_attr): Take an md_rtx_info rather than an rtx and lineno.
      	Use *_at rather than *_with_line functions.
      	(gen_insn): Likewise.
      	(gen_delay): Likewise.
      	(gen_insn_reserv): Likewise.
      	(gen_bypass): Take an md_rtx_info rather than an rtx.
      	(main): Update after interface changes.  Use a local max_insn_code
      	variable instead of insn_code_number.
      	* genautomata.c (gen_cpu_unit): Take an md_rtx_info rather than
      	an rtx.  Use fatal_at rather than fatal.
      	(gen_query_cpu_unit, gen_bypass, gen_excl_set)
      	(gen_presence_absence_set, gen_presence_set, gen_final_presence_set)
      	(gen_absence_set, gen_final_absence_set, gen_automaton)
      	(gen_automata_option, gen_reserv, gen_insn_reserv): Likewise.
      	(main): Update after interface changes.
      	* gencodes.c (gen_insn): Take an md_rtx_info rather than an rtx
      	and code number.
      	(main): Update after interface changes.
      	* genconditions.c (main): Use new read_md_rtx interface.
      	* genconfig.c (gen_insn): Take an md_rtx_info rather than an rtx.
      	(gen_expand, gen_split, gen_peephole, gen_peephole2): Likewise.
      	(main): Update after interface changes.
      	* genemit.c (insn_code_number, insn_index_number): Delete.
      	(gen_insn): Take an md_rtx_info rather than an rtx and lineno.
      	Use fatal_at rather than fatal.
      	(gen_expand): Take an md_rtx_info rather than an rtx.  Use fatal_at
      	rather than fatal.
      	(gen_split): Likewise.
      	(main): Update after interface changes.
      	* genextract.c (line_no): Delete.
      	(gen_insn): Take an md_rtx_info rather than an rtx and lineno.
      	Update call to walk_rtx.
      	(VEC_safe_set_locstr): Add an md_rtx_info argument.  Use message_at
      	rather than message_with_line.
      	(walk_rtx): Add an md_rtx_info argument.  Update call to
      	VEC_safe_set_locstr.
      	(main): Update after interface changes.
      	* genflags.c (gen_insn): Take an md_rtx_info rather than an rtx
      	and lineno.  Use error_at rather than separate message_with_line
      	calls and have_error assignments.
      	(main): Update after interface changes.
      	* genmddump.c (main): Use new read_md_rtx interface.
      	* genopinit.c (insn): Take an md_rtx_info rather than an rtx.
      	(main): Update after interface changes.
      	* genoutput.c (next_code_number): Delete.
      	(gen_insn): Take an md_rtx_info rather than an rtx and lineno.
      	(gen_peephole, gen_expand, gen_split): Likewise.
      	(note_constraint): Likewise.  Use *_at rather than *_with_line
      	functions.
      	(main): Update after interface changes.
      	* genpeep.c (gen_peephole): Take an md_rtx_info rather than an
      	rtx and lineno.
      	(main): Update after interface changes.
      	* genpreds.c (process_define_predicate): Take an md_rtx_info rather
      	than an rtx and lineno.
      	(process_define_constraint): Likewise.
      	(process_define_register_constraint): Likewise.
      	(main): Update after interface changes.
      	* genrecog.c (next_insn_code, pattern_lineno): Delete.
      	(validate_pattern): Replace top-level rtx with an md_rtx_info.
      	Use *_at rather than *_with_line functions.
      	(match_pattern_2): Likewise.
      	(match_pattern_1, match_pattern): Add an md_rtx_info parameter.
      	(get_peephole2_pattern): Take an md_rtx_info rather than an rtvec.
      	Use *_at rather than *_with_line functions.
      	* gentarget-def.c (add_insn): New function.
      	(main): Use it.  Use new read_md_rtx interface.
      
      From-SVN: r225883
      Richard Sandiford committed
  5. 10 Jul, 2015 1 commit
    • gimple-predict.h: New file. · 9fdcd34e
      2015-07-10  Andrew MacLeod  <amacleod@redhat.com>
      
      	* gimple-predict.h: New file. 
      	(gimple_predict_predictor, gimple_predict_set_predictor,
      	gimple_predict_outcome, gimple_predict_set_outcome,
      	gimple_build_predict): Relocate here.
      	* gimple.h (gimple_predict_predictor, gimple_predict_set_predictor,
      	gimple_predict_outcome, gimple_predict_set_outcome): Move to 
      	gimple-predict.h.
      	* gimple.c (gimple_build_predict): Move to gimple-predict.h
      	* basic-block.h: Don't include cfghooks.h.
      	* backend.h: Don't include predict.h.
      	* cfghooks.h: Include predict.h.
      	* gimple-pretty-print.c: Include gimple-predict.h.
      	* gimplify.c: Likwise.
      	* predict.c: Adjust includes.
      	* tree-inline.c: Likewise.
      	* asan.c: Likewise.
      	* auto-inc-dec.c: Likewise.
      	* auto-profile.c: Likewise.
      	* bb-reorder.c: Likewise.
      	* builtins.c: Likewise.
      	* caller-save.c: Likewise.
      	* calls.c: Likewise.
      	* cfganal.c: Likewise.
      	* cfgbuild.c: Likewise.
      	* cfg.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* cfgexpand.c: Likewise.
      	* cfghooks.c: Likewise.
      	* cfgloopanal.c: Likewise.
      	* cfgloop.c: Likewise.
      	* cfgloopmanip.c: Likewise.
      	* cfgrtl.c: Likewise.
      	* cgraph.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* combine.c: Likewise.
      	* cprop.c: Likewise.
      	* cse.c: Likewise.
      	* dce.c: Likewise.
      	* dojump.c: Likewise.
      	* dse.c: Likewise.
      	* except.c: Likewise.
      	* expmed.c: Likewise.
      	* expr.c: Likewise.
      	* final.c: Likewise.
      	* fold-const.c: Likewise.
      	* function.c: Likewise.
      	* fwprop.c: Likewise.
      	* gcc-plugin.h: Likewise.
      	* gcse.c: Likewise.
      	* genattrtab.c: Likewise.
      	* genemit.c: Likewise.
      	* gengtype.c: Likewise.
      	* genopinit.c: Likewise.
      	* genoutput.c: Likewise.
      	* genpreds.c: Likewise.
      	* genrecog.c: Likewise.
      	* gimple-fold.c: Likewise.
      	* gimple-iterator.c: Likewise.
      	* gimple-ssa-isolate-paths.c: Likewise.
      	* gimple-ssa-strength-reduction.c: Likewise.
      	* graph.c: Likewise.
      	* graphite-blocking.c: Likewise.
      	* graphite.c: Likewise.
      	* graphite-dependences.c: Likewise.
      	* graphite-interchange.c: Likewise.
      	* graphite-isl-ast-to-gimple.c: Likewise.
      	* graphite-optimize-isl.c: Likewise.
      	* graphite-poly.c: Likewise.
      	* graphite-scop-detection.c: Likewise.
      	* graphite-sese-to-poly.c: Likewise.
      	* haifa-sched.c: Likewise.
      	* ifcvt.c: Likewise.
      	* internal-fn.c: Likewise.
      	* ipa-cp.c: Likewise.
      	* ipa-profile.c: Likewise.
      	* ipa-split.c: Likewise.
      	* ipa-utils.c: Likewise.
      	* ira-build.c: Likewise.
      	* ira-color.c: Likewise.
      	* ira-conflicts.c: Likewise.
      	* ira-costs.c: Likewise.
      	* ira-emit.c: Likewise.
      	* ira-lives.c: Likewise.
      	* jump.c: Likewise.
      	* loop-doloop.c: Likewise.
      	* loop-init.c: Likewise.
      	* loop-invariant.c: Likewise.
      	* loop-unroll.c: Likewise.
      	* lower-subreg.c: Likewise.
      	* lra-assigns.c: Likewise.
      	* lra.c: Likewise.
      	* lra-coalesce.c: Likewise.
      	* lra-constraints.c: Likewise.
      	* lra-lives.c: Likewise.
      	* lto-cgraph.c: Likewise.
      	* lto-streamer-in.c: Likewise.
      	* mode-switching.c: Likewise.
      	* modulo-sched.c: Likewise.
      	* omp-low.c: Likewise.
      	* optabs.c: Likewise.
      	* passes.c: Likewise.
      	* postreload.c: Likewise.
      	* postreload-gcse.c: Likewise.
      	* profile.c: Likewise.
      	* recog.c: Likewise.
      	* regstat.c: Likewise.
      	* reload1.c: Likewise.
      	* reorg.c: Likewise.
      	* rtlanal.c: Likewise.
      	* sched-ebb.c: Likewise.
      	* sel-sched-ir.c: Likewise.
      	* sese.c: Likewise.
      	* shrink-wrap.c: Likewise.
      	* simplify-rtx.c: Likewise.
      	* stmt.c: Likewise.
      	* store-motion.c: Likewise.
      	* tracer.c: Likewise.
      	* trans-mem.c: Likewise.
      	* tree-call-cdce.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-chkp.c: Likewise.
      	* tree-complex.c: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-if-conv.c: Likewise.
      	* tree-loop-distribution.c: Likewise.
      	* tree-outof-ssa.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-predcom.c: Likewise.
      	* tree-pretty-print.c: Likewise.
      	* tree-profile.c: Likewise.
      	* tree-sra.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* tree-ssa-coalesce.c: Likewise.
      	* tree-ssa-dce.c: Likewise.
      	* tree-ssa-dom.c: Likewise.
      	* tree-ssa-forwprop.c: Likewise.
      	* tree-ssa-ifcombine.c: Likewise.
      	* tree-ssa-loop-ch.c: Likewise.
      	* tree-ssa-loop-im.c: Likewise.
      	* tree-ssa-loop-ivcanon.c: Likewise.
      	* tree-ssa-loop-ivopts.c: Likewise.
      	* tree-ssa-loop-manip.c: Likewise.
      	* tree-ssa-loop-prefetch.c: Likewise.
      	* tree-ssa-loop-unswitch.c: Likewise.
      	* tree-ssa-math-opts.c: Likewise.
      	* tree-ssa-phiopt.c: Likewise.
      	* tree-ssa-pre.c: Likewise.
      	* tree-ssa-reassoc.c: Likewise.
      	* tree-ssa-sink.c: Likewise.
      	* tree-ssa-tail-merge.c: Likewise.
      	* tree-ssa-threadedge.c: Likewise.
      	* tree-ssa-threadupdate.c: Likewise.
      	* tree-switch-conversion.c: Likewise.
      	* tree-tailcall.c: Likewise.
      	* tree-vect-data-refs.c: Likewise.
      	* tree-vect-loop.c: Likewise.
      	* tree-vect-loop-manip.c: Likewise.
      	* tree-vectorizer.c: Likewise.
      	* tree-vrp.c: Likewise.
      	* ubsan.c: Likewise.
      	* value-prof.c: Likewise.
      	* varasm.c: Likewise.
      	* var-tracking.c: Likewise.
      	* config/aarch64/aarch64-builtins.c: Likewise.
      	* config/aarch64/aarch64.c: Likewise.
      	* config/aarch64/cortex-a57-fma-steering.c: Likewise.
      	* config/alpha/alpha.c: Likewise.
      	* config/arc/arc.c: Likewise.
      	* config/arm/arm.c: Likewise.
      	* config/avr/avr.c: Likewise.
      	* config/bfin/bfin.c: Likewise.
      	* config/c6x/c6x.c: Likewise.
      	* config/cr16/cr16.c: Likewise.
      	* config/cris/cris.c: Likewise.
      	* config/darwin.c: Likewise.
      	* config/darwin-c.c: Likewise.
      	* config/epiphany/epiphany.c: Likewise.
      	* config/epiphany/mode-switch-use.c: Likewise.
      	* config/epiphany/resolve-sw-modes.c: Likewise.
      	* config/fr30/fr30.c: Likewise.
      	* config/frv/frv.c: Likewise.
      	* config/ft32/ft32.c: Likewise.
      	* config/h8300/h8300.c: Likewise.
      	* config/i386/i386.c: Likewise.
      	* config/i386/winnt.c: Likewise.
      	* config/ia64/ia64.c: Likewise.
      	* config/iq2000/iq2000.c: Likewise.
      	* config/lm32/lm32.c: Likewise.
      	* config/m32c/m32c.c: Likewise.
      	* config/m32r/m32r.c: Likewise.
      	* config/m68k/m68k.c: Likewise.
      	* config/mcore/mcore.c: Likewise.
      	* config/mep/mep.c: Likewise.
      	* config/microblaze/microblaze.c: Likewise.
      	* config/mips/mips.c: Likewise.
      	* config/mmix/mmix.c: Likewise.
      	* config/mn10300/mn10300.c: Likewise.
      	* config/moxie/moxie.c: Likewise.
      	* config/msp430/msp430.c: Likewise.
      	* config/nds32/nds32.c: Likewise.
      	* config/nds32/nds32-cost.c: Likewise.
      	* config/nds32/nds32-fp-as-gp.c: Likewise.
      	* config/nds32/nds32-intrinsic.c: Likewise.
      	* config/nds32/nds32-isr.c: Likewise.
      	* config/nds32/nds32-md-auxiliary.c: Likewise.
      	* config/nds32/nds32-memory-manipulation.c: Likewise.
      	* config/nds32/nds32-pipelines-auxiliary.c: Likewise.
      	* config/nds32/nds32-predicates.c: Likewise.
      	* config/nios2/nios2.c: Likewise.
      	* config/nvptx/nvptx.c: Likewise.
      	* config/pa/pa.c: Likewise.
      	* config/pdp11/pdp11.c: Likewise.
      	* config/rl78/rl78.c: Likewise.
      	* config/rs6000/rs6000.c: Likewise.
      	* config/rx/rx.c: Likewise.
      	* config/s390/s390.c: Likewise.
      	* config/sh/sh.c: Likewise.
      	* config/sh/sh-mem.cc: Likewise.
      	* config/sh/sh_optimize_sett_clrt.cc: Likewise.
      	* config/sh/sh_treg_combine.cc: Likewise.
      	* config/sparc/sparc.c: Likewise.
      	* config/spu/spu.c: Likewise.
      	* config/stormy16/stormy16.c: Likewise.
      	* config/tilegx/tilegx.c: Likewise.
      	* config/tilepro/tilepro.c: Likewise.
      	* config/v850/v850.c: Likewise.
      	* config/vax/vax.c: Likewise.
      	* config/visium/visium.c: Likewise.
      	* config/xtensa/xtensa.c: Likewise.
      
      java
      2015-07-10  Andrew MacLeod  <amacleod@redhat.com>
      
      	* java-gimplify.c: Include cfghooks.h rather than predict.h.
      
      lto
      2015-07-10  Andrew MacLeod  <amacleod@redhat.com>
      
      	* lto.c: Include cfghooks.h rather than predict.h.
      
      From-SVN: r225668
      Andrew MacLeod committed
  6. 08 Jul, 2015 1 commit
    • tree-core.h: Include symtab.h. · c7131fb2
      2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
      
      	* tree-core.h: Include symtab.h.
      	* rtl.h: Include hard-reg-set.h but not flags.h.
      	(HARD_CONST): Remove condition compilation involving HARD_CONST since 
      	hard-reg-set.h is always included.
      	* regs.h: Don't include hard-reg-set.h or rtl.h.
      	* cfg.h: Include dominance.h.
      	* gimple.h: Include tree-ssa-alias.h and gimple-expr.h.
      	* backend.h: New.  Aggregate commonly used backend header files.
      	* gimple-ssa.h: Don't include tree-hasher.h.
      	* ssa.h: New.  Aggregate commonly used SSA header files.
      	* regset.h: Remove bitmap.h and hard-reg-set.h #includes.
      	* sel-sched-ir.h: Flatten includes.
      	* lra-int.h: Flatten completely.
      	* sel-sched-dump.h: Flatten includes.
      	* ira-int.h: Flatten includes.
      	* gimple-streamer.h: Remove all includes.
      	* cfgloop.h: Remove all #includes except cfgloopmanip.h.
      	* resource.h: Flatten hard-reg-set.h and df.h.
      	* sched-int.h: Flatten insn-arrt.h and df.h.
      	* valtrack.h: flatten bitmap.h, df.h, and rtl.h
      	* df.h: Flatten includes, leaving regset.h, alloc-pool.h and timevar.h.
      	* genattrtab.c (write_header): Adjust generated includes.
      	* genautomata.c (main): Likewise.
      	* genconditions.c (write-header): Likewise.
      	* genemit.c (main): Likewise.
      	* gengtype.c (open_base_files): Likewise.
      	* genopinit.c (main): Likewise.
      	* genoutput.c (output_prologue): Likewise.
      	* genpeep.c (main): Likewise.
      	* genpreds.c (write_insn_preds_c): Likewise.
      	* genrecog.c (write_header): Likewise.
      	* alias.c: Adjust includes.
      	* asan.c: Likewise.
      	* attribs.c: Likewise.
      	* auto-inc-dec.c: Likewise.
      	* auto-profile.c: Likewise.
      	* bb-reorder.c: Likewise.
      	* bt-load.c: Likewise.
      	* builtins.c: Likewise.
      	* caller-save.c: Likewise.
      	* calls.c: Likewise.
      	* ccmp.c: Likewise.
      	* cfg.c: Likewise.
      	* cfganal.c: Likewise.
      	* cfgbuild.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* cfgexpand.c: Likewise.
      	* cfghooks.c: Likewise.
      	* cfgloop.c: Likewise.
      	* cfgloopanal.c: Likewise.
      	* cfgloopmanip.c: Likewise.
      	* cfgrtl.c: Likewise.
      	* cgraph.c: Likewise.
      	* cgraphbuild.c: Likewise.
      	* cgraphclones.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* cilk-common.c: Likewise.
      	* combine-stack-adj.c: Likewise.
      	* combine.c: Likewise.
      	* compare-elim.c: Likewise.
      	* convert.c: Likewise.
      	* coverage.c: Likewise.
      	* cppbuiltin.c: Likewise.
      	* cprop.c: Likewise.
      	* cse.c: Likewise.
      	* cselib.c: Likewise.
      	* data-streamer-in.c: Likewise.
      	* data-streamer-out.c: Likewise.
      	* data-streamer.c: Likewise.
      	* dbxout.c: Likewise.
      	* dce.c: Likewise.
      	* ddg.c: Likewise.
      	* debug.c: Likewise.
      	* df-core.c: Likewise.
      	* df-problems.c: Likewise.
      	* df-scan.c: Likewise.
      	* dfp.c: Likewise.
      	* dojump.c: Likewise.
      	* dominance.c: Likewise.
      	* domwalk.c: Likewise.
      	* double-int.c: Likewise.
      	* dse.c: Likewise.
      	* dumpfile.c: Likewise.
      	* dwarf2asm.c: Likewise.
      	* dwarf2cfi.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* emit-rtl.c: Likewise.
      	* et-forest.c: Likewise.
      	* except.c: Likewise.
      	* explow.c: Likewise.
      	* expmed.c: Likewise.
      	* expr.c: Likewise.
      	* final.c: Likewise.
      	* fixed-value.c: Likewise.
      	* fold-const.c: Likewise.
      	* function.c: Likewise.
      	* fwprop.c: Likewise.
      	* gcc-plugin.h: Likewise.
      	* gcse-common.c: Likewise.
      	* gcse.c: Likewise.
      	* generic-match-head.c: Likewise.
      	* ggc-page.c: Likewise.
      	* gimple-builder.c: Likewise.
      	* gimple-expr.c: Likewise.
      	* gimple-fold.c: Likewise.
      	* gimple-iterator.c: Likewise.
      	* gimple-low.c: Likewise.
      	* gimple-match-head.c: Likewise.
      	* gimple-pretty-print.c: Likewise.
      	* gimple-ssa-isolate-paths.c: Likewise.
      	* gimple-ssa-strength-reduction.c: Likewise.
      	* gimple-streamer-in.c: Likewise.
      	* gimple-streamer-out.c: Likewise.
      	* gimple-walk.c: Likewise.
      	* gimple.c: Likewise.
      	* gimplify-me.c: Likewise.
      	* gimplify.c: Likewise.
      	* godump.c: Likewise.
      	* graph.c: Likewise.
      	* graphite-blocking.c: Likewise.
      	* graphite-dependences.c: Likewise.
      	* graphite-interchange.c: Likewise.
      	* graphite-isl-ast-to-gimple.c: Likewise.
      	* graphite-optimize-isl.c: Likewise.
      	* graphite-poly.c: Likewise.
      	* graphite-scop-detection.c: Likewise.
      	* graphite-sese-to-poly.c: Likewise.
      	* graphite.c: Likewise.
      	* haifa-sched.c: Likewise.
      	* hw-doloop.c: Likewise.
      	* ifcvt.c: Likewise.
      	* init-regs.c: Likewise.
      	* internal-fn.c: Likewise.
      	* ipa-chkp.c: Likewise.
      	* ipa-comdats.c: Likewise.
      	* ipa-cp.c: Likewise.
      	* ipa-devirt.c: Likewise.
      	* ipa-icf-gimple.c: Likewise.
      	* ipa-icf.c: Likewise.
      	* ipa-inline-analysis.c: Likewise.
      	* ipa-inline-transform.c: Likewise.
      	* ipa-inline.c: Likewise.
      	* ipa-polymorphic-call.c: Likewise.
      	* ipa-profile.c: Likewise.
      	* ipa-prop.c: Likewise.
      	* ipa-pure-const.c: Likewise.
      	* ipa-ref.c: Likewise.
      	* ipa-reference.c: Likewise.
      	* ipa-split.c: Likewise.
      	* ipa-utils.c: Likewise.
      	* ipa-visibility.c: Likewise.
      	* ipa.c: Likewise.
      	* ira-build.c: Likewise.
      	* ira-color.c: Likewise.
      	* ira-conflicts.c: Likewise.
      	* ira-costs.c: Likewise.
      	* ira-emit.c: Likewise.
      	* ira-lives.c: Likewise.
      	* ira.c: Likewise.
      	* jump.c: Likewise.
      	* langhooks.c: Likewise.
      	* lcm.c: Likewise.
      	* loop-doloop.c: Likewise.
      	* loop-init.c: Likewise.
      	* loop-invariant.c: Likewise.
      	* loop-iv.c: Likewise.
      	* loop-unroll.c: Likewise.
      	* lower-subreg.c: Likewise.
      	* lra-assigns.c: Likewise.
      	* lra-coalesce.c: Likewise.
      	* lra-constraints.c: Likewise.
      	* lra-eliminations.c: Likewise.
      	* lra-lives.c: Likewise.
      	* lra-remat.c: Likewise.
      	* lra-spills.c: Likewise.
      	* lra.c: Likewise.
      	* lto-cgraph.c: Likewise.
      	* lto-compress.c: Likewise.
      	* lto-opts.c: Likewise.
      	* lto-section-in.c: Likewise.
      	* lto-section-out.c: Likewise.
      	* lto-streamer-in.c: Likewise.
      	* lto-streamer-out.c: Likewise.
      	* lto-streamer.c: Likewise.
      	* mcf.c: Likewise.
      	* mode-switching.c: Likewise.
      	* modulo-sched.c: Likewise.
      	* omega.c: Likewise.
      	* omp-low.c: Likewise.
      	* optabs.c: Likewise.
      	* opts-global.c: Likewise.
      	* passes.c: Likewise.
      	* plugin.c: Likewise.
      	* postreload-gcse.c: Likewise.
      	* postreload.c: Likewise.
      	* predict.c: Likewise.
      	* print-rtl.c: Likewise.
      	* print-tree.c: Likewise.
      	* profile.c: Likewise.
      	* real.c: Likewise.
      	* realmpfr.c: Likewise.
      	* recog.c: Likewise.
      	* ree.c: Likewise.
      	* reg-stack.c: Likewise.
      	* regcprop.c: Likewise.
      	* reginfo.c: Likewise.
      	* regrename.c: Likewise.
      	* regstat.c: Likewise.
      	* reload.c: Likewise.
      	* reload1.c: Likewise.
      	* reorg.c: Likewise.
      	* resource.c: Likewise.
      	* rtl-chkp.c: Likewise.
      	* rtlanal.c: Likewise.
      	* rtlhooks.c: Likewise.
      	* sanopt.c: Likewise.
      	* sched-deps.c: Likewise.
      	* sched-ebb.c: Likewise.
      	* sched-rgn.c: Likewise.
      	* sched-vis.c: Likewise.
      	* sdbout.c: Likewise.
      	* sel-sched-dump.c: Likewise.
      	* sel-sched-ir.c: Likewise.
      	* sel-sched.c: Likewise.
      	* sese.c: Likewise.
      	* shrink-wrap.c: Likewise.
      	* simplify-rtx.c: Likewise.
      	* stack-ptr-mod.c: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* store-motion.c: Likewise.
      	* stringpool.c: Likewise.
      	* symtab.c: Likewise.
      	* target-globals.c: Likewise.
      	* targhooks.c: Likewise.
      	* toplev.c: Likewise.
      	* tracer.c: Likewise.
      	* trans-mem.c: Likewise.
      	* tree-affine.c: Likewise.
      	* tree-browser.c: Likewise.
      	* tree-call-cdce.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-chkp-opt.c: Likewise.
      	* tree-chkp.c: Likewise.
      	* tree-chrec.c: Likewise.
      	* tree-complex.c: Likewise.
      	* tree-data-ref.c: Likewise.
      	* tree-dfa.c: Likewise.
      	* tree-diagnostic.c: Likewise.
      	* tree-dump.c: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-emutls.c: Likewise.
      	* tree-if-conv.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-iterator.c: Likewise.
      	* tree-loop-distribution.c: Likewise.
      	* tree-nested.c: Likewise.
      	* tree-nrv.c: Likewise.
      	* tree-object-size.c: Likewise.
      	* tree-outof-ssa.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-phinodes.c: Likewise.
      	* tree-predcom.c: Likewise.
      	* tree-pretty-print.c: Likewise.
      	* tree-profile.c: Likewise.
      	* tree-scalar-evolution.c: Likewise.
      	* tree-sra.c: Likewise.
      	* tree-ssa-address.c: Likewise.
      	* tree-ssa-alias.c: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-coalesce.c: Likewise.
      	* tree-ssa-copy.c: Likewise.
      	* tree-ssa-copyrename.c: Likewise.
      	* tree-ssa-dce.c: Likewise.
      	* tree-ssa-dom.c: Likewise.
      	* tree-ssa-dse.c: Likewise.
      	* tree-ssa-forwprop.c: Likewise.
      	* tree-ssa-ifcombine.c: Likewise.
      	* tree-ssa-live.c: Likewise.
      	* tree-ssa-loop-ch.c: Likewise.
      	* tree-ssa-loop-im.c: Likewise.
      	* tree-ssa-loop-ivcanon.c: Likewise.
      	* tree-ssa-loop-ivopts.c: Likewise.
      	* tree-ssa-loop-manip.c: Likewise.
      	* tree-ssa-loop-niter.c: Likewise.
      	* tree-ssa-loop-prefetch.c: Likewise.
      	* tree-ssa-loop-unswitch.c: Likewise.
      	* tree-ssa-loop.c: Likewise.
      	* tree-ssa-math-opts.c: Likewise.
      	* tree-ssa-operands.c: Likewise.
      	* tree-ssa-phiopt.c: Likewise.
      	* tree-ssa-phiprop.c: Likewise.
      	* tree-ssa-pre.c: Likewise.
      	* tree-ssa-propagate.c: Likewise.
      	* tree-ssa-reassoc.c: Likewise.
      	* tree-ssa-sccvn.c: Likewise.
      	* tree-ssa-scopedtables.c: Likewise.
      	* tree-ssa-sink.c: Likewise.
      	* tree-ssa-strlen.c: Likewise.
      	* tree-ssa-structalias.c: Likewise.
      	* tree-ssa-tail-merge.c: Likewise.
      	* tree-ssa-ter.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-ssanames.c: Likewise.
      	* tree-stdarg.c: Likewise.
      	* tree-streamer-in.c: Likewise.
      	* tree-streamer-out.c: Likewise.
      	* tree-streamer.c: Likewise.
      	* tree-switch-conversion.c: Likewise.
      	* tree-tailcall.c: Likewise.
      	* tree-vect-data-refs.c: Likewise.
      	* tree-vect-generic.c: Likewise.
      	* tree-vect-loop-manip.c: Likewise.
      	* tree-vect-loop.c: Likewise.
      	* tree-vect-patterns.c: Likewise.
      	* tree-vect-slp.c: Likewise.
      	* tree-vect-stmts.c: Likewise.
      	* tree-vectorizer.c: Likewise.
      	* tree-vrp.c: Likewise.
      	* tree.c: Likewise.
      	* tsan.c: Likewise.
      	* ubsan.c: Likewise.
      	* valtrack.c: Likewise.
      	* value-prof.c: Likewise.
      	* var-tracking.c: Likewise.
      	* varasm.c: Likewise.
      	* varpool.c: Likewise.
      	* vmsdbgout.c: Likewise.
      	* vtable-verify.c: Likewise.
      	* web.c: Likewise.
      	* wide-int.cc: Likewise.
      	* xcoffout.c: Likewise.
      	* config/aarch64/aarch64-builtins.c: Likewise.
      	* config/aarch64/aarch64.c: Likewise.
      	* config/aarch64/cortex-a57-fma-steering.c: Likewise.
      	* config/alpha/alpha.c: Likewise.
      	* config/arc/arc.c: Likewise.
      	* config/arm/aarch-common.c: Likewise.
      	* config/arm/arm-builtins.c: Likewise.
      	* config/arm/arm-c.c: Likewise.
      	* config/arm/arm.c: Likewise.
      	* config/avr/avr-c.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.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/ft32/ft32.c: Likewise.
      	* config/h8300/h8300.c: Likewise.
      	* config/i386/i386-c.c: Likewise.
      	* config/i386/i386.c: Likewise.
      	* config/i386/msformat-c.c: Likewise.
      	* config/i386/winnt-cxx.c: Likewise.
      	* config/i386/winnt-stubs.c: Likewise.
      	* config/i386/winnt.c: Likewise.
      	* config/ia64/ia64-c.c: Likewise.
      	* config/ia64/ia64.c: Likewise.
      	* config/iq2000/iq2000.c: Likewise.
      	* config/lm32/lm32.c: Likewise.
      	* config/m32c/m32c-pragma.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.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.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/nvptx/nvptx.c: Likewise.
      	* config/pa/pa.c: Likewise.
      	* config/pdp11/pdp11.c: Likewise.
      	* config/rl78/rl78-c.c: Likewise.
      	* config/rl78/rl78.c: Likewise.
      	* config/rs6000/rs6000-c.c: Likewise.
      	* config/rs6000/rs6000.c: Likewise.
      	* config/rx/rx.c: Likewise.
      	* config/s390/s390-c.c: Likewise.
      	* config/s390/s390.c: Likewise.
      	* config/sh/sh-c.c: Likewise.
      	* config/sh/sh-mem.cc: Likewise.
      	* config/sh/sh.c: Likewise.
      	* config/sh/sh_optimize_sett_clrt.cc: Likewise.
      	* config/sh/sh_treg_combine.cc: Likewise.
      	* config/sol2-c.c: Likewise.
      	* config/sol2-cxx.c: Likewise.
      	* config/sol2-stubs.c: Likewise.
      	* config/sol2.c: Likewise.
      	* config/sparc/sparc-c.c: Likewise.
      	* config/sparc/sparc.c: Likewise.
      	* config/spu/spu-c.c: Likewise.
      	* config/spu/spu.c: Likewise.
      	* config/stormy16/stormy16.c: Likewise.
      	* config/tilegx/mul-tables.c: Likewise.
      	* config/tilegx/tilegx-c.c: Likewise.
      	* config/tilegx/tilegx.c: Likewise.
      	* config/tilepro/mul-tables.c: Likewise.
      	* config/tilepro/tilepro-c.c: Likewise.
      	* config/tilepro/tilepro.c: Likewise.
      	* config/v850/v850-c.c: Likewise.
      	* config/v850/v850.c: Likewise.
      	* config/vax/vax.c: Likewise.
      	* config/visium/visium.c: Likewise.
      	* config/vms/vms-c.c: Likewise.
      	* config/vms/vms.c: Likewise.
      	* config/vxworks.c: Likewise.
      	* config/xtensa/xtensa.c: Likewise.
      
      ada
      2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
      
      	* gcc-interface/cuintp.c: Adjust includes.
      	* gcc-interface/decl.c: Likewise.
      	* gcc-interface/misc.c: Likewise.
      	* gcc-interface/targtyps.c: Likewise.
      	* gcc-interface/trans.c: Likewise.
      	* gcc-interface/utils.c: Likewise.
      	* gcc-interface/utils2.c: Likewise.
      
      c
      2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
      
      	* c-array-notation.c: Adjust includes.
      	* c-aux-info.c: Likewise.
      	* c-convert.c: Likewise.
      	* c-decl.c: Likewise.
      	* c-errors.c: Likewise.
      	* c-lang.c: Likewise.
      	* c-objc-common.c: Likewise.
      	* c-parser.c: Likewise.
      	* c-typeck.c: Likewise.
      
      c-family
      2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
      
      	* array-notation-common.c: Adjust includes.
      	* c-ada-spec.c: Likewise.
      	* c-cilkplus.c: Likewise.
      	* c-common.h: Likewise.
      	* c-cppbuiltin.c: Likewise.
      	* c-dump.c: Likewise.
      	* c-format.c: Likewise.
      	* c-gimplify.c: Likewise.
      	* c-indentation.c: Likewise.
      	* c-lex.c: Likewise.
      	* c-omp.c: Likewise.
      	* c-opts.c: Likewise.
      	* c-pch.c: Likewise.
      	* c-ppoutput.c: Likewise.
      	* c-pragma.c: Likewise.
      	* c-pretty-print.c: Likewise.
      	* c-semantics.c: Likewise.
      	* c-ubsan.c: Likewise.
      	* cilk.c: Likewise.
      	* stub-objc.c: Likewise.
      
      cp
      2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
      
      	* call.c: Adjust includes.
      	* class.c: Likewise.
      	* constexpr.c: Likewise.
      	* cp-array-notation.c: Likewise.
      	* cp-gimplify.c: Likewise.
      	* cp-lang.c: Likewise.
      	* cp-objcp-common.c: Likewise.
      	* cp-ubsan.c: Likewise.
      	* cvt.c: Likewise.
      	* decl.c: Likewise.
      	* decl2.c: Likewise.
      	* dump.c: Likewise.
      	* error.c: Likewise.
      	* except.c: Likewise.
      	* expr.c: Likewise.
      	* friend.c: Likewise.
      	* init.c: Likewise.
      	* lambda.c: Likewise.
      	* lex.c: Likewise.
      	* mangle.c: Likewise.
      	* method.c: Likewise.
      	* name-lookup.c: Likewise.
      	* optimize.c: Likewise.
      	* parser.c: Likewise.
      	* pt.c: Likewise.
      	* ptree.c: Likewise.
      	* repo.c: Likewise.
      	* rtti.c: Likewise.
      	* search.c: Likewise.
      	* semantics.c: Likewise.
      	* tree.c: Likewise.
      	* typeck.c: Likewise.
      	* typeck2.c: Likewise.
      
      fortran
      2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
      
      	* convert.c: Adjust includes.
      	* cpp.c: Likewise.
      	* decl.c: Likewise.
      	* f95-lang.c: Likewise.
      	* iresolve.c: Likewise.
      	* match.c: Likewise.
      	* module.c: Likewise.
      	* options.c: Likewise.
      	* target-memory.c: Likewise.
      	* trans-array.c: Likewise.
      	* trans-common.c: Likewise.
      	* trans-const.c: Likewise.
      	* trans-decl.c: Likewise.
      	* trans-expr.c: Likewise.
      	* trans-intrinsic.c: Likewise.
      	* trans-io.c: Likewise.
      	* trans-openmp.c: Likewise.
      	* trans-stmt.c: Likewise.
      	* trans-types.c: Likewise.
      	* trans.c: Likewise.
      
      go
      2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
      
      	* go-backend.c: Adjust includes.
      	* go-gcc.cc: Likewise.
      	* go-lang.c: Likewise.
      
      java
      2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
      
      	* boehm.c: Adjust includes.
      	* builtins.c: Likewise.
      	* class.c: Likewise.
      	* constants.c: Likewise.
      	* decl.c: Likewise.
      	* except.c: Likewise.
      	* expr.c: Likewise.
      	* java-gimplify.c: Likewise.
      	* jcf-dump.c: Likewise.
      	* jcf-io.c: Likewise.
      	* jcf-parse.c: Likewise.
      	* jvgenmain.c: Likewise.
      	* lang.c: Likewise.
      	* mangle.c: Likewise.
      	* mangle_name.c: Likewise.
      	* resource.c: Likewise.
      	* typeck.c: Likewise.
      	* verify-glue.c: Likewise.
      
      jit
      2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
      
      	* dummy-frontend.c: Adjust includes.
      	* jit-common.h: Likewise.
      	* jit-playback.c: Likewise.
      
      lto
      2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
      
      	* lto-lang.c: Adjust includes.
      	* lto-object.c: Likewise.
      	* lto-partition.c: Likewise.
      	* lto-symtab.c: Likewise.
      	* lto.c: Likewise.
      
      objc
      2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
      
      	* objc-act.c: Adjust includes.
      	* objc-encoding.c: Likewise.
      	* objc-gnu-runtime-abi-01.c: Likewise.
      	* objc-lang.c: Likewise.
      	* objc-map.c: Likewise.
      	* objc-next-runtime-abi-01.c: Likewise.
      	* objc-next-runtime-abi-02.c: Likewise.
      	* objc-runtime-shared-support.c: Likewise.
      
      objcp
      2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
      
      	* objcp-decl.c: Adjust includes.
      	* objcp-lang.c: Likewise.
      
      From-SVN: r225531
      Andrew MacLeod committed
  7. 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
  8. 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
  9. 05 Jan, 2015 1 commit
  10. 01 Nov, 2014 1 commit
    • 2014-11-01 Andrew MacLeod <amacleod@redhat,com> · b0710fe1
      	* optabs.h: Flatten insn-codes.h to source files.  Move some prototypes
      	and structs to genopinit.c.  Adjust protyoptypes to match optabs.c.
      	* genopinit.c (main): Emit prototypes and structs into insn-opinit.h.
      	* optabs.c: (gen_move_insn): Move to expr.c.
      	* expr.h: Move protypes and enums to optabs.h.
      	* expr.c: (gen_move_insn): Relocate from optabs.c.
      	* genemit.c (main): Include insn-codes.h.
      	* gengtype.c (open_base_files): Include insn-codes.h.
      	* asan.c: Include insn-codes.h.
      	* bb-reorder.c: Ditto.
      	* builtins.c: Ditto.
      	* calls.c: Ditto.
      	* cfgexpand.c: Ditto.
      	* cilk-common.c: Ditto.
      	* combine.c: Ditto.
      	* dojump.c: Ditto.
      	* dse.c: Ditto.
      	* except.c: Ditto.
      	* explow.c: Ditto.
      	* expmed.c: Ditto.
      	* function.c: Ditto.
      	* ifcvt.c: Ditto.
      	* internal-fn.c: Ditto.
      	* loop-unroll.c: Ditto.
      	* lra.c: Ditto.
      	* modulo-sched.c: Ditto.
      	* omp-low.c: Ditto.
      	* postreload.c: Ditto.
      	* ree.c: Ditto.
      	* reload.c: Ditto.
      	* reload1.c: Ditto.
      	* shrink-wrap.c: Ditto.
      	* simplify-rtx.c: Ditto.
      	* stmt.c: Ditto.
      	* target-globals.c: Ditto.
      	* targhooks.c: Ditto.
      	* toplev.c: Ditto.
      	* tree-if-conv.c: Ditto.
      	* tree-ssa-forwprop.c: Ditto.
      	* tree-ssa-loop-prefetch.c: Ditto.
      	* tree-ssa-math-opts.c: Ditto.
      	* tree-ssa-phiopt.c: Ditto.
      	* tree-ssa-reassoc.c: Ditto.
      	* tree-switch-conversion.c: Ditto.
      	* tree-vect-data-refs.c: Ditto.
      	* tree-vect-generic.c: Ditto.
      	* tree-vect-loop.c: Ditto.
      	* tree-vect-patterns.c: Ditto.
      	* tree-vect-slp.c: Ditto.
      	* tree-vect-stmts.c: Ditto.
      	* tree-vrp.c: Ditto.
      	* value-prof.c: Ditto.
      	* config/aarch64/aarch64-builtins.c: Ditto.
      	* config/alpha/alpha.c: Ditto.
      	* config/arm/arm.c: Ditto.
      	* config/cris/cris.c: Ditto.
      	* config/epiphany/epiphany.c: Ditto.
      	* config/frv/frv.c: Ditto.
      	* config/h8300/h8300.c: Ditto.
      	* config/ia64/ia64.c: Ditto.
      	* config/iq2000/iq2000.c: Ditto.
      	* config/m32c/m32c.c: Ditto.
      	* config/mep/mep.c: Ditto.
      	* config/microblaze/microblaze.c: Ditto.
      	* config/mips/mips.c: Ditto.
      	* config/mn10300/mn10300.c: Ditto.
      	* config/moxie/moxie.c: Ditto.
      	* config/msp430/msp430.c: Ditto.
      	* config/nios2/nios2.c: Ditto.
      	* config/pa/pa.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.c: Ditto.
      	* config/sh/sh_treg_combine.cc: Ditto.
      	* config/spu/spu.c: Ditto.
      	* config/stormy16/stormy16.c: Ditto.
      	* config/tilegx/mul-tables.c: Ditto.
      	* config/tilegx/tilegx.c: Ditto.
      	* config/tilepro/mul-tables.c: Ditto.
      	* config/tilepro/tilepro.c: Ditto.
      	* config/vax/vax.c: Ditto.
      
      From-SVN: r217005
      Andrew MacLeod committed
  11. 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
  12. 22 Oct, 2014 1 commit
    • cfgbuild.h: New. · 893479de
      
      2014-10-22  Andrew MacLeod  <amacleod@redhat.com>
      
      	* cfgbuild.h: New.  Add prototypes for cfgbuild.c.
      	* cfgcleanup.h: New.  Add prototypes for cfgcleanup.c.
      	* cfgloopmanip.h: New.  Add prototypes for cfgloopmanip.c.
      	* dominance.h: New.  Add prototypes for dominance.c.
      	* cfgloop.h: Move some prototypes/enum to cfgloopmanip.h and include it.
      	* cfghooks.h: (struct profile_record) Relocate here.
      	Relocate 2 prototypes from basic-block.h.
      	* basic-block.h: Move prototypes and struct to new header files.
      	Include cfgbuild.h, cfgcleanup.h, and dominance.h.
      	* rtl.h: Move a few prototypes to new header files.
      	* cfgcleanup.c (merge_memattrs): Make static.
      	* genopinit.c (main): Add predict.h to list of includes.
      	* predict.h: Update prototype list to match predict.c.
      	* predict.c (maybe_hot_count_p): Export.
      	(cgraph_edge::maybe_hot_p): Move to cgraph.c.
      	(cgraph_node::optimize_for_size_p): Move to cgraph.h.
      	* cgraph.h (cgraph_node::optimize_for_size_p): Relocate here.
      	* cgraph.c (cgraph_edge::maybe_hot_p): Relocate here.
      	* profile.h: Adjust prototypes.
      	* ifcvt.h: New.  Relocate struct ce_if_block here.
      	* ifcvt.c: Include ifcvt.h.
      
      	* config/frv/frv.c: Include ifcvt.h.
      	* config/frv/frv-protos.h: Add 'struct' to ce_if_block * parameters.
      
      From-SVN: r216559
      Andrew MacLeod committed
  13. 17 Jun, 2014 1 commit
  14. 02 Jan, 2014 1 commit
  15. 19 Nov, 2013 1 commit
    • Factor unrelated declarations out of tree.h. · d8a2d370
      This patch applies the rule that functions defined in FOO.c must be
      declared in FOO.h. One of the worst offenders in the code base is
      tree.h, unsurprisingly.
      
      The patch creates several new headers: attribs.h calls.h fold-const.h
      gcc-symtab.h print-rtl.h print-tree.h stmt.h stor-layout.h stringpool.h
      tree-nested.h tree-object-size.h varasm.h.
      
      Functions in each corresponding .c file got moved to those headers and
      others that already existed. I wanted to make this patch as mechanical
      as possible, so I made no attempt to fix problems like having
      build_addr defined in tree-inline.c. I left that for later.
      
      There were some declarations that I could not move out of tree.h
      because of header poisoning or the use of target macros. We forbid the
      inclusion of things like expr.h from FE files. While that's a
      reasonable idea, the FE file *still* manage to at expr.c functionality
      because the declarations they want to use were defined in tree.h.
      
      The affected files are builtins.h, emit-rtl.h and expr.h.
      
      If that functionality is allowed to be accessed from the FEs,
      then I will later move those functions out of expr.c into tree.c.
      I have moved these declarations to the bottom of tree.h so they
      are easy to identify later.
      
      There is a namespace collision with libcpp. The file gcc/symtab.c
      cannot use gcc/symtab.h because the #include command picks up
      libcpp/include/symtab.h first. So I named this file gcc-symtab.h
      for now.
      
      Finally, I added a new header to PLUGIN_HEADERS to account for the
      tree.h refactoring. I did not add all headers factored out of tree.h
      because it is unclear (and impossible to tell) what plugins need.
      This adds the one header used by the plugins in the testsuite.
      
      This will be changing quite dramatically as we progress with the header
      refactoring.
      
      This patch should offer some minimal incremental build advantages
      by reducing the size of tree.h. Changes that would otherwise
      affected tree.h, will now go to other headers which are less
      frequently included.
      
      	* tree.h: Include fold-const.h.
      	(aggregate_value_p): Moved to function.h.
      	(alloca_call_p): Moved to calls.h.
      	(allocate_struct_function): Moved to function.h.
      	(apply_tm_attr): Moved to attribs.h.
      	(array_at_struct_end_p): Moved to expr.h.
      	(array_ref_element_size): Moved to tree-dfa.h.
      	(array_ref_low_bound): Moved to tree-dfa.h.
      	(array_ref_up_bound): Moved to tree.h.
      	(assemble_alias): Moved to cgraph.h.
      	(bit_from_pos): Moved to stor-layout.h.
      	(build_addr): Moved to tree-nested.h.
      	(build_duplicate_type): Moved to tree-inline.h.
      	(build_fold_addr_expr): Moved to fold-const.h.
      	(build_fold_addr_expr_with_type): Moved to fold-const.h.
      	(build_fold_addr_expr_with_type_loc): Moved to fold-const.h.
      	(build_fold_indirect_ref): Moved to fold-const.h.
      	(build_fold_indirect_ref_loc): Moved to fold-const.h.
      	(build_personality_function): Moved to tree.h.
      	(build_range_check): Moved to fold-const.h.
      	(build_simple_mem_ref): Moved to fold-const.h.
      	(build_simple_mem_ref_loc): Moved to fold-const.h.
      	(build_tm_abort_call): Moved to trans-mem.h.
      	(byte_from_pos): Moved to stor-layout.h.
      	(call_expr_flags): Moved to calls.h.
      	(can_move_by_pieces): Moved to expr.h.
      	(categorize_ctor_elements): Moved to expr.h.
      	(change_decl_assembler_name): Moved to gcc-symtab.h.
      	(combine_comparisons): Moved to fold-const.h.
      	(complete_ctor_at_level_p): Moved to tree.h.
      	(component_ref_field_offset): Moved to tree-dfa.h.
      	(compute_builtin_object_size): Moved to tree-object-size.h.
      	(compute_record_mode): Moved to stor-layout.h.
      	(constant_boolean_node): Moved to fold-const.h.
      	(constructor_static_from_elts_p): Moved to varasm.h.
      	(cxx11_attribute_p): Moved to attribs.h.
      	(debug_body): Moved to print-tree.h.
      	(debug_find_tree): Moved to tree-inline.h.
      	(debug_fold_checksum): Moved to fold-const.h.
      	(debug_head): Moved to print-tree.h.
      	(debug_head): Moved to print-tree.h.
      	(debug_raw): Moved to print-tree.h.
      	(debug_tree): Moved to print-tree.h.
      	(debug_vec_tree): Moved to print-tree.h.
      	(debug_verbose): Moved to print-tree.h.
      	(debug_verbose): Moved to print-tree.h.
      	(decl_attributes): Moved to attribs.h.
      	(decl_binds_to_current_def_p): Moved to varasm.h.
      	(decl_default_tls_model): Moved to varasm.h.
      	(decl_replaceable_p): Moved to varasm.h.
      	(div_if_zero_remainder): Moved to fold-const.h.
      	(double_int mem_ref_offset): Moved to fold-const.h.
      	(dump_addr): Moved to print-tree.h.
      	(element_precision): Moved to machmode.h.
      	(expand_dummy_function_end): Moved to function.h.
      	(expand_function_end): Moved to function.h.
      	(expand_function_start): Moved to function.h.
      	(expand_label): Moved to stmt.h.
      	(expr_first): Moved to tree-iterator.h.
      	(expr_last): Moved to tree-iterator.h.
      	(finalize_size_functions): Moved to stor-layout.h.
      	(finish_builtin_struct): Moved to stor-layout.h.
      	(finish_record_layout): Moved to stor-layout.h.
      	(fixup_signed_type): Moved to stor-layout.h.
      	(fixup_unsigned_type): Moved to stor-layout.h.
      	(flags_from_decl_or_type): Moved to calls.h.
      	(fold): Moved to fold-const.h.
      	(fold_abs_const): Moved to fold-const.h.
      	(fold_binary): Moved to fold-const.h.
      	(fold_binary_loc): Moved to fold-const.h.
      	(fold_binary_to_constant): Moved to fold-const.h.
      	(fold_build1): Moved to fold-const.h.
      	(fold_build1_initializer_loc): Moved to fold-const.h.
      	(fold_build1_loc): Moved to fold-const.h.
      	(fold_build1_stat_loc): Moved to fold-const.h.
      	(fold_build2): Moved to fold-const.h.
      	(fold_build2_initializer_loc): Moved to fold-const.h.
      	(fold_build2_loc): Moved to fold-const.h.
      	(fold_build2_stat_loc): Moved to fold-const.h.
      	(fold_build3): Moved to fold-const.h.
      	(fold_build3_loc): Moved to fold-const.h.
      	(fold_build3_stat_loc): Moved to fold-const.h.
      	(fold_build_call_array): Moved to fold-const.h.
      	(fold_build_call_array_initializer): Moved to fold-const.h.
      	(fold_build_call_array_initializer_loc): Moved to fold-const.h.
      	(fold_build_call_array_loc): Moved to fold-const.h.
      	(fold_build_cleanup_point_expr): Moved to fold-const.h.
      	(fold_convert): Moved to fold-const.h.
      	(fold_convert_loc): Moved to fold-const.h.
      	(fold_convertible_p): Moved to fold-const.h.
      	(fold_defer_overflow_warnings): Moved to fold-const.h.
      	(fold_deferring_overflow_warnings_p): Moved to fold-const.h.
      	(fold_fma): Moved to fold-const.h.
      	(fold_ignored_result): Moved to fold-const.h.
      	(fold_indirect_ref): Moved to fold-const.h.
      	(fold_indirect_ref_1): Moved to fold-const.h.
      	(fold_indirect_ref_loc): Moved to fold-const.h.
      	(fold_read_from_constant_string): Moved to fold-const.h.
      	(fold_real_zero_addition_p): Moved to fold-const.h.
      	(fold_single_bit_test): Moved to fold-const.h.
      	(fold_strip_sign_ops): Moved to fold-const.h.
      	(fold_ternary): Moved to fold-const.h.
      	(fold_ternary_loc): Moved to fold-const.h.
      	(fold_unary): Moved to tree-data-ref.h.
      	(fold_unary_ignore_overflow): Moved to fold-const.h.
      	(fold_unary_ignore_overflow_loc): Moved to fold-const.h.
      	(fold_unary_loc): Moved to fold-const.h.
      	(fold_unary_to_constant): Moved to fold-const.h.
      	(fold_undefer_and_ignore_overflow_warnings): Moved to fold-const.h.
      	(fold_undefer_overflow_warnings): Moved to fold-const.h.
      	(folding_initializer): Moved to fold-const.h.
      	(free_temp_slots): Moved to function.h.
      	(generate_setjmp_warnings): Moved to function.h.
      	(get_attribute_name): Moved to attribs.h.
      	(get_identifier): Moved to stringpool.h.
      	(get_identifier_with_length): Moved to stringpool.h.
      	(get_inner_reference): Moved to tree.h.
      	(gimple_alloca_call_p): Moved to calls.h.
      	(gimplify_parameters): Moved to function.h.
      	(highest_pow2_factor): Moved to expr.h.
      	(indent_to): Moved to print-tree.h.
      	(init_attributes): Moved to attribs.h.
      	(init_dummy_function_start): Moved to function.h.
      	(init_function_start): Moved to function.h.
      	(init_inline_once): Moved to tree-inline.h.
      	(init_object_sizes): Moved to tree-object-size.h.
      	(init_temp_slots): Moved to function.h.
      	(init_tree_optimization_optabs): Moved to optabs.h.
      	(initialize_sizetypes): Moved to stor-layout.h.
      	(initializer_constant_valid_for_bitfield_p): Moved to varasm.h.
      	(initializer_constant_valid_p): Moved to varasm.h.
      	(int_const_binop): Moved to fold-const.h.
      	(internal_reference_types): Moved to stor-layout.h.
      	(invert_tree_comparison): Moved to fold-const.h.
      	(invert_truthvalue): Moved to fold-const.h.
      	(invert_truthvalue_loc): Moved to fold-const.h.
      	(is_tm_ending_fndecl): Moved to trans-mem.h.
      	(is_tm_may_cancel_outer): Moved to trans-mem.h.
      	(is_tm_pure): Moved to trans-mem.h.
      	(is_tm_safe): Moved to trans-mem.h.
      	(layout_decl): Moved to stor-layout.h.
      	(layout_type): Moved to stor-layout.h.
      	(lookup_attribute_spec): Moved to attribs.h.
      	(make_accum_type): Moved to stor-layout.h.
      	(make_decl_one_only): Moved to varasm.h.
      	(make_decl_rtl): Moved to tree.h.
      	(make_decl_rtl_for_debug): Moved to varasm.h.
      	(make_fract_type): Moved to stor-layout.h.
      	(make_or_reuse_sat_signed_accum_type): Moved to stor-layout.h.
      	(make_or_reuse_sat_signed_fract_type): Moved to stor-layout.h.
      	(make_or_reuse_sat_unsigned_accum_type): Moved to stor-layout.h.
      	(make_or_reuse_sat_unsigned_fract_type): Moved to stor-layout.h.
      	(make_or_reuse_signed_accum_type): Moved to stor-layout.h.
      	(make_or_reuse_signed_fract_type): Moved to stor-layout.h.
      	(make_or_reuse_unsigned_accum_type): Moved to stor-layout.h.
      	(make_or_reuse_unsigned_fract_type): Moved to stor-layout.h.
      	(make_range): Moved to fold-const.h.
      	(make_range_step): Moved to fold-const.h.
      	(make_sat_signed_accum_type): Moved to stor-layout.h.
      	(make_sat_signed_fract_type): Moved to stor-layout.h.
      	(make_sat_unsigned_accum_type): Moved to stor-layout.h.
      	(make_sat_unsigned_fract_type): Moved to stor-layout.h.
      	(make_signed_accum_type): Moved to stor-layout.h.
      	(make_signed_fract_type): Moved to stor-layout.h.
      	(make_signed_type): Moved to stor-layout.h.
      	(make_unsigned_accum_type): Moved to stor-layout.h.
      	(make_unsigned_fract_type): Moved to stor-layout.h.
      	(make_unsigned_type): Moved to stor-layout.h.
      	(mark_decl_referenced): Moved to varasm.h.
      	(mark_referenced): Moved to varasm.h.
      	(may_negate_without_overflow_p): Moved to fold-const.h.
      	(maybe_get_identifier): Moved to stringpool.h.
      	(merge_ranges): Moved to fold-const.h.
      	(merge_weak): Moved to varasm.h.
      	(mode_for_size_tree): Moved to stor-layout.h.
      	(multiple_of_p): Moved to fold-const.h.
      	(must_pass_in_stack_var_size): Moved to calls.h.
      	(must_pass_in_stack_var_size_or_pad): Moved to calls.h.
      	(native_encode_expr): Moved to fold-const.h.
      	(native_interpret_expr): Moved to fold-const.h.
      	(non_lvalue): Moved to fold-const.h.
      	(non_lvalue_loc): Moved to fold-const.h.
      	(normalize_offset): Moved to stor-layout.h.
      	(normalize_rli): Moved to stor-layout.h.
      	(notice_global_symbol): Moved to varasm.h.
      	(omit_one_operand): Moved to fold-const.h.
      	(omit_one_operand_loc): Moved to fold-const.h.
      	(omit_two_operands): Moved to fold-const.h.
      	(omit_two_operands_loc): Moved to fold-const.h.
      	(operand_equal_p): Moved to tree-data-ref.h.
      	(parse_input_constraint): Moved to stmt.h.
      	(parse_output_constraint): Moved to stmt.h.
      	(place_field): Moved to stor-layout.h.
      	(pop_function_context): Moved to function.h.
      	(pop_temp_slots): Moved to function.h.
      	(pos_from_bit): Moved to stor-layout.h.
      	(preserve_temp_slots): Moved to function.h.
      	(print_node): Moved to print-tree.h.
      	(print_node_brief): Moved to print-tree.h.
      	(print_rtl): Moved to rtl.h.
      	(process_pending_assemble_externals): Moved to varasm.h.
      	(ptr_difference_const): Moved to fold-const.h.
      	(push_function_context): Moved to function.h.
      	(push_struct_function): Moved to function.h.
      	(push_temp_slots): Moved to function.h.
      	(record_tm_replacement): Moved to trans-mem.h.
      	(relayout_decl): Moved to stor-layout.h.
      	(resolve_asm_operand_names): Moved to stmt.h.
      	(resolve_unique_section): Moved to varasm.h.
      	(rli_size_so_far): Moved to stor-layout.h.
      	(rli_size_unit_so_far): Moved to stor-layout.h.
      	(round_down): Moved to fold-const.h.
      	(round_down_loc): Moved to fold-const.h.
      	(round_up): Moved to fold-const.h.
      	(round_up_loc): Moved to fold-const.h.
      	(set_decl_incoming_rtl): Moved to emit-rtl.h.
      	(set_decl_rtl): Moved to tree.h.
      	(set_min_and_max_values_for_integral_type): Moved to stor-layout.h.
      	(set_user_assembler_name): Moved to varasm.h.
      	(setjmp_call_p): Moved to calls.h.
      	(size_binop): Moved to fold-const.h.
      	(size_binop_loc): Moved to fold-const.h.
      	(size_diffop): Moved to fold-const.h.
      	(size_diffop_loc): Moved to fold-const.h.
      	(size_int_kind): Moved to fold-const.h.
      	(stack_protect_epilogue): Moved to function.h.
      	(start_record_layout): Moved to stor-layout.h.
      	(supports_one_only): Moved to varasm.h.
      	(swap_tree_comparison): Moved to fold-const.h.
      	(tm_malloc_replacement): Moved to trans-mem.h.
      	(tree build_fold_addr_expr_loc): Moved to fold-const.h.
      	(tree build_invariant_address): Moved to fold-const.h.
      	(tree_binary_nonnegative_warnv_p): Moved to fold-const.h.
      	(tree_binary_nonzero_warnv_p): Moved to fold-const.h.
      	(tree_call_nonnegative_warnv_p): Moved to fold-const.h.
      	(tree_expr_nonnegative_p): Moved to fold-const.h.
      	(tree_expr_nonnegative_warnv_p): Moved to fold-const.h.
      	(tree_output_constant_def): Moved to varasm.h.
      	(tree_overlaps_hard_reg_set): Moved to stmt.h.
      	(tree_single_nonnegative_warnv_p): Moved to fold-const.h.
      	(tree_single_nonzero_warnv_p): Moved to fold-const.h.
      	(tree_swap_operands_p): Moved to fold-const.h.
      	(tree_unary_nonnegative_warnv_p): Moved to fold-const.h.
      	(tree_unary_nonzero_warnv_p): Moved to fold-const.h.
      	(update_alignment_for_field): Moved to stor-layout.h.
      	(use_register_for_decl): Moved to function.h.
      	(variable_size): Moved to rtl.h.
      	(vector_type_mode): Moved to stor-layout.h.
      	* cgraph.h: Corresponding changes.
      	* emit-rtl.h: Corresponding changes.
      	* expr.h: Corresponding changes.
      	* function.h: Corresponding changes.
      	* optabs.h: Corresponding changes.
      	* trans-mem.h: Corresponding changes.
      	Protect against multiple inclusion.
      	* tree-inline.h: Corresponding changes.
      	* tree-iterator.h: Corresponding changes.
      	* tree-dfa.h: Include expr.h.
      	* tree-ssanames.h: Include stringpool.h.
      	* attribs.h: New file.
      	* calls.h: New file.
      	* fold-const.h: New file.
      	* gcc-symtab.h: New file.
      	* print-rtl.h: New file.
      	* print-tree.h: New file.
      	* stmt.h: New file.
      	* stor-layout.h: New file.
      	* strinpool.h: New file.
      	* tree-nested.h: New file
      	* tree-object-size.h: New file.
      	* varasm.h: New file.
      	* Makefile.in (PLUGIN_HEADERS): Add stringpool.h.
      
      	* alias.c: Include varasm.h.
      	Include expr.h.
      	* asan.c: Include calls.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	* attribs.c: Include stringpool.h.
      	Include attribs.h.
      	Include stor-layout.h.
      	* builtins.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	Include tree-object-size.h.
      	* calls.c: Include stor-layout.h.
      	Include varasm.h.
      	Include stringpool.h.
      	Include attribs.h.
      	* cfgexpand.c: Include stringpool.h.
      	Include varasm.h.
      	Include stor-layout.h.
      	Include stmt.h.
      	Include print-tree.h.
      	* cgraph.c: Include varasm.h.
      	Include calls.h.
      	Include print-tree.h.
      	* cgraphclones.c: Include stringpool.h.
      	Include function.h.
      	Include emit-rtl.h.
      	Move inclusion of rtl.h earlier in the file.
      	* cgraphunit.c: Include varasm.h.
      	Include stor-layout.h.
      	Include stringpool.h.
      	* cilk-common.c: Include stringpool.h.
      	Include stor-layout.h.
      	* combine.c: Include stor-layout.h.
      	* config/aarch64/aarch64-builtins.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include calls.h.
      	* config/aarch64/aarch64.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/alpha/alpha.c: Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/arc/arc.c: Include varasm.h.
      	Include stor-layout.h.
      	Include stringpool.h.
      	Include calls.h.
      	* config/arm/arm.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/avr/avr-c.c: Include stor-layout.h.
      	* config/avr/avr-log.c: Include print-tree.h.
      	* config/avr/avr.c: Include print-tree.h.
      	Include calls.h.
      	Include stor-layout.h.
      	Include stringpool.h.
      	* config/bfin/bfin.c: Include varasm.h.
      	Include calls.h.
      	* config/c6x/c6x.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	Include stringpool.h.
      	* config/cr16/cr16.c: Include stor-layout.h.
      	Include calls.h.
      	* config/cris/cris.c: Include varasm.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include stmt.h.
      	* config/darwin.c: Include stringpool.h.
      	Include varasm.h.
      	Include stor-layout.h.
      	* config/epiphany/epiphany.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	Include stringpool.h.
      	* config/fr30/fr30.c: Include stor-layout.h.
      	Include varasm.h.
      	* config/frv/frv.c: Include varasm.h.
      	Include stor-layout.h.
      	Include stringpool.h.
      	* config/h8300/h8300.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	Include stringpool.h.
      	* config/i386/i386.c: Include stringpool.h.
      	Include attribs.h.
      	Include calls.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	* config/i386/winnt-cxx.c: Include stringpool.h.
      	Include attribs.h.
      	* config/i386/winnt.c: Include stringpool.h.
      	Include varasm.h.
      	* config/ia64/ia64-c.c: Include stringpool.h.
      	* config/ia64/ia64.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/iq2000/iq2000.c: Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/lm32/lm32.c: Include calls.h.
      	* config/m32c/m32c.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/m32r/m32r.c: Include stor-layout.h.
      	Include varasm.h.
      	Include stringpool.h.
      	Include calls.h.
      	* config/m68k/m68k.c: Include calls.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	* config/mcore/mcore.c: Include stor-layout.h.
      	Include varasm.h.
      	Include stringpool.h.
      	Include calls.h.
      	* config/mep/mep.c: Include varasm.h.
      	Include calls.h.
      	Include stringpool.h.
      	Include stor-layout.h.
      	* config/microblaze/microblaze.c: Include varasm.h.
      	Include stor-layout.h.
      	Include calls.h.
      	* config/mips/mips.c: Include varasm.h.
      	Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	* config/mmix/mmix.c: Include varasm.h.
      	Include stor-layout.h.
      	Include calls.h.
      	* config/mn10300/mn10300.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/moxie/moxie.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/msp430/msp430.c: Include stor-layout.h.
      	Include calls.h.
      	* config/nds32/nds32.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/pa/pa.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/pdp11/pdp11.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/picochip/picochip.c: Include calls.h.
      	Include stor-layout.h.
      	Include stringpool.h.
      	Include varasm.h.
      	* config/rl78/rl78.c: Include varasm.h.
      	Include stor-layout.h.
      	Include calls.h.
      	* config/rs6000/rs6000-c.c: Include stor-layout.h.
      	Include stringpool.h.
      	* config/rs6000/rs6000.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include print-tree.h.
      	Include varasm.h.
      	* config/rx/rx.c: Include varasm.h.
      	Include stor-layout.h.
      	Include calls.h.
      	* config/s390/s390.c: Include print-tree.h.
      	Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/score/score.c: Include stringpool.h.
      	Include calls.h.
      	Include varasm.h.
      	Include stor-layout.h.
      	* config/sh/sh-c.c: Include stringpool.h.
      	Include attribs.h.h.
      	* config/sh/sh.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/sol2-c.c: Include stringpool.h.
      	Include attribs.h.
      	* config/sol2-cxx.c: Include stringpool.h.
      	* config/sol2.c: Include stringpool.h.
      	Include varasm.h.
      	* config/sparc/sparc.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/spu/spu-c.c: Include stringpool.h.
      	* config/spu/spu.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/stormy16/stormy16.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/tilegx/tilegx.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/tilepro/tilepro.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/v850/v850-c.c: Include stringpool.h.
      	Include attribs.h.
      	* config/v850/v850.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/vax/vax.c: Include calls.h.
      	Include varasm.h.
      	* config/vms/vms.c: Include stringpool.h.
      	* config/vxworks.c: Include stringpool.h.
      	* config/xtensa/xtensa.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* convert.c: Include stor-layout.h.
      	* coverage.c: Include stringpool.h.
      	Include stor-layout.h.
      	* dbxout.c: Include varasm.h.
      	Include stor-layout.h.
      	* dojump.c: Include stor-layout.h.
      	* dse.c: Include stor-layout.h.
      	* dwarf2asm.c: Include stringpool.h.
      	Include varasm.h.
      	* dwarf2cfi.c: Include stor-layout.h.
      	* dwarf2out.c: Include rtl.h.
      	Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include function.h.
      	Include emit-rtl.h.
      	Move inclusion of rtl.h earlier in the file.
      	* emit-rtl.c: Include varasm.h.
      	* except.c: Include stringpool.h.
      	Include stor-layout.h.
      	* explow.c: Include stor-layout.h.
      	* expmed.c: Include stor-layout.h.
      	* expr.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include attribs.h.
      	Include varasm.h.
      	* final.c: Include varasm.h.
      	* fold-const.c: Include stor-layout.h.
      	Include calls.h.
      	Include tree-iterator.h.
      	* function.c: Include stor-layout.h.
      	Include varasm.h.
      	Include stringpool.h.
      	* genattrtab.c (write_header): Emit includes for varasm.h,
      	stor-layout.h and calls.h.
      	* genautomata.c (main): Likewise.
      	* genemit.c: Likewise.
      	* genopinit.c: Likewise.
      	* genoutput.c (output_prologue): Likewise.
      	* genpeep.c: Likewise.
      	* genpreds.c (write_insn_preds_c): Likewise.
      	* gengtype.c (open_base_files): Add stringpool.h.
      	* gimple-expr.c: Include stringpool.h.
      	Include stor-layout.h.
      	* gimple-fold.c: Include stringpool.h.
      	Include expr.h.
      	Include stmt.h.
      	Include stor-layout.h.
      	* gimple-low.c: Include tree-nested.h.
      	Include calls.h.
      	* gimple-pretty-print.c: Include stringpool.h.
      	* gimple-ssa-strength-reduction.c: Include stor-layout.h.
      	Include expr.h.
      	* gimple-walk.c: Include stmt.h.
      	* gimple.c: Include calls.h.
      	Include stmt.h.
      	Include stor-layout.h.
      	* gimplify.c: Include stringpool.h.
      	Include calls.h.
      	Include varasm.h.
      	Include stor-layout.h.
      	Include stmt.h.
      	Include print-tree.h.
      	Include expr.h.
      	* gimplify-me.c: Include stmt.h
      	Include stor-layout.h
      	* internal-fn.c: Include stor-layout.h.
      	* ipa-devirt.c: Include print-tree.h.
      	Include calls.h.
      	* ipa-inline-analysis.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include print-tree.h.
      	* ipa-inline.c: Include trans-mem.h.
      	Include calls.h.
      	* ipa-prop.c: Include expr.h.
      	Include stor-layout.h.
      	Include print-tree.h.
      	* ipa-pure-const.c: Include print-tree.h.
      	Include calls.h.
      	* ipa-reference.c: Include calls.h.
      	* ipa-split.c: Include stringpool.h.
      	Include expr.h.
      	Include calls.h.
      	* ipa.c: Include calls.h.
      	Include stringpool.h.
      	* langhooks.c: Include stringpool.h.
      	Include attribs.h.
      	* lto-cgraph.c: Include stringpool.h.
      	* lto-streamer-in.c: Include stringpool.h.
      	* lto-streamer-out.c: Include stor-layout.h.
      	Include stringpool.h.
      	* omp-low.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include expr.h.
      	* optabs.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include varasm.h.
      	* passes.c: Include varasm.h.
      	* predict.c: Include calls.h.
      	* print-rtl.c: Include print-tree.h.
      	* print-tree.c: Include varasm.h.
      	Include print-rtl.h.
      	Include stor-layout.h.
      	* realmpfr.c: Include stor-layout.h.
      	* reg-stack.c: Include varasm.h.
      	* sdbout.c: Include varasm.h.
      	Include stor-layout.h.
      	* simplify-rtx.c: Include varasm.h.
      	* stmt.c: Include varasm.h.
      	Include stor-layout.h.
      	* stor-layout.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include varasm.h.
      	Include print-tree.h.
      	* symtab.c: Include rtl.h.
      	Include print-tree.h.
      	Include varasm.h.
      	Include function.h.
      	Include emit-rtl.h.
      	* targhooks.c: Include stor-layout.h.
      	Include varasm.h.
      	* toplev.c: Include varasm.h.
      	Include tree-inline.h.
      	* trans-mem.c: Include calls.h.
      	Include function.h.
      	Include rtl.h.
      	Include emit-rtl.h.
      	* tree-affine.c: Include expr.h.
      	* tree-browser.c: Include print-tree.h.
      	* tree-call-cdce.c: Include stor-layout.h.
      	* tree-cfg.c: Include trans-mem.h.
      	Include stor-layout.h.
      	Include print-tree.h.
      	* tree-complex.c: Include stor-layout.h.
      	* tree-data-ref.c: Include expr.h.
      	* tree-dfa.c: Include stor-layout.h.
      	* tree-eh.c: Include expr.h.
      	Include calls.h.
      	* tree-emutls.c: Include stor-layout.h.
      	Include varasm.h.
      	* tree-if-conv.c: Include stor-layout.h.
      	* tree-inline.c: Include stor-layout.h.
      	Include calls.h.
      	* tree-loop-distribution.c: Include stor-layout.h.
      	* tree-nested.c: Include stringpool.h.
      	Include stor-layout.h.
      	* tree-object-size.c: Include tree-object-size.h.
      	* tree-outof-ssa.c: Include stor-layout.h.
      	* tree-parloops.c: Include stor-layout.h.
      	Include tree-nested.h.
      	* tree-pretty-print.c: Include stor-layout.h.
      	Include expr.h.
      	* tree-profile.c: Include varasm.h.
      	Include tree-nested.h.
      	* tree-scalar-evolution.c: Include expr.h.
      	* tree-sra.c: Include stor-layout.h.
      	* tree-ssa-address.c: Include stor-layout.h.
      	* tree-ssa-ccp.c: Include stor-layout.h.
      	* tree-ssa-dce.c: Include calls.h.
      	* tree-ssa-dom.c: Include stor-layout.h.
      	* tree-ssa-forwprop.c: Include stor-layout.h.
      	* tree-ssa-ifcombine.c: Include stor-layout.h.
      	* tree-ssa-loop-ivopts.c: Include stor-layout.h.
      	* tree-ssa-loop-niter.c: Include calls.h.
      	Include expr.h.
      	* tree-ssa-loop-prefetch.c: Include stor-layout.h.
      	* tree-ssa-math-opts.c: Include stor-layout.h.
      	* tree-ssa-operands.c: Include stmt.h.
      	Include print-tree.h.
      	* tree-ssa-phiopt.c: Include stor-layout.h.
      	* tree-ssa-reassoc.c: Include stor-layout.h.
      	* tree-ssa-sccvn.c: Include stor-layout.h.
      	* tree-ssa-sink.c: Include stor-layout.h.
      	* tree-ssa-strlen.c: Include stor-layout.h.
      	* tree-ssa-structalias.c: Include stor-layout.h.
      	Include stmt.h.
      	* tree-ssa-tail-merge.c: Include stor-layout.h.
      	Include trans-mem.h.
      	* tree-ssa-uncprop.c: Include stor-layout.h.
      	* tree-ssa.c: Include stor-layout.h.
      	* tree-ssanames.c: Include stor-layout.h.
      	* tree-streamer-in.c: Include stringpool.h.
      	* tree-streamer-out.c: Include stor-layout.h.
      	* tree-switch-conversion.c: Include varasm.h.
      	Include stor-layout.h.
      	* tree-tailcall.c: Include stor-layout.h.
      	* tree-vect-data-refs.c: Include stor-layout.h.
      	* tree-vect-generic.c: Include stor-layout.h.
      	* tree-vect-loop.c: Include stor-layout.h.
      	* tree-vect-patterns.c: Include stor-layout.h.
      	* tree-vect-slp.c: Include stor-layout.h.
      	* tree-vect-stmts.c: Include stor-layout.h.
      	* tree-vectorizer.c: Include stor-layout.h.
      	* tree-vrp.c: Include stor-layout.h.
      	Include calls.h.
      	* tree.c: Include stor-layout.h.
      	Include calls.h.
      	Include attribs.h.
      	Include varasm.h.
      	* tsan.c: Include expr.h.
      	* ubsan.c: Include stor-layout.h.
      	Include stringpool.h.
      	* value-prof.c: Include tree-nested.h.
      	Include calls.h.
      	* var-tracking.c: Include varasm.h.
      	Include stor-layout.h.
      	* varasm.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include gcc-symtab.h.
      	Include varasm.h.
      	* varpool.c: Include varasm.h.
      	* vmsdbgout.c: Include varasm.h.
      	* xcoffout.c: Include varasm.h.
      
      ada/ChangeLog
      
      	* gcc-interface/decl.c: Include stringpool.h
      	Include stor-layout.h
      	* gcc-interface/misc.c: Include stor-layout.h
      	Include print-tree.h
      	* gcc-interface/trans.c: Include stringpool.h
      	Include stor-layout.h
      	Include stmt.h
      	Include varasm.h
      	* gcc-interface/utils.c: Include stringpool.h
      	Include stor-layout.h
      	Include attribs.h
      	Include varasm.h
      	* gcc-interface/utils2.c: Include stringpool.h
      	Include stor-layout.h
      	Include attribs.h
      	Include varasm.h
      
      c-family/ChangeLog
      
      	* c-common.c: Include fold-const.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include stringpool.h.
      	Include attribs.h.
      	Include varasm.h.
      	Include trans-mem.h.
      	* c-cppbuiltin.c: Include stor-layout.h.
      	Include stringpool.h.
      	* c-format.c: Include stringpool.h.
      	* c-lex.c: Include stringpool.h.
      	Include stor-layout.h.
      	* c-pragma.c: Include stringpool.h.
      	Include attribs.h.
      	Include varasm.h.
      	Include gcc-symtab.h.
      	* c-pretty-print.c: Include stor-layout.h.
      	Include attribs.h.
      	* cilk.c: Include stringpool.h.
      	Include calls.h.
      
      c/ChangeLog
      
      	* c-decl.c: Include print-tree.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include attribs.h.
      	Include stringpool.h.
      	* c-lang.c: Include fold-const.h.
      	* c-parser.c: Include stringpool.h.
      	Include attribs.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include trans-mem.h.
      	* c-typeck.c: Include stor-layout.h.
      	Include trans-mem.h.
      	Include varasm.h.
      	Include stmt.h.
      
      cp/ChangeLog
      
      	* call.c: Include stor-layout.h.
      	Include trans-mem.h.
      	Include stringpool.h.
      	* class.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include attribs.h.
      	* cp-gimplify.c: Include stor-layout.h.
      	* cvt.c: Include stor-layout.h.
      	* decl.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include attribs.h.
      	Include calls.h.
      	* decl2.c: Include stringpool.h.
      	Include varasm.h.
      	Include attribs.h.
      	Include stor-layout.h.
      	Include calls.h.
      	* error.c: Include stringpool.h.
      	* except.c: Include stringpool.h.
      	Include trans-mem.h.
      	Include attribs.h.
      	* init.c: Include stringpool.h.
      	Include varasm.h.
      	* lambda.c: Include stringpool.h.
      	* lex.c: Include stringpool.h.
      	* mangle.c: Include stor-layout.h.
      	Include stringpool.h.
      	* method.c: Include stringpool.h.
      	Include varasm.h.
      	* name-lookup.c: Include stringpool.h.
      	Include print-tree.h.
      	Include attribs.h.
      	* optimize.c: Include stringpool.h.
      	* parser.c: Include print-tree.h.
      	Include stringpool.h.
      	Include attribs.h.
      	Include trans-mem.h.
      	* pt.c: Include stringpool.h.
      	Include varasm.h.
      	Include attribs.h.
      	Include stor-layout.h.
      	* ptree.c: Include print-tree.h.
      	* repo.c: Include stringpool.h.
      	* rtti.c: Include stringpool.h.
      	Include stor-layout.h.
      	* semantics.c: Include stmt.h.
      	Include varasm.h.
      	Include stor-layout.h.
      	Include stringpool.h.
      	* tree.c: Include stor-layout.h.
      	Include print-tree.h.
      	Include tree-iterator.h.
      	* typeck.c: Include stor-layout.h.
      	Include varasm.h.
      	* typeck2.c: Include stor-layout.h.
      	Include varasm.h.
      	* vtable-class-hierarchy.c: Include stringpool.h.
      	Include stor-layout.h.
      
      fortran/ChangeLog
      
      	* decl.c: Include stringpool.h.
      	* iresolve.c: Include stringpool.h.
      	* match.c: Include stringpool.h.
      	* module.c: Include stringpool.h.
      	* target-memory.c: Include stor-layout.h.
      	* trans-common.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	* trans-const.c: Include stor-layout.h.
      	* trans-decl.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include attribs.h.
      	* trans-expr.c: Include stringpool.h.
      	* trans-intrinsic.c: Include stringpool.h.
      	Include tree-nested.h.
      	Include stor-layout.h.
      	* trans-io.c: Include stringpool.h.
      	Include stor-layout.h.
      	* trans-openmp.c: Include stringpool.h.
      	* trans-stmt.c: Include stringpool.h.
      	* trans-types.c: Include stor-layout.h.
      	Include stringpool.h.
      	* trans.c: Include stringpool.h.
      
      go/ChangeLog
      
      	* go-backend.c: Include stor-layout.h.
      	* go-gcc.cc: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	* go-lang.c: Include stor-layout.h.
      
      java/ChangeLog
      
      	* builtins.c: Include stor-layout.h.
      	Include stringpool.h.
      	* class.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	* constants.c: Include stringpool.h.
      	Include stor-layout.h.
      	* decl.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include varasm.h.
      	* except.c: Include stringpool.h.
      	Include stor-layout.h.
      	* expr.c: Include stringpool.h.
      	Include stor-layout.h.
      	* jcf-parse.c: Include stringpool.h.
      	* mangle.c: Include stringpool.h.
      	* resource.c: Include stringpool.h.
      	Include stor-layout.h.
      	* typeck.c: Include stor-layout.h.
      	Include stringpool.h.
      	* verify-glue.c: Include stringpool.h.
      
      lto/ChangeLog
      	* lto-lang.c: Include stringpool.h.
      	Include stor-layout.h.
      	* lto-partition.c: Include gcc-symtab.h.
      	* lto.c: Include stor-layout.h.
      
      objc/ChangeLog
      	* objc-act.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include attribs.h.
      	* objc-encoding.c: Include stringpool.h.
      	Include stor-layout.h.
      	* objc-gnu-runtime-abi-01.c: Include stringpool.h.
      	* objc-next-runtime-abi-01.c:
      	Include stringpool.h.
      	* objc-next-runtime-abi-02.c: Include stringpool.h.
      	* objc-runtime-shared-support.c: Include stringpool.h.
      
      testsuite/ChangeLog
      
      	* gcc.dg/plugin/selfassign.c: Include stringpool.h.
      	* gcc.dg/plugin/start_unit_plugin.c: Likewise.
      
      From-SVN: r205023
      Diego Novillo committed
  16. 21 Oct, 2013 1 commit
    • Re-factor inclusion of tree.h. · 4d648807
      This moves tree.h out of every header. This exposes dependencies of
      tree.h in files that should probably not need it after tree and gimple
      are separated.
      
      After this change, no header should include tree.h directly. It should
      only be included by a .c file. Unfortunately, I did not find an
      automatic way of forcing this.
      
      Tested on x86_64 with all languages enabled and using
      contrib/config-list.mk.
      
      2013-10-21  Diego Novillo  <dnovillo@google.com>
      
      	* asan.c: Include tree.h
      	* bb-reorder.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* cfgloopmanip.c: Likewise.
      	* data-streamer-in.c: Likewise.
      	* data-streamer-out.c: Likewise.
      	* data-streamer.c: Likewise.
      	* dwarf2cfi.c: Likewise.
      	* graphite-blocking.c: Likewise.
      	* graphite-clast-to-gimple.c: Likewise.
      	* graphite-dependences.c: Likewise.
      	* graphite-interchange.c: Likewise.
      	* graphite-optimize-isl.c: Likewise.
      	* graphite-poly.c: Likewise.
      	* graphite-scop-detection.c: Likewise.
      	* graphite-sese-to-poly.c: Likewise.
      	* graphite.c: Likewise.
      	* ipa-devirt.c: Likewise.
      	* ipa-profile.c: Likewise.
      	* ipa.c: Likewise.
      	* ira.c: Likewise.
      	* loop-init.c: Likewise.
      	* loop-unroll.c: Likewise.
      	* lower-subreg.c: Likewise.
      	* lto/lto-object.c: Likewise.
      	* recog.c: Likewise.
      	* reginfo.c: Likewise.
      	* tree-loop-distribution.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-ssa-strlen.c: Likewise.
      	* tree-streamer.c: Likewise.
      	* value-prof.c: Likewise.
      	* target-globals.c: Likewise.
      	* expr.h: Include tree-core.h instead of tree.h.
      	* gimple.h: Likewise.
      	* ipa-prop.h: Likewise.
      	* ipa-utils.h: Likewise.
      	* lto-streamer.h: Likewise.
      	* streamer-hooks.h: Likewise.
      	* ipa-reference.h: Include cgraph.h instead of tree.h.
      	* cgraph.h: Include basic-block.h instead of tree.h.
      	* tree-streamer.h: Do not include tree.h.
      	* genattrtab.c (write_header): Generate inclusion of
      	tree.h.
      	* genautomata.c (main): Likewise.
      	* genemit.c: Likewise.
      	* genopinit.c: Likewise.
      	* genoutput.c (output_prologue): Likewise.
      	* genpeep.c: Likewise.
      
      testsuite/ChangeLog
      
      	* g++.dg/plugin/selfassign.c: Include tree.h.
      	* gcc.dg/plugin/finish_unit_plugin.c: Likewise.
      	* gcc.dg/plugin/ggcplug.c: Likewise.
      	* gcc.dg/plugin/one_time_plugin.c: Likewise.
      	* gcc.dg/plugin/selfassign.c: Likewise.
      	* gcc.dg/plugin/start_unit_plugin.c: Likewise.
      
      From-SVN: r203908
      Diego Novillo committed
  17. 28 Sep, 2013 1 commit
    • alloc-pool.c, [...]: Add missing whitespace before "(". · c3284718
      gcc/
      	* alloc-pool.c, asan.c, auto-inc-dec.c, basic-block.h, bb-reorder.c,
      	bitmap.c, bitmap.h, bt-load.c, builtins.c, calls.c, cfgcleanup.c,
      	cfgexpand.c, cfghooks.c, cfgloop.c, cfgloopmanip.c, cfgrtl.c, cgraph.c,
      	cgraph.h, cgraphbuild.c, cgraphclones.c, cgraphunit.c, collect2.c,
      	combine-stack-adj.c, combine.c, compare-elim.c, context.c, context.h,
      	cprop.c, cse.c, cselib.c, dbxout.c, dce.c, defaults.h, df-core.c,
      	df-problems.c, df-scan.c, df.h, diagnostic.c, double-int.c, dse.c,
      	dumpfile.c, dwarf2asm.c, dwarf2cfi.c, dwarf2out.c, emit-rtl.c,
      	errors.c, except.c, expmed.c, expr.c, file-find.c, final.c,
      	fixed-value.c, fold-const.c, function.c, fwprop.c, gcc-ar.c, gcc.c,
      	gcov-io.c, gcov-io.h, gcov.c, gcse.c, genattr-common.c, genattr.c,
      	genattrtab.c, genautomata.c, genconfig.c, genemit.c, genextract.c,
      	genflags.c, gengenrtl.c, gengtype-state.c, gengtype.c, genmodes.c,
      	genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
      	gensupport.c, ggc-common.c, ggc-page.c, gimple-fold.c, gimple-low.c,
      	gimple-pretty-print.c, gimple-ssa-strength-reduction.c, gimple.c,
      	gimple.h, godump.c, graphite-clast-to-gimple.c,
      	graphite-optimize-isl.c, graphite-poly.h, graphite-sese-to-poly.c,
      	graphite.c, haifa-sched.c, hash-table.c, hash-table.h, hwint.c,
      	hwint.h, ifcvt.c, incpath.c, init-regs.c, input.h, intl.c, intl.h,
      	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-utils.c, ipa.c, ira-build.c, ira.c, jump.c, loop-doloop.c,
      	loop-init.c, loop-invariant.c, loop-iv.c, lower-subreg.c, lto-cgraph.c,
      	lto-streamer-in.c, lto-streamer-out.c, lto-wrapper.c, mcf.c,
      	mode-switching.c, modulo-sched.c, omp-low.c, optabs.c, opts.c,
      	pass_manager.h, passes.c, plugin.c, postreload-gcse.c, postreload.c,
      	predict.c, prefix.c, pretty-print.c, print-rtl.c, print-tree.c,
      	profile.c, read-md.c, real.c, real.h, recog.c, ree.c, reg-stack.c,
      	regcprop.c, reginfo.c, regmove.c, regrename.c, regs.h, regstat.c,
      	reload1.c, reorg.c, rtl.c, rtl.h, rtlanal.c, sbitmap.c, sched-rgn.c,
      	sdbout.c, sel-sched-ir.c, sel-sched.c, sparseset.c, stack-ptr-mod.c,
      	statistics.c, stmt.c, stor-layout.c, store-motion.c, streamer-hooks.h,
      	system.h, target-hooks-macros.h, targhooks.c, targhooks.h, toplev.c,
      	tracer.c, trans-mem.c, tree-browser.c, tree-call-cdce.c, tree-cfg.c,
      	tree-cfgcleanup.c, tree-complex.c, tree-data-ref.c, tree-data-ref.h,
      	tree-eh.c, tree-emutls.c, tree-flow.h, tree-if-conv.c, tree-into-ssa.c,
      	tree-iterator.c, tree-loop-distribution.c, tree-mudflap.c,
      	tree-nested.c, tree-nomudflap.c, tree-nrv.c, tree-object-size.c,
      	tree-optimize.c, tree-pass.h, tree-pretty-print.c, tree-profile.c,
      	tree-scalar-evolution.c, tree-sra.c, tree-ssa-ccp.c,
      	tree-ssa-coalesce.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-live.c, tree-ssa-loop-ch.c,
      	tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-loop-prefetch.c,
      	tree-ssa-loop.c, tree-ssa-math-opts.c, tree-ssa-operands.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-threadedge.c, tree-ssa-threadupdate.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-data-refs.c, tree-vect-generic.c, tree-vect-loop-manip.c,
      	tree-vect-stmts.c, tree-vectorizer.c, tree-vectorizer.h, tree-vrp.c,
      	tree.c, tree.h, tsan.c, tsystem.h, value-prof.c, var-tracking.c,
      	varasm.c, vec.h, vmsdbgout.c, vtable-verify.c, web.c: Add missing
      	whitespace before "(".
      
      From-SVN: r203004
      Richard Sandiford committed
  18. 19 Feb, 2013 1 commit
    • re PR target/52555 (ICE unrecognizable insn with -ffast-math and __attribute__((optimize(xx)))) · 135204dd
      	PR target/52555
      	* genopinit.c (raw_optab_handler): Use this_fn_optabs.
      	(swap_optab_enable): Same.
      	(init_all_optabs): Use argument instead of global.
      	* tree.h (struct tree_optimization_option): New field
      	target_optabs.
      	* expr.h (init_all_optabs): Add argument to prototype.
      	(TREE_OPTIMIZATION_OPTABS): New.
      	(save_optabs_if_changed): Protoize.
      	* optabs.h: Declare this_fn_optabs.
      	* optabs.c (save_optabs_if_changed): New.
      	Declare this_fn_optabs.
      	(init_optabs): Add argument to init_all_optabs() call.
      	* function.c (invoke_set_current_function_hook): Handle per
      	function optabs.
      	* function.h (struct function): New field optabs.
      	* config/mips/mips.c (mips_set_mips16_mode): Handle when
      	optimization_current_node has changed.
      	* target-globals.h (save_target_globals_default_opts): Protoize.
      	* target-globals.c (save_target_globals_default_opts): New.
      c-family/
      	* c-common.c (handle_optimize_attribute): Call
      	save_optabs_if_changed.
      
      Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
      
      From-SVN: r196129
      Aldy Hernandez committed
  19. 10 Jan, 2013 1 commit
  20. 18 Nov, 2012 1 commit
    • This patch rewrites the old VEC macro-based interface into a new one based on… · 9771b263
      This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'.
      
      This patch rewrites the old VEC macro-based interface into a new one
      based on the template class 'vec'.  The user-visible changes are
      described in http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec.
      
      I have tested the patch pretty extensively:
      
      - Regular bootstraps on x86_64, ppc, ia64, sparc and hppa.
      - Bootstraps with --enable-checking=release
      - Bootstraps with --enable-checking=gc,gcac
      - Basic builds on all targets (using contrib/config-list.mk).
      
      We no longer access the vectors via VEC_* macros.  The pattern is
      "VEC_operation (T, A, V, args)" becomes "V.operation (args)".
      
      The only thing I could not do is create proper ctors and dtors for the
      vec class.  Since these vectors are stored in unions, we
      have to keep them as PODs (C++03 does not allow non-PODs in unions).
      
      This means that creation and destruction must be explicit.  There is a
      new method vec<type, allocation, layout>::create() and another vec<type,
      allocation, layout>::destroy() to allocate the internal vector.
      
      For vectors that must be pointers, there is a family of free functions
      that implement the operations that need to tolerate NULL vectors.
      These functions all start with the prefix 'vec_safe_'.  See the wiki
      page for details.
      
      The gengtype change removes the special handling for VEC() that used
      to exist in gengtype. Additionally, it allows gengtype to recognize
      templates of more than one argument and introduces the concept of an
      undefined type (useful for template arguments that may or may not be
      types).
      
      When a TYPE_UNDEFINED is reached, gengtype will ignore it if it
      happens inside a type marked with GTY((user)).  Otherwise, it will
      emit an error.
      
      Finally, gengtype rejects root types marked GTY((user)) that are not
      first class pointers.
      
      2012-11-16  Diego Novillo  <dnovillo@google.com>
      
      	VEC API overhaul (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
      
      	* vec.c (register_overhead): Convert it into
      	member function of vec_prefix.
      	(release_overhead): Likewise.
      	(calculate_allocation): Likewise.
      	(vec_heap_free): Remove.
      	(vec_gc_o_reserve_1): Remove.
      	(vec_heap_o_reserve_1): Remove.
      	(vec_stack_o_reserve_1): Remove.
      	(vec_stack_o_reserve_exact): Remove.
      	(register_stack_vec): New.
      	(stack_vec_register_index): New.
      	(unregister_stack_vec): New.
      	(vec_assert_fail): Remove.
      	* vec.h: Conditionally include ggc.h.  Document conditional
      	hackery.
      	Update top-level documentation.
      	(ALONE_VEC_CHECK_INFO): Remove.
      	(VEC_CHECK_INFO): Remove.
      	(ALONE_VEC_CHECK_DECL): Remove.
      	(VEC_CHECK_DECL): Remove.
      	(ALONE_VEC_CHECK_PASS): Remove.
      	(VEC_CHECK_PASS): Remove.
      	(VEC_ASSERT): Remove.
      	(vec_prefix): Add friends va_gc, va_gc_atomic, va_heap and
      	va_stack.
      	Mark fields alloc_ and num_ as protected.
      	(struct vec_t): Remove.  Remove all function members.
      	(struct vl_embed): Declare.
      	(struct vl_ptr): Declare.
      	(free): Remove.
      	(reserve_exact): Remove.
      	(reserve): Remove.
      	(safe_splice): Remove.
      	(safe_push): Remove.
      	(safe_grow): Remove.
      	(safe_grow_cleared): Remove.
      	(safe_insert): Remove.
      	(DEF_VEC_I): Remove.
      	(DEF_VEC_ALLOC_I): Remove.
      	(DEF_VEC_P): Remove.
      	(DEF_VEC_ALLOC_P): Remove.
      	(DEF_VEC_O): Remove.
      	(DEF_VEC_ALLOC_O): Remove.
      	(DEF_VEC_ALLOC_P_STACK): Remove.
      	(DEF_VEC_ALLOC_O_STACK): Remove.
      	(DEF_VEC_ALLOC_I_STACK): Remove.
      	(DEF_VEC_A): Remove.
      	(DEF_VEC_ALLOC_A): Remove.
      	(vec_stack_p_reserve_exact_1): Remove.
      	(vec_stack_o_reserve): Remove.
      	(vec_stack_o_reserve_exact): Remove.
      	(VEC_length): Remove.
      	(VEC_empty): Remove.
      	(VEC_address): Remove.
      	(vec_address): Remove.
      	(VEC_last): Remove.
      	(VEC_index): Remove.
      	(VEC_iterate): Remove.
      	(VEC_embedded_size): Remove.
      	(VEC_embedded_init): Remove.
      	(VEC_free): Remove.
      	(VEC_copy): Remove.
      	(VEC_space): Remove.
      	(VEC_reserve): Remove.
      	(VEC_reserve_exact): Remove.
      	(VEC_splice): Remove.
      	(VEC_safe_splice): Remove.
      	(VEC_quick_push): Remove.
      	(VEC_safe_push): Remove.
      	(VEC_pop): Remove.
      	(VEC_truncate): Remove.
      	(VEC_safe_grow): Remove.
      	(VEC_replace): Remove.
      	(VEC_quick_insert): Remove.
      	(VEC_safe_insert): Remove.
      	(VEC_ordered_remove): Remove.
      	(VEC_unordered_remove): Remove.
      	(VEC_block_remove): Remove.
      	(VEC_lower_bound): Remove.
      	(VEC_alloc): Remove.
      	(VEC_qsort): Remove.
      
      	(va_heap): Declare.
      	(va_heap::default_layout): New typedef to vl_ptr.
      	(va_heap::reserve): New.
      	(va_heap::release): New.
      	(va_gc): Declare.
      	(va_gc::default_layout): New typedef to vl_embed.
      	(va_gc::reserve): New.
      	(va_gc::release): New.
      	(va_gc_atomic): Declare.  Inherit from va_gc.
      	(va_stack): Declare.
      	(va_stack::default_layout): New typedef to vl_ptr.
      	(va_stack::alloc): New.
      	(va_stack::reserve): New.
      	(va_stack::release): New.
      	(register_stack_vec): Declare.
      	(stack_vec_register_index): Declare.
      	(unregister_stack_vec): Declare.
      
      	(vec<T, A = va_heap, L = typename A::default_layout>): Declare
      	empty vec template.
      	(vec<T, A, vl_embed>): Partial specialization for embedded
      	layout.
      	(vec<T, A, vl_embed>::allocated): New.
      	(vec<T, A, vl_embed>::length): New.
      	(vec<T, A, vl_embed>::is_empty): New.
      	(vec<T, A, vl_embed>::address): New.
      	(vec<T, A, vl_embed>::operator[]): New.
      	(vec<T, A, vl_embed>::last New.
      	(vec<T, A, vl_embed>::space): New.
      	(vec<T, A, vl_embed>::iterate): New.
      	(vec<T, A, vl_embed>::iterate): New.
      	(vec<T, A, vl_embed>::copy): New.
      	(vec<T, A, vl_embed>::splice): New.
      	(vec<T, A, vl_embed>::quick_push New.
      	(vec<T, A, vl_embed>::pop New.
      	(vec<T, A, vl_embed>::truncate): New.
      	(vec<T, A, vl_embed>::quick_insert): New.
      	(vec<T, A, vl_embed>::ordered_remove): New.
      	(vec<T, A, vl_embed>::unordered_remove): New.
      	(vec<T, A, vl_embed>::block_remove): New.
      	(vec<T, A, vl_embed>::qsort): New.
      	(vec<T, A, vl_embed>::lower_bound): New.
      	(vec<T, A, vl_embed>::embedded_size): New.
      	(vec<T, A, vl_embed>::embedded_init): New.
      	(vec<T, A, vl_embed>::quick_grow): New.
      	(vec<T, A, vl_embed>::quick_grow_cleared): New.
      	(vec_safe_space): New.
      	(vec_safe_length): New.
      	(vec_safe_address): New.
      	(vec_safe_is_empty): New.
      	(vec_safe_reserve): New.
      	(vec_safe_reserve_exact): New.
      	(vec_alloc): New.
      	(vec_free): New.
      	(vec_safe_grow): New.
      	(vec_safe_grow_cleared): New.
      	(vec_safe_iterate): New.
      	(vec_safe_push): New.
      	(vec_safe_insert): New.
      	(vec_safe_truncate): New.
      	(vec_safe_copy): New.
      	(vec_safe_splice): New.
      
      	(vec<T, A, vl_ptr>): New partial specialization for the space
      	efficient layout.
      	(vec<T, A, vl_ptr>::exists): New.
      	(vec<T, A, vl_ptr>::is_empty): New.
      	(vec<T, A, vl_ptr>::length): New.
      	(vec<T, A, vl_ptr>::address): New.
      	(vec<T, A, vl_ptr>::operator[]): New.
      	(vec<T, A, vl_ptr>::operator!=): New.
      	(vec<T, A, vl_ptr>::operator==): New.
      	(vec<T, A, vl_ptr>::last): New.
      	(vec<T, A, vl_ptr>::space): New.
      	(vec<T, A, vl_ptr>::iterate): New.
      	(vec<T, A, vl_ptr>::copy): New.
      	(vec<T, A, vl_ptr>::reserve): New.
      	(vec<T, A, vl_ptr>::reserve_exact): New.
      	(vec<T, A, vl_ptr>::splice): New.
      	(vec<T, A, vl_ptr>::safe_splice): New.
      	(vec<T, A, vl_ptr>::quick_push): New.
      	(vec<T, A, vl_ptr>::safe_push): New.
      	(vec<T, A, vl_ptr>::pop): New.
      	(vec<T, A, vl_ptr>::truncate): New.
      	(vec<T, A, vl_ptr>::safe_grow): New.
      	(vec<T, A, vl_ptr>::safe_grow_cleared): New.
      	(vec<T, A, vl_ptr>::quick_grow): New.
      	(vec<T, A, vl_ptr>::quick_grow_cleared): New.
      	(vec<T, A, vl_ptr>::quick_insert): New.
      	(vec<T, A, vl_ptr>::safe_insert): New.
      	(vec<T, A, vl_ptr>::ordered_remove): New.
      	(vec<T, A, vl_ptr>::unordered_remove): New.
      	(vec<T, A, vl_ptr>::block_remove): New.
      	(vec<T, A, vl_ptr>::qsort): New.
      	(vec<T, A, vl_ptr>::lower_bound): New.
      	(vec_stack_alloc): Define.
      	(FOR_EACH_VEC_SAFE_ELT): Define.
      	* vecir.h: Remove.  Update all users.
      	* vecprim.h: Remove.  Update all users.
      	Move uchar to coretypes.h.
      
      	* Makefile.in (VEC_H): Add $(GGC_H).
      	Remove vecir.h and vecprim.h dependencies everywhere.
      
      2012-11-16  Diego Novillo  <dnovillo@google.com>
      
      	* gengtype-lex.l (VEC): Remove.
      	Add characters in the set [\!\>\.-].
      	* gengtype-parse.c (token_names): Remove "VEC".
      	(require_template_declaration): Remove handling of VEC_TOKEN.
      	(type): Likewise.
      	Call create_user_defined_type when parsing GTY((user)).
      	* gengtype-state.c (type_lineloc): handle TYPE_UNDEFINED.
      	(write_state_undefined_type): New.
      	(write_state_type): Call write_state_undefined_type for
      	TYPE_UNDEFINED.
      	(read_state_type): Call read_state_undefined_type for
      	TYPE_UNDEFINED.
      	* gengtype.c (dbgprint_count_type_at): Handle TYPE_UNDEFINED.
      	(create_user_defined_type): Make extern.
      	(type_for_name): Factor out of resolve_typedef.
      	(create_undefined_type): New
      	(resolve_typedef): Call it when we cannot find a previous
      	typedef and the type is not a template.
      	(find_structure): Accept TYPE_UNDEFINED.
      	(set_gc_used_type): Add argument ALLOWED_UNDEFINED_TYPES,
      	default to false.
      	Emit an error for TYPE_UNDEFINED unless LEVEL is GC_UNUSED or
      	ALLOWED_UNDEFINED_TYPES is set.
      	Set ALLOWED_UNDEFINED_TYPES to true for TYPE_USER_STRUCT.
      	(filter_type_name): Accept templates with more than one
      	argument.
      	(output_mangled_typename): Handle TYPE_UNDEFINED
      	(walk_type): Likewise.
      	(write_types_process_field): Likewise.
      	(write_func_for_structure): If CHAIN_NEXT is set, ORIG_S
      	should not be a user-defined type.
      	(write_types_local_user_process_field): Handle TYPE_ARRAY,
      	TYPE_NONE and TYPE_UNDEFINED.
      	(write_types_local_process_field): Likewise.
      	(contains_scalar_p): Return 0 for TYPE_USER_STRUCT.
      	(write_root): Reject user-defined types that are not pointers.
      	Handle TYPE_NONE, TYPE_UNDEFINED, TYPE_UNION, TYPE_LANG_STRUCT
      	and TYPE_PARAM_STRUCT.
      	(output_typename): Handle TYPE_NONE, TYPE_UNDEFINED, and
      	TYPE_ARRAY.
      	(dump_typekind): Handle TYPE_UNDEFINED.
      	* gengtype.h (enum typekind): Add TYPE_UNDEFINED.
      	(create_user_defined_type): Declare.
      	(enum gty_token): Remove VEC_TOKEN.
      
      2012-11-16  Diego Novillo  <dnovillo@google.com>
      
      	Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
      
      	* coretypes.h (uchar): Define.
      	* alias.c: Use new vec API in vec.h.
      	* asan.c: Likewise.
      	* attribs.c: Likewise.
      	* basic-block.h: Likewise.
      	* bb-reorder.c: Likewise.
      	* builtins.c: Likewise.
      	* calls.c: Likewise.
      	* cfg.c: Likewise.
      	* cfganal.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* cfgexpand.c: Likewise.
      	* cfghooks.c: Likewise.
      	* cfghooks.h: Likewise.
      	* cfgloop.c: Likewise.
      	* cfgloop.h: Likewise.
      	* cfgloopanal.c: Likewise.
      	* cfgloopmanip.c: Likewise.
      	* cfgrtl.c: Likewise.
      	* cgraph.c: Likewise.
      	* cgraph.h: Likewise.
      	* cgraphclones.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* combine.c: Likewise.
      	* compare-elim.c: Likewise.
      	* coverage.c: Likewise.
      	* cprop.c: Likewise.
      	* data-streamer.h: Likewise.
      	* dbxout.c: Likewise.
      	* dce.c: Likewise.
      	* df-core.c: Likewise.
      	* df-problems.c: Likewise.
      	* df-scan.c: Likewise.
      	* dominance.c: Likewise.
      	* domwalk.c: Likewise.
      	* domwalk.h: Likewise.
      	* dse.c: Likewise.
      	* dwarf2cfi.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* dwarf2out.h: Likewise.
      	* emit-rtl.c: Likewise.
      	* except.c: Likewise.
      	* except.h: Likewise.
      	* expr.c: Likewise.
      	* expr.h: Likewise.
      	* final.c: Likewise.
      	* fold-const.c: Likewise.
      	* function.c: Likewise.
      	* function.h: Likewise.
      	* fwprop.c: Likewise.
      	* gcc.c: Likewise.
      	* gcse.c: Likewise.
      	* genattr.c: Likewise.
      	* genattrtab.c: Likewise.
      	* genautomata.c: Likewise.
      	* genextract.c: Likewise.
      	* genopinit.c: Likewise
      	* ggc-common.c: Likewise.
      	* ggc.h: Likewise.
      	* gimple-low.c: Likewise.
      	* gimple-ssa-strength-reduction.c: Likewise.
      	* gimple-streamer-in.c: Likewise.
      	* gimple.c: Likewise.
      	* gimple.h: Likewise.
      	* gimplify.c: Likewise.
      	* graph.c: Likewise.
      	* graphds.c: Likewise.
      	* graphds.h: Likewise.
      	* graphite-blocking.c: Likewise.
      	* graphite-clast-to-gimple.c: Likewise.
      	* graphite-dependences.c: Likewise.
      	* graphite-interchange.c: Likewise.
      	* graphite-optimize-isl.c: Likewise.
      	* graphite-poly.c: Likewise.
      	* graphite-poly.h: Likewise.
      	* graphite-scop-detection.c: Likewise.
      	* graphite-scop-detection.h: Likewise.
      	* graphite-sese-to-poly.c: Likewise.
      	* graphite.c: Likewise.
      	* godump.c: Likewise.
      	* haifa-sched.c: Likewise.
      	* hw-doloop.c: Likewise.
      	* hw-doloop.h: Likewise.
      	* ifcvt.c: Likewise.
      	* insn-addr.h: Likewise.
      	* ipa-cp.c: Likewise.
      	* ipa-inline-analysis.c: Likewise.
      	* ipa-inline-transform.c: Likewise.
      	* ipa-inline.c: Likewise.
      	* ipa-inline.h: Likewise.
      	* ipa-prop.c: Likewise.
      	* ipa-prop.h: Likewise.
      	* ipa-pure-const.c: Likewise.
      	* ipa-ref-inline.h: Likewise.
      	* ipa-ref.c: Likewise.
      	* ipa-ref.h: Likewise.
      	* ipa-reference.c: Likewise.
      	* ipa-split.c: Likewise.
      	* ipa-utils.c: Likewise.
      	* ipa-utils.h: Likewise.
      	* ipa.c: Likewise.
      	* ira-build.c: Likewise.
      	* ira-color.c: Likewise.
      	* ira-emit.c: Likewise.
      	* ira-int.h: Likewise.
      	* ira.c: Likewise.
      	* loop-invariant.c: Likewise.
      	* loop-unroll.c: Likewise.
      	* lower-subreg.c: Likewise.
      	* lra-lives.c: Likewise.
      	* lra.c: Likewise.
      	* lto-cgraph.c: Likewise.
      	* lto-section-out.c: Likewise.
      	* lto-streamer-in.c: Likewise.
      	* lto-streamer-out.c: Likewise.
      	* lto-streamer.h: Likewise.
      	* lto-symtab.c: Likewise.
      	* mcf.c: Likewise.
      	* modulo-sched.c: Likewise.
      	* omp-low.c: Likewise.
      	* opts-common.c: Likewise.
      	* opts-global.c: Likewise.
      	* opts.c: Likewise.
      	* opts.h: Likewise.
      	* passes.c: Likewise.
      	* predict.c: Likewise.
      	* print-tree.c: Likewise.
      	* profile.c: Likewise.
      	* profile.h: Likewise.
      	* read-rtl.c: Likewise.
      	* ree.c: Likewise.
      	* reg-stack.c: Likewise.
      	* regrename.c: Likewise.
      	* regrename.h: Likewise.
      	* reload.c: Likewise.
      	* reload.h: Likewise.
      	* reload1.c: Likewise.
      	* rtl.h: Likewise.
      	* sched-deps.c: Likewise.
      	* sched-int.h: Likewise.
      	* sdbout.c: Likewise.
      	* sel-sched-dump.c: Likewise.
      	* sel-sched-ir.c: Likewise.
      	* sel-sched-ir.h: Likewise.
      	* sel-sched.c: Likewise.
      	* sese.c: Likewise.
      	* sese.h: Likewise.
      	* statistics.h: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* store-motion.c: Likewise.
      	* tlink.c: Likewise.
      	* toplev.c: Likewise.
      	* trans-mem.c: Likewise.
      	* tree-browser.c: Likewise.
      	* tree-call-cdce.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-chrec.c: Likewise.
      	* tree-chrec.h: Likewise.
      	* tree-complex.c: Likewise.
      	* tree-data-ref.c: Likewise.
      	* tree-data-ref.h: Likewise.
      	* tree-dfa.c: Likewise.
      	* tree-diagnostic.c: Likewise.
      	* tree-dump.c: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-emutls.c: Likewise.
      	* tree-flow.h: Likewise.
      	* tree-if-conv.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-inline.h: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-iterator.c: Likewise.
      	* tree-loop-distribution.c: Likewise.
      	* tree-mudflap.c: Likewise.
      	* tree-optimize.c: Likewise.
      	* tree-outof-ssa.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-phinodes.c: Likewise.
      	* tree-predcom.c: Likewise.
      	* tree-pretty-print.c: Likewise.
      	* tree-scalar-evolution.c: Likewise.
      	* tree-sra.c: Likewise.
      	* tree-ssa-address.c: Likewise.
      	* tree-ssa-alias.c: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-coalesce.c: Likewise.
      	* tree-ssa-dce.c: Likewise.
      	* tree-ssa-dom.c: Likewise.
      	* tree-ssa-forwprop.c: Likewise.
      	* tree-ssa-live.c: Likewise.
      	* tree-ssa-live.h: Likewise.
      	* tree-ssa-loop-im.c: Likewise.
      	* tree-ssa-loop-ivcanon.c: Likewise.
      	* tree-ssa-loop-ivopts.c: Likewise.
      	* tree-ssa-loop-manip.c: Likewise.
      	* tree-ssa-loop-niter.c: Likewise.
      	* tree-ssa-loop-prefetch.c: Likewise.
      	* tree-ssa-math-opts.c: Likewise.
      	* tree-ssa-operands.c: Likewise.
      	* tree-ssa-phiopt.c: Likewise.
      	* tree-ssa-phiprop.c: Likewise.
      	* tree-ssa-pre.c: Likewise.
      	* tree-ssa-propagate.c: Likewise.
      	* tree-ssa-reassoc.c: Likewise.
      	* tree-ssa-sccvn.c: Likewise.
      	* tree-ssa-sccvn.h: Likewise.
      	* tree-ssa-strlen.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-ssanames.c: Likewise.
      	* tree-stdarg.c: Likewise.
      	* tree-streamer-in.c: Likewise.
      	* tree-streamer-out.c: Likewise.
      	* tree-streamer.c: Likewise.
      	* tree-streamer.h: Likewise.
      	* tree-switch-conversion.c: Likewise.
      	* tree-vect-data-refs.c: Likewise.
      	* tree-vect-generic.c: Likewise.
      	* tree-vect-loop-manip.c: Likewise.
      	* tree-vect-loop.c: Likewise.
      	* tree-vect-patterns.c: Likewise.
      	* tree-vect-slp.c: Likewise.
      	* tree-vect-stmts.c: Likewise.
      	* tree-vectorizer.c: Likewise.
      	* tree-vectorizer.h: Likewise.
      	* tree-vrp.c: Likewise.
      	* tree.c: Likewise.
      	* tree.h: Likewise.
      	* value-prof.c: Likewise.
      	* value-prof.h: Likewise.
      	* var-tracking.c: Likewise.
      	* varasm.c: Likewise.
      	* varpool.c: Likewise.
      	* vmsdbgout.c: Likewise.
      	* config/bfin/bfin.c: Likewise.
      	* config/c6x/c6x.c: Likewise.
      	* config/darwin.c: Likewise.
      	* config/i386/i386.c: Likewise.
      	* config/ia64/ia64.c: Likewise.
      	* config/mep/mep.c: Likewise.
      	* config/mips/mips.c: Likewise.
      	* config/pa/pa.c: Likewise.
      	* config/rs6000/rs6000-c.c: Likewise.
      	* config/rs6000/rs6000.c: Likewise.
      	* config/rx/rx.c: Likewise.
      	* config/spu/spu-c.c: Likewise.
      	* config/vms/vms.c: Likewise.
      	* config/vxworks.c: Likewise.
      	* config/epiphany/resolve-sw-modes.c: Likewise.
      
      From-SVN: r193595
      Diego Novillo committed
  21. 11 Sep, 2012 1 commit
    • Remove unnecessary VEC function overloads. · f32682ca
      Several VEC member functions that accept an element 'T' used to have
      two overloads: one taking 'T', the second taking 'T *'.
      
      This used to be needed because of the interface dichotomy between
      vectors of objects and vectors of pointers.  In the past, vectors of
      pointers would use pass-by-value semantics, but vectors of objects
      would use pass-by-reference semantics.  This is no longer necessary,
      but the distinction had remained.
      
      The main side-effect of this change is some code reduction in code
      that manipulates vectors of objects.  For instance,
      
      -  struct iterator_use *iuse;
      -
      -  iuse = VEC_safe_push (iterator_use, heap, iterator_uses, NULL);
      -  iuse->iterator = iterator;
      -  iuse->ptr = ptr;
      +  struct iterator_use iuse = {iterator, ptr};
      +  VEC_safe_push (iterator_use, heap, iterator_uses, iuse);
      
      Compile time performance was not affected.
      
      Tested on x86_64 and ppc64.
      
      Also built all-gcc on all targets using VEC routines: arm, bfin, c6x,
      epiphany, ia64, mips, sh, spu, and vms.
      
      2012-09-10  Diego Novillo  <dnovillo@google.com>
      
      	* vec.h (vec_t::quick_push): Remove overload that accepts 'T *'.
      	Update all users.
      	(vec_t::safe_push): Likewise.
      	(vec_t::quick_insert): Likewise.
      	(vec_t::lower_bound): Likewise.
      	(vec_t::safe_insert): Likewise.
      	(vec_t::replace): Change second argument to 'T &'.
      
      From-SVN: r191165
      Diego Novillo committed
  22. 24 Jul, 2012 1 commit
  23. 10 Jul, 2012 1 commit
    • Add VEC_WIDEN_MULT_EVEN/ODD_EXPR · 3f30a9a6
              * tree.def (VEC_WIDEN_MULT_EVEN_EXPR, VEC_WIDEN_MULT_ODD_EXPR): New.
              * cfgexpand.c (expand_debug_expr): Handle them.
              * expr.c (expand_expr_real_2): Likewise.
              * fold-const.c (fold_binary_loc): Likewise.
              * gimple-pretty-print.c (dump_binary_rhs): Likewise.
              * optabs.c (optab_for_tree_code): Likewise.
              * tree-cfg.c (verify_gimple_assign_binary): Likewise.
              * tree-inline.c (estimate_operator_cost): Likewise.
              * tree-pretty-print.c (dump_generic_node): Likewise.
              * tree.c (commutative_tree_code): Likewise.
              * tree-vect-generic.c (expand_vector_operations_1): Likewise.
              Handle type change before looking up optab.
              * optabs.h (OTI_vec_widen_umult_even, OTI_vec_widen_umult_odd): New.
              (OTI_vec_widen_smult_even, OTI_vec_widen_smult_odd): New.
              (vec_widen_umult_even_optab, vec_widen_umult_odd_optab): New.
              (vec_widen_smult_even_optab, vec_widen_smult_odd_optab): New.
              * genopinit.c (optabs): Initialize them.
              * doc/md.texi: Document them.
      
      From-SVN: r189403
      Richard Henderson committed
  24. 23 Dec, 2011 2 commits
    • Delete VEC_EXTRACT_EVEN/ODD_EXPR. · e2c83630
      	* tree.def (VEC_EXTRACT_EVEN_EXPR, VEC_EXTRACT_ODD_EXPR): Remove.
      	* cfgexpand.c (expand_debug_expr): Don't handle them.
      	* expr.c (expand_expr_real_2): Likewise.
      	* fold-const.c (fold_binary_loc): Likewise.
      	* gimple-pretty-print.c (dump_binary_rhs): Likewise.
      	* tree-cfg.c (verify_gimple_assign_binary): Likewise.
      	* tree-inline.c (estimate_operator_cost): Likewise.
      	* tree-pretty-print.c (dump_generic_node): Likewise.
      	* tree-vect-generic.c (expand_vector_operations_1): Likewise.
      	* optabs.c (optab_for_tree_code): Likewise.
      	(can_vec_perm_for_code_p): Remove.
      	(expand_binop): Don't try it.
      	(init_optabs): Don't init vec_extract_even/odd_optab.
      	* genopinit.c (optabs): Likewise.
      	* optabs.h (OTI_vec_extract_even, OTI_vec_extract_odd): Remove.
      	(vec_extract_even_optab, vec_extract_odd_optab): Remove.
      	* tree-vect-data-refs.c (vect_strided_store_supported): Tidy code.
      	(vect_permute_store_chain): Use TYPE_VECTOR_SUBPARTS instead of
      	GET_MODE_NUNITS; check vect_gen_perm_mask return value instead of
      	asserting vect_strided_store_supported.
      	(vect_strided_load_supported): Use can_vec_perm_p.
      	(vect_permute_load_chain): Use VEC_PERM_EXPR.
      
      	* doc/generic.texi (VEC_EXTRACT_EVEN_EXPR): Remove.
      	(VEC_EXTRACT_ODD_EXPR): Remove.
      	* doc/md.texi (vec_extract_even, vec_extract_odd): Remove.
      
      From-SVN: r182669
      Richard Henderson committed
    • Delete VEC_INTERLEAVE_*_EXPR. · 3fcc1b55
      	* tree.def (VEC_INTERLEAVE_HIGH_EXPR, VEC_INTERLEAVE_LOW_EXPR): Remove.
      	* gimple-pretty-print.c (dump_binary_rhs): Don't handle
      	VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR.
      	* expr.c (expand_expr_real_2): Likewise.
      	* tree-cfg.c (verify_gimple_assign_binary): Likewise.
      	* cfgexpand.c (expand_debug_expr): Likewise.
      	* tree-inline.c (estimate_operator_cost): Likewise.
      	* tree-pretty-print.c (dump_generic_node): Likewise.
      	* tree-vect-generic.c (expand_vector_operations_1): Likewise.
      	* fold-const.c (fold_binary_loc): Likewise.
      	* doc/generic.texi (VEC_INTERLEAVE_HIGH_EXPR,
      	VEC_INTERLEAVE_LOW_EXPR): Remove documentation.
      	* optabs.c (optab_for_tree_code): Don't handle
      	VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR.
      	(expand_binop, init_optabs): Remove vec_interleave_high_optab
      	and vec_interleave_low_optab.
      	* genopinit.c (optabs): Likewise.
      	* optabs.h (OTI_vec_interleave_high, OTI_vec_interleave_low): Remove.
      	(vec_interleave_high_optab, vec_interleave_low_optab): Remove.
      	* doc/md.texi (vec_interleave_high, vec_interleave_low): Remove
      	documentation.
      	* tree-vect-stmts.c (gen_perm_mask): Renamed to...
      	(vect_gen_perm_mask): ... this.  No longer static.
      	(perm_mask_for_reverse, vectorizable_load): Adjust callers.
      	* tree-vectorizer.h (vect_gen_perm_mask): New prototype.
      	* tree-vect-data-refs.c (vect_strided_store_supported): Don't try
      	VEC_INTERLEAVE_*_EXPR, use can_vec_perm_p instead of
      	can_vec_perm_for_code_p.
      	(vect_permute_store_chain): Generate VEC_PERM_EXPR with interleaving
      	masks instead of VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR.
      	* config/i386/i386.c (expand_vec_perm_interleave2): If
      	expand_vec_perm_interleave3 would handle it, return false.
      	(expand_vec_perm_broadcast_1): Don't use vec_interleave_*_optab.
      
      From-SVN: r182663
      Jakub Jelinek committed
  25. 13 Dec, 2011 2 commits
    • Revert two unintended commits · b826bea7
      From-SVN: r182301
      Richard Henderson committed
    • Delete VEC_INTERLEAVE_*_EXPR. · 8c75d41b
      	* tree.def (VEC_INTERLEAVE_HIGH_EXPR, VEC_INTERLEAVE_LOW_EXPR): Remove.
      	* gimple-pretty-print.c (dump_binary_rhs): Don't handle
      	VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR.
      	* expr.c (expand_expr_real_2): Likewise.
      	* tree-cfg.c (verify_gimple_assign_binary): Likewise.
      	* cfgexpand.c (expand_debug_expr): Likewise.
      	* tree-inline.c (estimate_operator_cost): Likewise.
      	* tree-pretty-print.c (dump_generic_node): Likewise.
      	* tree-vect-generic.c (expand_vector_operations_1): Likewise.
      	* fold-const.c (fold_binary_loc): Likewise.
      	* doc/generic.texi (VEC_INTERLEAVE_HIGH_EXPR,
      	VEC_INTERLEAVE_LOW_EXPR): Remove documentation.
      	* optabs.c (optab_for_tree_code): Don't handle
      	VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR.
      	(expand_binop, init_optabs): Remove vec_interleave_high_optab
      	and vec_interleave_low_optab.
      	* genopinit.c (optabs): Likewise.
      	* optabs.h (OTI_vec_interleave_high, OTI_vec_interleave_low): Remove.
      	(vec_interleave_high_optab, vec_interleave_low_optab): Remove.
      	* doc/md.texi (vec_interleave_high, vec_interleave_low): Remove
      	documentation.
      	* tree-vect-stmts.c (gen_perm_mask): Renamed to...
      	(vect_gen_perm_mask): ... this.  No longer static.
      	(perm_mask_for_reverse, vectorizable_load): Adjust callers.
      	* tree-vectorizer.h (vect_gen_perm_mask): New prototype.
      	* tree-vect-data-refs.c (vect_strided_store_supported): Don't try
      	VEC_INTERLEAVE_*_EXPR, use can_vec_perm_p instead of
      	can_vec_perm_for_code_p.
      	(vect_permute_store_chain): Generate VEC_PERM_EXPR with interleaving
      	masks instead of VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR.
      	* config/i386/i386.c (expand_vec_perm_interleave2): If
      	expand_vec_perm_interleave3 would handle it, return false.
      	(expand_vec_perm_broadcast_1): Don't use vec_interleave_*_optab.
      
      From-SVN: r182298
      Richard Henderson committed
  26. 07 Nov, 2011 1 commit
    • Allow libcalls to be installed for legacy __sync optabs. · cedb4a1a
      This allows a target which implements the __sync interfaces
      in libgcc to continue to use them transparently with the
      new __atomic builtins.
      
      It is assumed that these libgcc routines DO NOT use spinlocks.
      This is true of all extant libgcc instances.
      
              * optabs.h (OTI_sync_compare_and_swap, OTI_sync_lock_test_and_set,
              OTI_sync_old_add, OTI_sync_old_sub, OTI_sync_old_ior,
              OTI_sync_old_and, OTI_sync_old_xor, OTI_sync_old_nand,
              OTI_sync_new_add, OTI_sync_new_sub, OTI_sync_new_ior,
              OTI_sync_new_and, OTI_sync_new_xor, OTI_sync_new_nand): Move and
              rename from the direct_optab_index enum.
              (sync_compare_and_swap_optab, sync_lock_test_and_set_optab,
              sync_old_add_optab, sync_old_sub_optab, sync_old_ior_optab,
              sync_old_and_optab, sync_old_xor_optab, sync_old_nand_optab,
              sync_new_add_optab, sync_new_sub_optab, sync_new_ior_optab,
              sync_new_and_optab, sync_new_xor_optab, sync_new_nand_optab): Read
              from the optab_table, not the direct_optab_table.
              (init_sync_libfuncs): Declare.
              (can_compare_and_swap_p): Update parameters.
              * optabs.c (init_sync_libfuncs_1, init_sync_libfuncs): New.
              (can_compare_and_swap_p): Add allow_libcall parameter; if true,
              test for the legacy compare-and-swap libcall.
              (expand_atomic_exchange): Use the legacy test-and-set libcall.
              (expand_atomic_compare_and_swap): Use the legacy CAS libcall.
              (struct atomic_op_functions): Update for optab type changes.
              (maybe_emit_op): Likewise.
              (expand_atomic_fetch_op): Use the legacy fetch-op libcalls.
              * builtins.c (fold_builtin_atomic_always_lock_free): Update call
              to can_compare_and_swap_p.
              * omp-low.c (expand_omp_atomic_fetch_op): Likewise.
              (expand_omp_atomic_pipeline): Likewise.
              * genopinit.c (optabs): Make sync_old_*_optab, sync_new_*_optab,
              sync_compare_and_swap_optab, sync_lock_test_and_set_optab regular
              optabs.
      
      From-SVN: r181134
      Richard Henderson committed
  27. 06 Nov, 2011 1 commit
  28. 18 Oct, 2011 1 commit
    • md.texi (vec_widen_ushiftl_hi, [...]): Document. · 36ba4aae
      	* doc/md.texi (vec_widen_ushiftl_hi, vec_widen_ushiftl_lo,
      	vec_widen_sshiftl_hi, vec_widen_sshiftl_lo): Document.
      	* tree-pretty-print.c (dump_generic_node): Handle WIDEN_LSHIFT_EXPR,
      	VEC_WIDEN_LSHIFT_HI_EXPR and VEC_WIDEN_LSHIFT_LO_EXPR.
      	(op_code_prio): Likewise.
      	(op_symbol_code): Handle WIDEN_LSHIFT_EXPR.
      	* optabs.c (optab_for_tree_code): Handle
      	VEC_WIDEN_LSHIFT_HI_EXPR and VEC_WIDEN_LSHIFT_LO_EXPR.
      	(init-optabs): Initialize optab codes for vec_widen_u/sshiftl_hi/lo.
      	* optabs.h (enum optab_index): Add OTI_vec_widen_u/sshiftl_hi/lo.
      	* genopinit.c (optabs): Initialize the new optabs.
      	* expr.c (expand_expr_real_2): Handle
      	VEC_WIDEN_LSHIFT_HI_EXPR and VEC_WIDEN_LSHIFT_LO_EXPR.
      	* gimple-pretty-print.c (dump_binary_rhs): Likewise.
      	* tree-vectorizer.h (NUM_PATTERNS): Increase to 8.
      	* tree.def (WIDEN_LSHIFT_EXPR, VEC_WIDEN_LSHIFT_HI_EXPR,
      	VEC_WIDEN_LSHIFT_LO_EXPR): New.
      	* cfgexpand.c (expand_debug_expr): Handle new tree codes.
      	* tree-vect-patterns.c (vect_vect_recog_func_ptrs): Add
      	vect_recog_widen_shift_pattern.
      	(vect_handle_widen_mult_by_const): Rename...
      	(vect_handle_widen_op_by_const): ...to this.  Handle shifts.
      	Add a new argument, update documentation.
      	(vect_recog_widen_mult_pattern): Assume that only second
      	operand can be constant.  Update call to
      	vect_handle_widen_op_by_const.
      	(vect_recog_over_widening_pattern): Fix typo.
      	(vect_recog_widen_shift_pattern): New.
      	* tree-vect-stmts.c (vectorizable_type_promotion): Handle
      	widening shifts.
      	(supportable_widening_operation): Likewise.
      	* tree-inline.c (estimate_operator_cost): Handle new tree codes.
      	* tree-vect-generic.c (expand_vector_operations_1): Likewise.
      	* tree-cfg.c (verify_gimple_assign_binary): Likewise.
      	* config/arm/neon.md (neon_vec_<US>shiftl_<mode>): New.
      	(vec_widen_<US>shiftl_lo_<mode>, neon_vec_<US>shiftl_hi_<mode>,
      	vec_widen_<US>shiftl_hi_<mode>, neon_vec_<US>shift_left_<mode>):
      	Likewise.
      	* config/arm/predicates.md (const_neon_scalar_shift_amount_operand):
      	New.
      	* config/arm/iterators.md (V_innermode): New.
      	* tree-vect-slp.c (vect_build_slp_tree): Require same shift operand
      	for widening shift.
      
      From-SVN: r180128
      Ira Rosen committed
  29. 14 Oct, 2011 1 commit
  30. 07 Oct, 2011 1 commit
    • Rename vshuffle/vec_shuffle to vec_perm. · 2205ed25
              * doc/extend.texi (__builtin_shuffle): Improve the description to
              include the modulus of the selector.  Mention OpenCL.
              * doc/md.texi (vec_perm, vec_perm_const): Document named patterns.
      
              * tree.def (VEC_PERM_EXPR): Rename from VEC_SHUFFLE_EXPR.
              * genopinit.c (optabs): Rename vshuffle to vec_perm.
              * c-typeck.c (c_build_vec_perm_expr): Rename from
              c_build_vec_shuffle_expr.  Update for name changes.
              * optabs.c (expand_vec_perm_expr_p): Rename from
              expand_vec_shuffle_expr_p.
              (expand_vec_perm_expr): Rename from expand_vec_shuffle_expr.
              * optabs.h (OTI_vec_perm): Rename from DOI_vshuffle.
              (vec_perm_optab): Rename from vshuffle_optab.
              * expr.c, gimple-pretty-print.c, gimple.c, gimplify.c,
              c-tree.h, c-parser.c, tree-cfg.c, tree-inline.c, tree-pretty-print.c,
              tree-ssa-operands.c, tree-vect-generic.c: Update for name changes.
      
              * config/i386/i386.c (ix86_expand_vec_perm): Rename from
              ix86_expand_vshuffle.
              * config/i386/i386-protos.h: Update.
              * config/i386/sse.md (VEC_PERM_AVX2): Rename from VSHUFFLE_AVX2.
              (vec_perm<VEC_PERM_AVX2>): Rename from vshuffle<VSHUFFLE_AVX2>.
      
      From-SVN: r179701
      Richard Henderson committed
  31. 03 Oct, 2011 1 commit
  32. 02 Sep, 2011 1 commit
    • re PR tree-optimization/27460 (Does not vectorize statements with mixed type COND_EXPRs) · e9e1d143
      2011-09-02  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/27460
      	PR middle-end/29269
      	* doc/md.texi (vcond): Document.
      	* genopinit.c (optabs): Turn vcond{,u}_optab into a conversion
      	optab with two modes.
      	* optabs.h (enum convert_optab_index): Add COI_vcond, COI_vcondu.
      	(enum direct_optab_index): Remove DOI_vcond, DOI_vcondu.
      	(vcond_optab): Adjust.
      	(vcondu_optab): Likewise.
      	(expand_vec_cond_expr_p): Adjust prototype.
      	* optabs.c (get_vcond_icode): Adjust.
      	(expand_vec_cond_expr_p): Likewise.
      	(expand_vec_cond_expr): Likewise.
      	* tree-vect-stmts.c (vect_is_simple_cond): Return the comparison
      	vector type.
      	(vectorizable_condition): Allow differing types for comparison
      	and result.
      
      	* config/i386/i386.c (ix86_expand_sse_cmp): Use proper mode
      	for the comparison.
      	* config/i386/sse.md (vcond<mode>): Split to
      	vcond<V_256:mode><VF_256:mode>, vcond<V_128:mode><VF_128:mode>,
      	vcond<V_128:mode><VI124_128:mode> and
      	vcondu<V_128:mode><VI124_128:mode>.
      	(vcondv2di): Change to vcond<VI8F_128:mode>v2di.
      	(vconduv2di): Likewise.
      	* config/arm/neon.md (vcond<mode>): Change to vcond*<mode><mode>.
      	(vcondu<mode>): Likewise.
      	* config/ia64/vect.md (vcond<mode>): Likewise.
      	(vcondu<mode>): Likewise.
      	(vcondv2sf): Likewise.
      	* config/mips/mips-ps-3d.md (vcondv2sf): Likewise.
      	* config/rs6000/paired.md (vcondv2sf): Likewise.
      	* config/rs6000/vector.md (vcond<mode>): Likewise.
      	(vcondu<mode>): Likewise.
      	* config/spu/spu.md (vcond<mode>): Likewise.
      	(vcondu<mode>): Likewise.
      
      	* gcc.dg/vect/vect-cond-7.c: New testcase.
      
      From-SVN: r178480
      Richard Guenther committed
  33. 19 Aug, 2011 1 commit
    • expr.c (expand_expr_real_2): Use widening_optab_handler. · a484f6ba
      2011-08-19  Andrew Stubbs  <ams@codesourcery.com>
      
      	gcc/
      	* expr.c (expand_expr_real_2): Use widening_optab_handler.
      	* genopinit.c (optabs): Use set_widening_optab_handler for $N.
      	(gen_insn): $N now means $a must be wider than $b, not consecutive.
      	* optabs.c (widened_mode): New function.
      	(expand_widen_pattern_expr): Use widening_optab_handler.
      	(expand_binop_directly): Likewise.
      	(expand_binop): Likewise.
      	* optabs.h (widening_optab_handlers): New struct.
      	(optab_d): New member, 'widening'.
      	(widening_optab_handler): New function.
      	(set_widening_optab_handler): New function.
      	* tree-ssa-math-opts.c (convert_mult_to_widen): Use
      	widening_optab_handler.
      	(convert_plusminus_to_widen): Likewise.
      
      From-SVN: r177901
      Andrew Stubbs committed
  34. 21 Jun, 2011 1 commit
    • Makefile.in (lib2funcs): Add _clrsbsi2 and _clrsbdi2. · 3801c801
      	libgcc/
      	* Makefile.in (lib2funcs): Add _clrsbsi2 and _clrsbdi2.
      	* libgcc-std.ver.in (GCC_4.7.0): New section.
      
      	gcc/
      	* doc/extend.texi (__builtin_clrsb, __builtin_clrsbl,
      	__builtin_clrsbll): Document.
      	* doc/rtl.texi (clrsb): New entry.
      	* optabs.c (widen_leading): Renamed from widen_clz.  New argument
      	UNOPTAB.  All callers changed.  Use UNOPTAB instead of clz_optab.
      	(expand_unop): Handle clrsb_optab.
      	(init_optabs): Initialize it.
      	* optabs.h (enum optab_index): New entry OTI_clrsb.
      	(clrsb_optab): Define.
      	* genopinit.c (optabs): Add an entry for it.
      	* builtins.c (expand_builtin): Handle clrsb builtin functions.
      	* builtins.def (BUILT_IN_CLRSB, BUILT_IN_CLRSBIMAX, BUILT_IN_CLRSBL,
      	BUILT_IN_CLRSBLL): New.
      	* rtl.def (CLRSB): New code.
      	* dwarf2out.c (mem_loc_descriptor): Handle it.
      	* simplify-rtx.c (simplify_const_unary_operation): Likewise.
      	Use op_mode rather than mode when optimizing ffs, clz, ctz, parity
      	and popcount.
      	* libgcc2.c (__clrsbSI2, __clrsbDI2): New functions.
      	* libgcc2.h (__clrsbSI2, __clrsbDI2): Define and declare.
      	(__ctzDI2): Move declaration.
      	* config/bfin/bfin.md (clrsbsi2): New expander.
      	(signbitssi2): Use the CLRSB rtx.
      	(clrsbhi2): Renamed from signbitshi2.  Use the CLRSB rtx.
      	* config/bfin/bfin.c (bdesc_1arg): Changed accordingly.
      
      	gcc/testsuite/
      	* gcc.c-torture/excute/builtin-bitops-1.c (MAKE_FUNS): Make
      	my_clrsb test functions.
      	(main): Test clrsb.
      	* gcc.dg/builtin-protos-1.c (test_s, test_u, test_sl, test_ul,
      	test_sll, test_ull): Add clrsb tests.
      	* gcc.dg/torture/builtin-attr-1.c: Add tests for clrsb, clrsbl,
      	clrsbll.
      
      From-SVN: r175261
      Bernd Schmidt committed
  35. 03 May, 2011 1 commit
    • md.texi (vec_load_lanes, [...]): Document. · 272c6793
      gcc/
      	* doc/md.texi (vec_load_lanes, vec_store_lanes): Document.
      	* optabs.h (COI_vec_load_lanes, COI_vec_store_lanes): New
      	convert_optab_index values.
      	(vec_load_lanes_optab, vec_store_lanes_optab): New convert optabs.
      	* genopinit.c (optabs): Initialize the new optabs.
      	* internal-fn.def (LOAD_LANES, STORE_LANES): New internal functions.
      	* internal-fn.c (get_multi_vector_move, expand_LOAD_LANES)
      	(expand_STORE_LANES): New functions.
      	* tree.h (build_array_type_nelts): Declare.
      	* tree.c (build_array_type_nelts): New function.
      	* tree-vectorizer.h (vect_model_store_cost): Add a bool argument.
      	(vect_model_load_cost): Likewise.
      	(vect_store_lanes_supported, vect_load_lanes_supported)
      	(vect_record_strided_load_vectors): Declare.
      	* tree-vect-data-refs.c (vect_lanes_optab_supported_p)
      	(vect_store_lanes_supported, vect_load_lanes_supported): New functions.
      	(vect_transform_strided_load): Split out statement recording into...
      	(vect_record_strided_load_vectors): ...this new function.
      	* tree-vect-stmts.c (create_vector_array, read_vector_array)
      	(write_vector_array, create_array_ref): New functions.
      	(vect_model_store_cost): Add store_lanes_p argument.
      	(vect_model_load_cost): Add load_lanes_p argument.
      	(vectorizable_store): Try to use store-lanes functions for
      	interleaved stores.
      	(vectorizable_load): Likewise load-lanes and loads.
      	* tree-vect-slp.c (vect_get_and_check_slp_defs): Update call
      	to vect_model_store_cost.
      	(vect_build_slp_tree): Likewise vect_model_load_cost.
      
      From-SVN: r173291
      Richard Sandiford committed
  36. 20 Apr, 2011 2 commits
    • Revert last patch. · 267d3070
      From-SVN: r172763
      Richard Sandiford committed
    • md.texi (vec_load_lanes, [...]): Document. · c2d7ab2a
      gcc/
      	* doc/md.texi (vec_load_lanes, vec_store_lanes): Document.
      	* optabs.h (COI_vec_load_lanes, COI_vec_store_lanes): New
      	convert_optab_index values.
      	(vec_load_lanes_optab, vec_store_lanes_optab): New convert optabs.
      	* genopinit.c (optabs): Initialize the new optabs.
      	* internal-fn.def (LOAD_LANES, STORE_LANES): New internal functions.
      	* internal-fn.c (get_multi_vector_move, expand_LOAD_LANES)
      	(expand_STORE_LANES): New functions.
      	* tree.h (build_array_type_nelts): Declare.
      	* tree.c (build_array_type_nelts): New function.
      	* tree-vectorizer.h (vect_model_store_cost): Add a bool argument.
      	(vect_model_load_cost): Likewise.
      	(vect_store_lanes_supported, vect_load_lanes_supported)
      	(vect_record_strided_load_vectors): Declare.
      	* tree-vect-data-refs.c (vect_lanes_optab_supported_p)
      	(vect_store_lanes_supported, vect_load_lanes_supported): New functions.
      	(vect_transform_strided_load): Split out statement recording into...
      	(vect_record_strided_load_vectors): ...this new function.
      	* tree-vect-stmts.c (create_vector_array, read_vector_array)
      	(write_vector_array, create_array_ref): New functions.
      	(vect_model_store_cost): Add store_lanes_p argument.
      	(vect_model_load_cost): Add load_lanes_p argument.
      	(vectorizable_store): Try to use store-lanes functions for
      	interleaved stores.
      	(vectorizable_load): Likewise load-lanes and loads.
      	* tree-vect-slp.c (vect_get_and_check_slp_defs)
      	(vect_build_slp_tree):
      
      From-SVN: r172760
      Richard Sandiford committed
  37. 03 Jan, 2011 1 commit