diff mbox

Flatten function.h

Message ID 54188D7E.4090701@redhat.com
State New
Headers show

Commit Message

Andrew MacLeod Sept. 16, 2014, 7:20 p.m. UTC
Im currently focusing on flattening middle/backend files which are 
included from front-ends files so we can clean up the include interface 
a bit.

This flattens function.h.  It wasn't too bad, there were a few 
prototypes and defines in expr.h and rtl.h that belong in function.h, 
and a couple of other prototypes that belonged in other .h files.  A 
bunch of the gen*.c generated files actually use function.h.. so they 
needed some tweaking.

I did an include file reduction on all the language/*.[ch] and core 
*.[ch] files, but left the target files with the full complement of 7 
includes that function.h use to have.  Its probably easier when this is 
all done to fully reduce the targets one at a time... there are so many 
nooks and crannies I figured I'd bust something right now if i tried to 
do all the targets as well :-)

Before the final commit, I will do an include reduction on 
ada/gcc-interface/misc.c... my previous build didnt have Ada enabled, so 
I missed the reduction there.

Bootstraps on x86_64-unknown-linux-gnu with no new test regressions (one 
plugin test required adding an include). I've also run all the targets 
in  config-list.mk and the ones that built seem to build fine, but its 
still running.. I'll verify before checking in.

for the record, this patch relocates the following include to where ever 
function.h is included from.  Any plugins which include function.h may 
want to add these to the include list just before function.h

#include "hashtab.h"
#include "hash-set.h"
#include "vec.h"
#include "machmode.h"
#include "tm.h"
#include "hard-reg-set.h"
#include "input.h"

OK for trunk?

Andrew

Comments

Joseph Myers Sept. 16, 2014, 9:12 p.m. UTC | #1
On Tue, 16 Sep 2014, Andrew MacLeod wrote:

> I did an include file reduction on all the language/*.[ch] and core *.[ch]
> files, but left the target files with the full complement of 7 includes that
> function.h use to have.  Its probably easier when this is all done to fully
> reduce the targets one at a time... there are so many nooks and crannies I
> figured I'd bust something right now if i tried to do all the targets as well
> :-)

How did you determine what includes to remove?  You appear to have removed 
tm.h includes from various files that do in fact use target macros; maybe 
they get it indirectly included by some other header, but I thought a 
principle of this flattening was to avoid relying on such indirect 
inclusions.  Because of possible use of target macros in #ifdef 
conditionals, "compiles with the include removed" is not a sufficient 
condition for removing it.

cfgrtl.c
gimple-fold.c
mode-switching.c
tree-inline.c
vmsdbgout.c
fortran/f95-lang.c
fortran/trans-decl.c
objc/objc-act.c
Andrew MacLeod Sept. 16, 2014, 9:23 p.m. UTC | #2
On 09/16/2014 05:12 PM, Joseph S. Myers wrote:
> On Tue, 16 Sep 2014, Andrew MacLeod wrote:
>
>> I did an include file reduction on all the language/*.[ch] and core *.[ch]
>> files, but left the target files with the full complement of 7 includes that
>> function.h use to have.  Its probably easier when this is all done to fully
>> reduce the targets one at a time... there are so many nooks and crannies I
>> figured I'd bust something right now if i tried to do all the targets as well
>> :-)
> How did you determine what includes to remove?  You appear to have removed
> tm.h includes from various files that do in fact use target macros; maybe
> they get it indirectly included by some other header, but I thought a
> principle of this flattening was to avoid relying on such indirect
> inclusions.  Because of possible use of target macros in #ifdef
> conditionals, "compiles with the include removed" is not a sufficient
> condition for removing it.
>
> cfgrtl.c
> gimple-fold.c
> mode-switching.c
> tree-inline.c
> vmsdbgout.c
> fortran/f95-lang.c
> fortran/trans-decl.c
> objc/objc-act.c
>
Many of those files do in fact get numerous include files from expr.h, 
which are likely to get put back in when expr.h is flattened,  but there 
is a risk as you point out.

Perhaps I should proceed by simply moving the includes and removing any 
duplicate includes,  leaving the reduction for later date. There is less 
chance of that causing issues.  I did forget about the discussion last 
year concerning target macros from the RTL end of things... My mind is 
slowly going :-).



Andrew
diff mbox

Patch


	* function.h: Flatten file.  Remove includes, adjust prototypes to 
	reflect only what is in function.h.
	(enum direction, struct args_size, struct locate_and_pad_arg_data,
	ADD_PARM_SIZE, SUB_PARM_SIZE, ARGS_SIZE_TREE, ARGS_SIZE_RTX): Relocate
	from expr.h.
	(ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Relocate from rtl.h.
	(optimize_function_for_size_p, optimize_function_for_speed_p): Move
	prototypes to predict.h.
	(init_varasm_status): Move prototype to varasm.h.

	* expr.h: Adjust include files.
	(enum direction, struct args_size, struct locate_and_pad_arg_data,
	ADD_PARM_SIZE, SUB_PARM_SIZE, ARGS_SIZE_TREE, ARGS_SIZE_RTX): Move
	to function.h.
	(locate_and_pad_parm): Move prototype to function.h.
	* rtl.h: (assign_stack_local, ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD,
	assign_stack_local_1, assign_stack_temp, assign_stack_temp_for_type,
	assign_temp, reposition_prologue_and_epilogue_notes,
	prologue_epilogue_contains, sibcall_epilogue_contains,
	update_temp_slot_address, maybe_copy_prologue_epilogue_insn,
	set_return_jump_label): Move prototypes to function.h.
	* predict.h (optimize_function_for_size_p,
	optimize_function_for_speed_p): Relocate prototypes from function.h.
	* shrink-wrap.h (emit_return_into_block, active_insn_between,
	convert_jumps_to_returns, emit_return_for_exit): Move prototypes to
	function.h.
	* varasm.h (init_varasm_status): Relocate prototype from function.h.
	* genattrtab.c (write_header): Add predict.h to include list.
	* genconditions.c (write_header): Add predict.h to include list.
	* genemit.c (main): Adjust header file includes.
	* gengtype.c (ifiles): Add flattened function.h header files.
	* genoutput.c (output_prologue): Add predict.h to include list.
	* genpreds.c (write_insn_preds_c): Adjust header file includes.
	* genrecog.c (write_header): Add flattened function.h header files.

	* alias.c: Adjust include files.
	* auto-inc-dec.c: Likewise.
	* basic-block.h: Likewise.
	* bb-reorder.c: Likewise.
	* bt-load.c: Likewise.
	* builtins.c: Likewise.
	* caller-save.c: Likewise.
	* calls.c: Likewise.
	* cfgbuild.c: Likewise.
	* cfgcleanup.c: Likewise.
	* cfgexpand.c: Likewise.
	* cfgloop.c: Likewise.
	* cfgloop.h: Likewise.
	* cfgrtl.c: Likewise.
	* cgraph.h: Likewise.
	* cgraphclones.c: Likewise.
	* cgraphunit.c: Likewise.
	* combine-stack-adj.c: Likewise.
	* combine.c: Likewise.
	* coverage.c: Likewise.
	* cprop.c: Likewise.
	* cse.c: Likewise.
	* cselib.c: Likewise.
	* dbxout.c: Likewise.
	* ddg.c: Likewise.
	* df-core.c: Likewise.
	* df-problems.c: Likewise.
	* df-scan.c: Likewise.
	* dojump.c: Likewise.
	* dwarf2cfi.c: Likewise.
	* dwarf2out.c: Likewise.
	* emit-rtl.c: Likewise.
	* except.c: Likewise.
	* explow.c: Likewise.
	* expr.c: Likewise.
	* final.c: Likewise.
	* function.c: Likewise.
	* gcse.c: Likewise.
	* gimple-fold.c: Likewise.
	* gimple-low.c: Likewise.
	* gimple-streamer.h: Likewise.
	* haifa-sched.c: Likewise.
	* ifcvt.c: Likewise.
	* ira.c: Likewise.
	* jump.c: Likewise.
	* lcm.c: Likewise.
	* loop-invariant.c: Likewise.
	* lra-assigns.c: Likewise.
	* lra-coalesce.c: Likewise.
	* lra-constraints.c: Likewise.
	* lra-eliminations.c: Likewise.
	* lra-lives.c: Likewise.
	* lra-spills.c: Likewise.
	* lra.c: Likewise.
	* lto-cgraph.c: Likewise.
	* lto-section-in.c: Likewise.
	* lto-section-out.c: Likewise.
	* lto-streamer-in.c: Likewise.
	* lto-streamer-out.c: Likewise.
	* mode-switching.c: Likewise.
	* modulo-sched.c: Likewise.
	* omp-low.c: Likewise.
	* optabs.c: Likewise.
	* passes.c: Likewise.
	* postreload-gcse.c: Likewise.
	* postreload.c: Likewise.
	* predict.c: Likewise.
	* profile.c: Likewise.
	* recog.c: Likewise.
	* ree.c: Likewise.
	* reg-stack.c: Likewise.
	* regcprop.c: Likewise.
	* reginfo.c: Likewise.
	* regrename.c: Likewise.
	* reload.c: Likewise.
	* reload1.c: Likewise.
	* reorg.c: Likewise.
	* resource.c: Likewise.
	* rtlanal.c: Likewise.
	* sched-deps.c: Likewise.
	* sched-ebb.c: Likewise.
	* sched-rgn.c: Likewise.
	* sel-sched-dump.c: Likewise.
	* sel-sched-ir.c: Likewise.
	* sel-sched.c: Likewise.
	* shrink-wrap.c: Likewise.
	* simplify-rtx.c: Likewise.
	* statistics.c: Likewise.
	* stmt.c: Likewise.
	* stor-layout.c: Likewise.
	* store-motion.c: Likewise.
	* symtab.c: Likewise.
	* targhooks.c: Likewise.
	* toplev.c: Likewise.
	* trans-mem.c: Likewise.
	* tree-cfg.c: Likewise.
	* tree-cfgcleanup.c: Likewise.
	* tree-dfa.c: Likewise.
	* tree-eh.c: Likewise.
	* tree-inline.c: Likewise.
	* tree-into-ssa.c: Likewise.
	* tree-nested.c: Likewise.
	* tree-nrv.c: Likewise.
	* tree-profile.c: Likewise.
	* tree-ssa-alias.c: Likewise.
	* tree-ssa-ccp.c: Likewise.
	* tree-ssa-copy.c: Likewise.
	* tree-ssa-copyrename.c: Likewise.
	* tree-ssa-dom.c: Likewise.
	* tree-ssa-operands.c: Likewise.
	* tree-ssa-propagate.c: Likewise.
	* tree-ssa-structalias.c: Likewise.
	* tree-ssa-tail-merge.c: Likewise.
	* tree-ssa-threadedge.c: Likewise.
	* tree-ssa-threadupdate.c: Likewise.
	* tree-ssa-uncprop.c: Likewise.
	* tree-ssa-uninit.c: Likewise.
	* tree-ssa.c: Likewise.
	* tree-stdarg.c: Likewise.
	* tree-tailcall.c: Likewise.
	* tree.c: Likewise.
	* tsan.c: Likewise.
	* valtrack.c: Likewise.
	* varasm.c: Likewise.
	* vmsdbgout.c: Likewise.
	* web.c: Likewise.

	* testsuite/g++.dg/plugin/pragma_plugin.c: Adjust include files.

	* ada/gcc-interface/misc.c: Adjust include files.

	* c/c-decl.c: Adjust include files.

	* c-family/c-pragma.c: Adjust include files.
	* c-family/c-semantics.c: Likewise.

	* cp/cp-tree.h: Adjust include files.

	* fortran/f95-lang.c: Adjust include files.
	* fortran/trans-decl.c: Likewise.

	* java/class.c: Adjust include files.
	* java/resource.c: Likewise.

	* objc/objc-act.c: Adjust include files.

	* config/aarch64/aarch64.c: Add flattened includes from function.h.
	* config/alpha/alpha.c: Likewise.
	* config/arc/arc.c: Likewise.
	* config/arm/arm.c: Likewise.
	* config/avr/avr-log.c: Likewise.
	* config/avr/avr.c: Likewise.
	* config/bfin/bfin.c: Likewise.
	* config/c6x/c6x.c: Likewise.
	* config/cr16/cr16.c: Likewise.
	* config/cris/cris.c: Likewise.
	* config/darwin.c: Likewise.
	* config/epiphany/epiphany.c: Likewise.
	* config/epiphany/mode-switch-use.c: Likewise.
	* config/epiphany/resolve-sw-modes.c: Likewise.
	* config/fr30/fr30.c: Likewise.
	* config/frv/frv.c: Likewise.
	* config/h8300/h8300.c: Likewise.
	* config/i386/i386.c: Likewise.
	* config/ia64/ia64.c: Likewise.
	* config/iq2000/iq2000.c: Likewise.
	* config/lm32/lm32.c: Likewise.
	* config/m32c/m32c.c: Likewise.
	* config/m32r/m32r.c: Likewise.
	* config/m68k/m68k.c: Likewise.
	* config/mcore/mcore.c: Likewise.
	* config/mep/mep-pragma.c: Likewise.
	* config/mep/mep.c: Likewise.
	* config/microblaze/microblaze.c: Likewise.
	* config/mips/mips.c: Likewise.
	* config/mmix/mmix.c: Likewise.
	* config/mn10300/mn10300.c: Likewise.
	* config/moxie/moxie.c: Likewise.
	* config/msp430/msp430.c: Likewise.
	* config/nds32/nds32-cost.c: Likewise.
	* config/nds32/nds32-fp-as-gp.c: Likewise.
	* config/nds32/nds32-intrinsic.c: Likewise.
	* config/nds32/nds32-isr.c: Likewise.
	* config/nds32/nds32-md-auxiliary.c: Likewise.
	* config/nds32/nds32-memory-manipulation.c: Likewise.
	* config/nds32/nds32-pipelines-auxiliary.c: Likewise.
	* config/nds32/nds32-predicates.c: Likewise.
	* config/nds32/nds32.c: Likewise.
	* config/nios2/nios2.c: Likewise.
	* config/pa/pa.c: Likewise.
	* config/pdp11/pdp11.c: Likewise.
	* config/rl78/rl78.c: Likewise.
	* config/rs6000/rs6000.c: Likewise.
	* config/rx/rx.c: Likewise.
	* config/s390/s390.c: Likewise.
	* config/score/score.c: Likewise.
	* config/sh/sh.c: Likewise.
	* config/sparc/sparc.c: Likewise.
	* config/spu/spu.c: Likewise.
	* config/stormy16/stormy16.c: Likewise.
	* config/tilegx/tilegx.c: Likewise.
	* config/tilepro/tilepro.c: Likewise.
	* config/v850/v850.c: Likewise.
	* config/vax/vax.c: Likewise.
	* config/xtensa/xtensa.c: Likewise.


Index: function.h
===================================================================
--- function.h	(revision 215266)
+++ function.h	(working copy)
@@ -20,13 +20,6 @@ 
 #ifndef GCC_FUNCTION_H
 #define GCC_FUNCTION_H
 
-#include "hashtab.h"
-#include "hash-set.h"
-#include "vec.h"
-#include "machmode.h"
-#include "tm.h"			/* For CUMULATIVE_ARGS.  */
-#include "hard-reg-set.h"	/* For HARD_REG_SET in struct rtl_data. */
-#include "input.h"		/* For location_t.  */
 
 /* Stack of pending (incomplete) sequences saved by `start_sequence'.
    Each element describes one pending sequence.
@@ -724,11 +717,6 @@ 
    referenced by the global variable.  */
 extern GTY(()) vec<tree, va_gc> *types_used_by_cur_var_decl;
 
-/* cfun shouldn't be set directly; use one of these functions instead.  */
-extern void set_cfun (struct function *new_cfun);
-extern void push_cfun (struct function *new_cfun);
-extern void pop_cfun (void);
-extern void instantiate_decl_rtl (rtx x);
 
 /* Return the loop tree of FN.  */
 
@@ -755,17 +743,96 @@ 
 #define n_bbs_in_dom_tree (cfun->cfg->x_n_bbs_in_dom_tree)
 #define VALUE_HISTOGRAMS(fun) (fun)->value_histograms
 
-/* Identify BLOCKs referenced by more than one NOTE_INSN_BLOCK_{BEG,END},
-   and create duplicate blocks.  */
-extern void reorder_blocks (void);
+/* A pointer to a function to create target specific, per-function
+   data structures.  */
+extern struct machine_function * (*init_machine_status) (void);
 
-/* Set BLOCK_NUMBER for all the blocks in FN.  */
-extern void number_blocks (tree);
+enum direction {none, upward, downward};
 
-extern void clear_block_marks (tree);
-extern tree blocks_nreverse (tree);
-extern tree block_chainon (tree, tree);
+/* Structure to record the size of a sequence of arguments
+   as the sum of a tree-expression and a constant.  This structure is
+   also used to store offsets from the stack, which might be negative,
+   so the variable part must be ssizetype, not sizetype.  */
 
+struct args_size
+{
+  HOST_WIDE_INT constant;
+  tree var;
+};
+
+/* Package up various arg related fields of struct args for
+   locate_and_pad_parm.  */
+struct locate_and_pad_arg_data
+{
+  /* Size of this argument on the stack, rounded up for any padding it
+     gets.  If REG_PARM_STACK_SPACE is defined, then register parms are
+     counted here, otherwise they aren't.  */
+  struct args_size size;
+  /* Offset of this argument from beginning of stack-args.  */
+  struct args_size offset;
+  /* Offset to the start of the stack slot.  Different from OFFSET
+     if this arg pads downward.  */
+  struct args_size slot_offset;
+  /* The amount that the stack pointer needs to be adjusted to
+     force alignment for the next argument.  */
+  struct args_size alignment_pad;
+  /* Which way we should pad this arg.  */
+  enum direction where_pad;
+  /* slot_offset is at least this aligned.  */
+  unsigned int boundary;
+};
+
+/* Add the value of the tree INC to the `struct args_size' TO.  */
+
+#define ADD_PARM_SIZE(TO, INC)					\
+do {								\
+  tree inc = (INC);						\
+  if (tree_fits_shwi_p (inc))					\
+    (TO).constant += tree_to_shwi (inc);			\
+  else if ((TO).var == 0)					\
+    (TO).var = fold_convert (ssizetype, inc);			\
+  else								\
+    (TO).var = size_binop (PLUS_EXPR, (TO).var,			\
+			   fold_convert (ssizetype, inc));	\
+} while (0)
+
+#define SUB_PARM_SIZE(TO, DEC)					\
+do {								\
+  tree dec = (DEC);						\
+  if (tree_fits_shwi_p (dec))					\
+    (TO).constant -= tree_to_shwi (dec);			\
+  else if ((TO).var == 0)					\
+    (TO).var = size_binop (MINUS_EXPR, ssize_int (0),		\
+			   fold_convert (ssizetype, dec));	\
+  else								\
+    (TO).var = size_binop (MINUS_EXPR, (TO).var,		\
+			   fold_convert (ssizetype, dec));	\
+} while (0)
+
+/* Convert the implicit sum in a `struct args_size' into a tree
+   of type ssizetype.  */
+#define ARGS_SIZE_TREE(SIZE)					\
+((SIZE).var == 0 ? ssize_int ((SIZE).constant)			\
+ : size_binop (PLUS_EXPR, fold_convert (ssizetype, (SIZE).var),	\
+	       ssize_int ((SIZE).constant)))
+
+/* Convert the implicit sum in a `struct args_size' into an rtx.  */
+#define ARGS_SIZE_RTX(SIZE)					\
+((SIZE).var == 0 ? GEN_INT ((SIZE).constant)			\
+ : expand_normal (ARGS_SIZE_TREE (SIZE)))
+
+#define ASLK_REDUCE_ALIGN 1
+#define ASLK_RECORD_PAD 2
+
+
+
+extern void push_function_context (void);
+extern void pop_function_context (void);
+
+/* Save and restore status information for a nested function.  */
+extern void free_after_parsing (struct function *);
+extern void free_after_compilation (struct function *);
+
 /* Return size needed for stack frame based on slots so far allocated.
    This size counts from zero.  It is not rounded to STACK_BOUNDARY;
    the caller may have to do that.  */
@@ -776,22 +843,81 @@ 
    return FALSE.  */
 extern bool frame_offset_overflow (HOST_WIDE_INT, tree);
 
-/* A pointer to a function to create target specific, per-function
-   data structures.  */
-extern struct machine_function * (*init_machine_status) (void);
+extern rtx assign_stack_local_1 (enum machine_mode, HOST_WIDE_INT, int, int);
+extern rtx assign_stack_local (enum machine_mode, HOST_WIDE_INT, int);
+extern rtx assign_stack_temp_for_type (enum machine_mode, HOST_WIDE_INT, tree);
+extern rtx assign_stack_temp (enum machine_mode, HOST_WIDE_INT);
+extern rtx assign_temp (tree, int, int);
+extern void update_temp_slot_address (rtx, rtx);
+extern void preserve_temp_slots (rtx);
+extern void free_temp_slots (void);
+extern void push_temp_slots (void);
+extern void pop_temp_slots (void);
+extern void init_temp_slots (void);
+extern rtx get_hard_reg_initial_reg (rtx);
+extern rtx get_hard_reg_initial_val (enum machine_mode, unsigned int);
+extern rtx has_hard_reg_initial_val (enum machine_mode, unsigned int);
 
-/* Save and restore status information for a nested function.  */
-extern void free_after_parsing (struct function *);
-extern void free_after_compilation (struct function *);
+/* Called from gimple_expand_cfg.  */
+extern unsigned int emit_initial_value_sets (void);
 
-extern void init_varasm_status (void);
+extern bool initial_value_entry (int i, rtx *, rtx *);
+extern void instantiate_decl_rtl (rtx x);
+extern int aggregate_value_p (const_tree, const_tree);
+extern bool use_register_for_decl (const_tree);
+extern bool pass_by_reference (CUMULATIVE_ARGS *, enum machine_mode,
+			       tree, bool);
+extern bool reference_callee_copied (CUMULATIVE_ARGS *, enum machine_mode,
+				     tree, bool);
+extern gimple_seq gimplify_parameters (void);
+extern void locate_and_pad_parm (enum machine_mode, tree, int, int, int,
+				 tree, struct args_size *,
+				 struct locate_and_pad_arg_data *);
+extern void generate_setjmp_warnings (void);
 
+/* Identify BLOCKs referenced by more than one NOTE_INSN_BLOCK_{BEG,END},
+   and create duplicate blocks.  */
+extern void reorder_blocks (void);
+extern void clear_block_marks (tree);
+extern tree blocks_nreverse (tree);
+extern tree block_chainon (tree, tree);
+
+/* Set BLOCK_NUMBER for all the blocks in FN.  */
+extern void number_blocks (tree);
+
+/* cfun shouldn't be set directly; use one of these functions instead.  */
+extern void set_cfun (struct function *new_cfun);
+extern void push_cfun (struct function *new_cfun);
+extern void pop_cfun (void);
+
+extern int get_next_funcdef_no (void);
+extern int get_last_funcdef_no (void);
+extern void allocate_struct_function (tree, bool);
+extern void push_struct_function (tree fndecl);
+extern void init_dummy_function_start (void);
+extern void init_function_start (tree);
+extern void stack_protect_epilogue (void);
+extern void expand_function_start (tree);
+extern void expand_dummy_function_end (void);
+
 #ifdef RTX_CODE
 extern void diddle_return_value (void (*)(rtx, void*), void*);
 extern void clobber_return_register (void);
 #endif
 
+extern void do_warn_unused_parameter (tree);
+extern void expand_function_end (void);
 extern rtx get_arg_pointer_save_area (void);
+extern void maybe_copy_prologue_epilogue_insn (rtx, rtx);
+extern int prologue_epilogue_contains (const_rtx);
+extern void emit_return_into_block (bool simple_p, basic_block bb);
+extern void set_return_jump_label (rtx);
+extern bool active_insn_between (rtx_insn *head, rtx_insn *tail);
+extern vec<edge> convert_jumps_to_returns (basic_block last_bb, bool simple_p,
+					   vec<edge> unconverted);
+extern basic_block emit_return_for_exit (edge exit_fallthru_edge,
+					 bool simple_p);
+extern void reposition_prologue_and_epilogue_notes (void);
 
 /* Returns the name of the current function.  */
 extern const char *fndecl_name (tree);
@@ -798,49 +924,6 @@ 
 extern const char *function_name (struct function *);
 extern const char *current_function_name (void);
 
-extern void do_warn_unused_parameter (tree);
-
-extern bool pass_by_reference (CUMULATIVE_ARGS *, enum machine_mode,
-			       tree, bool);
-extern bool reference_callee_copied (CUMULATIVE_ARGS *, enum machine_mode,
-				     tree, bool);
-
 extern void used_types_insert (tree);
 
-extern int get_next_funcdef_no (void);
-extern int get_last_funcdef_no (void);
-
-extern rtx get_hard_reg_initial_val (enum machine_mode, unsigned int);
-extern rtx has_hard_reg_initial_val (enum machine_mode, unsigned int);
-extern rtx get_hard_reg_initial_reg (rtx);
-extern bool initial_value_entry (int i, rtx *, rtx *);
-
-/* Called from gimple_expand_cfg.  */
-extern unsigned int emit_initial_value_sets (void);
-
-/* In predict.c */
-extern bool optimize_function_for_size_p (struct function *);
-extern bool optimize_function_for_speed_p (struct function *);
-
-/* In function.c */
-extern void expand_function_end (void);
-extern void expand_function_start (tree);
-extern void stack_protect_epilogue (void);
-extern void init_dummy_function_start (void);
-extern void expand_dummy_function_end (void);
-extern void allocate_struct_function (tree, bool);
-extern void push_struct_function (tree fndecl);
-extern void init_function_start (tree);
-extern bool use_register_for_decl (const_tree);
-extern void generate_setjmp_warnings (void);
-extern void init_temp_slots (void);
-extern void free_temp_slots (void);
-extern void pop_temp_slots (void);
-extern void push_temp_slots (void);
-extern void preserve_temp_slots (rtx);
-extern int aggregate_value_p (const_tree, const_tree);
-extern void push_function_context (void);
-extern void pop_function_context (void);
-extern gimple_seq gimplify_parameters (void);
-
 #endif  /* GCC_FUNCTION_H */
Index: expr.h
===================================================================
--- expr.h	(revision 215266)
+++ expr.h	(working copy)
@@ -21,6 +21,9 @@ 
 #define GCC_EXPR_H
 
 /* For inhibit_defer_pop */
+#include "hash-set.h"
+#include "tm.h"
+#include "hard-reg-set.h"
 #include "function.h"
 /* For XEXP, GEN_INT, rtx_code */
 #include "rtl.h"
@@ -30,7 +33,6 @@ 
    ssize_int, TREE_CODE, TYPE_SIZE, int_size_in_bytes,    */
 #include "tree-core.h"
 /* For GET_MODE_BITSIZE, word_mode */
-#include "machmode.h"
 
 /* This is the 4th arg to `expand_expr'.
    EXPAND_STACK_PARM means we are possibly expanding a call param onto
@@ -55,81 +57,6 @@ 
    more information.  */
 #define OK_DEFER_POP (inhibit_defer_pop -= 1)
 
-enum direction {none, upward, downward};
-
-/* Structure to record the size of a sequence of arguments
-   as the sum of a tree-expression and a constant.  This structure is
-   also used to store offsets from the stack, which might be negative,
-   so the variable part must be ssizetype, not sizetype.  */
-
-struct args_size
-{
-  HOST_WIDE_INT constant;
-  tree var;
-};
-
-/* Package up various arg related fields of struct args for
-   locate_and_pad_parm.  */
-struct locate_and_pad_arg_data
-{
-  /* Size of this argument on the stack, rounded up for any padding it
-     gets.  If REG_PARM_STACK_SPACE is defined, then register parms are
-     counted here, otherwise they aren't.  */
-  struct args_size size;
-  /* Offset of this argument from beginning of stack-args.  */
-  struct args_size offset;
-  /* Offset to the start of the stack slot.  Different from OFFSET
-     if this arg pads downward.  */
-  struct args_size slot_offset;
-  /* The amount that the stack pointer needs to be adjusted to
-     force alignment for the next argument.  */
-  struct args_size alignment_pad;
-  /* Which way we should pad this arg.  */
-  enum direction where_pad;
-  /* slot_offset is at least this aligned.  */
-  unsigned int boundary;
-};
-
-/* Add the value of the tree INC to the `struct args_size' TO.  */
-
-#define ADD_PARM_SIZE(TO, INC)					\
-do {								\
-  tree inc = (INC);						\
-  if (tree_fits_shwi_p (inc))					\
-    (TO).constant += tree_to_shwi (inc);			\
-  else if ((TO).var == 0)					\
-    (TO).var = fold_convert (ssizetype, inc);			\
-  else								\
-    (TO).var = size_binop (PLUS_EXPR, (TO).var,			\
-			   fold_convert (ssizetype, inc));	\
-} while (0)
-
-#define SUB_PARM_SIZE(TO, DEC)					\
-do {								\
-  tree dec = (DEC);						\
-  if (tree_fits_shwi_p (dec))					\
-    (TO).constant -= tree_to_shwi (dec);			\
-  else if ((TO).var == 0)					\
-    (TO).var = size_binop (MINUS_EXPR, ssize_int (0),		\
-			   fold_convert (ssizetype, dec));	\
-  else								\
-    (TO).var = size_binop (MINUS_EXPR, (TO).var,		\
-			   fold_convert (ssizetype, dec));	\
-} while (0)
-
-/* Convert the implicit sum in a `struct args_size' into a tree
-   of type ssizetype.  */
-#define ARGS_SIZE_TREE(SIZE)					\
-((SIZE).var == 0 ? ssize_int ((SIZE).constant)			\
- : size_binop (PLUS_EXPR, fold_convert (ssizetype, (SIZE).var),	\
-	       ssize_int ((SIZE).constant)))
-
-/* Convert the implicit sum in a `struct args_size' into an rtx.  */
-#define ARGS_SIZE_RTX(SIZE)					\
-((SIZE).var == 0 ? GEN_INT ((SIZE).constant)			\
- : expand_normal (ARGS_SIZE_TREE (SIZE)))
-
-
 /* This structure is used to pass around information about exploded
    unary, binary and trinary expressions between expand_expr_real_1 and
    friends.  */
@@ -550,10 +477,6 @@ 
 			  rtx, int);
 #endif
 
-extern void locate_and_pad_parm (enum machine_mode, tree, int, int, int,
-				 tree, struct args_size *,
-				 struct locate_and_pad_arg_data *);
-
 /* Return the CODE_LABEL rtx for a LABEL_DECL, creating it if necessary.  */
 extern rtx label_rtx (tree);
 
Index: rtl.h
===================================================================
--- rtl.h	(revision 215266)
+++ rtl.h	(working copy)
@@ -2574,15 +2574,6 @@ 
 extern rtx simplify_subtraction (rtx);
 extern void decide_function_section (tree);
 
-/* In function.c  */
-extern rtx assign_stack_local (enum machine_mode, HOST_WIDE_INT, int);
-#define ASLK_REDUCE_ALIGN 1
-#define ASLK_RECORD_PAD 2
-extern rtx assign_stack_local_1 (enum machine_mode, HOST_WIDE_INT, int, int);
-extern rtx assign_stack_temp (enum machine_mode, HOST_WIDE_INT);
-extern rtx assign_stack_temp_for_type (enum machine_mode, HOST_WIDE_INT, tree);
-extern rtx assign_temp (tree, int, int);
-
 /* In emit-rtl.c */
 extern rtx_insn *emit_insn_before (rtx, rtx);
 extern rtx_insn *emit_insn_before_noloc (rtx, rtx_insn *, basic_block);
@@ -3368,14 +3359,6 @@ 
 extern void rtl_dump_bb_for_graph (pretty_printer *, basic_block);
 extern const char *str_pattern_slim (const_rtx);
 
-/* In function.c */
-extern void reposition_prologue_and_epilogue_notes (void);
-extern int prologue_epilogue_contains (const_rtx);
-extern int sibcall_epilogue_contains (const_rtx);
-extern void update_temp_slot_address (rtx, rtx);
-extern void maybe_copy_prologue_epilogue_insn (rtx, rtx);
-extern void set_return_jump_label (rtx);
-
 /* In stmt.c */
 extern void expand_null_return (void);
 extern void expand_naked_return (void);
Index: predict.h
===================================================================
--- predict.h	(revision 215266)
+++ predict.h	(working copy)
@@ -55,4 +55,7 @@ 
 extern void compute_function_frequency (void);
 extern void rebuild_frequencies (void);
 
+extern bool optimize_function_for_size_p (struct function *);
+extern bool optimize_function_for_speed_p (struct function *);
+
 #endif  /* GCC_PREDICT_H */
Index: shrink-wrap.h
===================================================================
--- shrink-wrap.h	(revision 215266)
+++ shrink-wrap.h	(working copy)
@@ -25,14 +25,9 @@ 
 #include "machmode.h"
 
 #ifdef HAVE_simple_return
-/* In function.c.  */
-extern void emit_return_into_block (bool simple_p, basic_block bb);
-extern bool active_insn_between (rtx_insn *head, rtx_insn *tail);
-extern vec<edge> convert_jumps_to_returns (basic_block last_bb, bool simple_p,
-					   vec<edge> unconverted);
-extern basic_block emit_return_for_exit (edge exit_fallthru_edge,
-					 bool simple_p);
 
+#include "function.h"
+
 /* In shrink-wrap.c.  */
 extern bool requires_stack_frame_p (rtx_insn *, HARD_REG_SET, HARD_REG_SET);
 extern void prepare_shrink_wrap (basic_block entry_block);
Index: varasm.h
===================================================================
--- varasm.h	(revision 215266)
+++ varasm.h	(working copy)
@@ -66,4 +66,6 @@ 
    evaluate the property while walking a constructor for other purposes.  */
 extern bool constructor_static_from_elts_p (const_tree);
 
+extern void init_varasm_status (void);
+
 #endif  // GCC_VARASM_H
Index: genattrtab.c
===================================================================
--- genattrtab.c	(revision 215266)
+++ genattrtab.c	(working copy)
@@ -5126,6 +5126,7 @@ 
   fprintf (outf, "#include \"toplev.h\"\n");
   fprintf (outf, "#include \"flags.h\"\n");
   fprintf (outf, "#include \"function.h\"\n");
+  fprintf (outf, "#include \"predict.h\"\n");
   fprintf (outf, "\n");
   fprintf (outf, "#define operands recog_data.operand\n\n");
 }
Index: genconditions.c
===================================================================
--- genconditions.c	(revision 215266)
+++ genconditions.c	(working copy)
@@ -72,6 +72,9 @@ 
 #include \"insn-constants.h\"\n\
 #include \"rtl.h\"\n\
 #include \"tm_p.h\"\n\
+#include \"hashtab.h\"\n\
+#include \"hash-set.h\"\n\
+#include \"hard-reg-set.h\"\n\
 #include \"function.h\"\n\
 \n\
 /* Fake - insn-config.h doesn't exist yet.  */\n\
Index: genemit.c
===================================================================
--- genemit.c	(revision 215266)
+++ genemit.c	(working copy)
@@ -801,6 +801,12 @@ 
   printf ("#include \"calls.h\"\n");
   printf ("#include \"rtl.h\"\n");
   printf ("#include \"tm_p.h\"\n");
+  printf ("#include \"hashtab.h\"\n");
+  printf ("#include \"hash-set.h\"\n");
+  printf ("#include \"vec.h\"\n");
+  printf ("#include \"machmode.h\"\n");
+  printf ("#include \"hard-reg-set.h\"\n");
+  printf ("#include \"input.h\"\n");
   printf ("#include \"function.h\"\n");
   printf ("#include \"expr.h\"\n");
   printf ("#include \"optabs.h\"\n");
@@ -808,7 +814,6 @@ 
   printf ("#include \"flags.h\"\n");
   printf ("#include \"output.h\"\n");
   printf ("#include \"insn-config.h\"\n");
-  printf ("#include \"hard-reg-set.h\"\n");
   printf ("#include \"recog.h\"\n");
   printf ("#include \"resource.h\"\n");
   printf ("#include \"reload.h\"\n");
Index: gengtype.c
===================================================================
--- gengtype.c	(revision 215266)
+++ gengtype.c	(working copy)
@@ -1822,7 +1822,9 @@ 
     static const char *const ifiles[] = {
       "config.h", "system.h", "coretypes.h", "tm.h",
       "hashtab.h", "splay-tree.h", "obstack.h", "bitmap.h", "input.h",
-      "tree.h", "rtl.h", "wide-int.h", "function.h", "insn-config.h", "expr.h",
+      "tree.h", "rtl.h", "wide-int.h", "hashtab.h", "hash-set.h", "vec.h",
+      "machmode.h", "tm.h", "hard-reg-set.h", "input.h",
+      "function.h", "insn-config.h", "expr.h",
       "hard-reg-set.h", "basic-block.h", "cselib.h", "insn-addr.h",
       "optabs.h", "libfuncs.h", "debug.h", "ggc.h", "cgraph.h",
       "hash-table.h", "vec.h", "ggc.h", "basic-block.h",
Index: genoutput.c
===================================================================
--- genoutput.c	(revision 215266)
+++ genoutput.c	(working copy)
@@ -248,6 +248,7 @@ 
   printf ("#include \"output.h\"\n");
   printf ("#include \"target.h\"\n");
   printf ("#include \"tm-constrs.h\"\n");
+  printf ("#include \"predict.h\"\n");
 }
 
 static void
Index: genpreds.c
===================================================================
--- genpreds.c	(revision 215266)
+++ genpreds.c	(working copy)
@@ -1422,6 +1422,12 @@ 
 #include \"stor-layout.h\"\n\
 #include \"calls.h\"\n\
 #include \"tm_p.h\"\n\
+#include \"hashtab.h\"\n\
+#include \"hash-set.h\"\n\
+#include \"vec.h\"\n\
+#include \"machmode.h\"\n\
+#include \"hard-reg-set.h\"\n\
+#include \"input.h\"\n\
 #include \"function.h\"\n\
 #include \"insn-config.h\"\n\
 #include \"recog.h\"\n\
Index: genrecog.c
===================================================================
--- genrecog.c	(revision 215266)
+++ genrecog.c	(working copy)
@@ -2271,6 +2271,12 @@ 
 #include \"tm.h\"\n\
 #include \"rtl.h\"\n\
 #include \"tm_p.h\"\n\
+#include \"hashtab.h\"\n\
+#include \"hash-set.h\"\n\
+#include \"vec.h\"\n\
+#include \"machmode.h\"\n\
+#include \"hard-reg-set.h\"\n\
+#include \"input.h\"\n\
 #include \"function.h\"\n\
 #include \"insn-config.h\"\n\
 #include \"recog.h\"\n\
@@ -2282,6 +2288,7 @@ 
 #include \"reload.h\"\n\
 #include \"regs.h\"\n\
 #include \"tm-constrs.h\"\n\
+#include \"predict.h\"\n\
 \n");
 
   puts ("\n\
Index: alias.c
===================================================================
--- alias.c	(revision 215266)
+++ alias.c	(working copy)
@@ -27,11 +27,9 @@ 
 #include "varasm.h"
 #include "expr.h"
 #include "tm_p.h"
-#include "function.h"
 #include "alias.h"
 #include "emit-rtl.h"
 #include "regs.h"
-#include "hard-reg-set.h"
 #include "flags.h"
 #include "diagnostic-core.h"
 #include "cselib.h"
Index: auto-inc-dec.c
===================================================================
--- auto-inc-dec.c	(revision 215266)
+++ auto-inc-dec.c	(working copy)
@@ -25,12 +25,10 @@ 
 #include "tree.h"
 #include "rtl.h"
 #include "tm_p.h"
-#include "hard-reg-set.h"
 #include "basic-block.h"
 #include "insn-config.h"
 #include "regs.h"
 #include "flags.h"
-#include "function.h"
 #include "except.h"
 #include "diagnostic-core.h"
 #include "recog.h"
Index: basic-block.h
===================================================================
--- basic-block.h	(revision 215266)
+++ basic-block.h	(working copy)
@@ -22,6 +22,10 @@ 
 
 #include "predict.h"
 #include "vec.h"
+#include "hash-set.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 
 /* Use gcov_type to hold basic block counters.  Should be at least
Index: bb-reorder.c
===================================================================
--- bb-reorder.c	(revision 215266)
+++ bb-reorder.c	(working copy)
@@ -89,7 +89,6 @@ 
 #include "output.h"
 #include "fibheap.h"
 #include "target.h"
-#include "function.h"
 #include "tm_p.h"
 #include "obstack.h"
 #include "expr.h"
Index: bt-load.c
===================================================================
--- bt-load.c	(revision 215266)
+++ bt-load.c	(working copy)
@@ -23,7 +23,6 @@ 
 #include "coretypes.h"
 #include "tm.h"
 #include "rtl.h"
-#include "hard-reg-set.h"
 #include "regs.h"
 #include "fibheap.h"
 #include "target.h"
@@ -30,7 +29,6 @@ 
 #include "expr.h"
 #include "flags.h"
 #include "insn-attr.h"
-#include "function.h"
 #include "except.h"
 #include "tm_p.h"
 #include "diagnostic-core.h"
Index: builtins.c
===================================================================
--- builtins.c	(revision 215266)
+++ builtins.c	(working copy)
@@ -21,7 +21,6 @@ 
 #include "system.h"
 #include "coretypes.h"
 #include "tm.h"
-#include "machmode.h"
 #include "rtl.h"
 #include "tree.h"
 #include "stringpool.h"
@@ -38,9 +37,7 @@ 
 #include "gimple.h"
 #include "flags.h"
 #include "regs.h"
-#include "hard-reg-set.h"
 #include "except.h"
-#include "function.h"
 #include "insn-config.h"
 #include "expr.h"
 #include "optabs.h"
Index: caller-save.c
===================================================================
--- caller-save.c	(revision 215266)
+++ caller-save.c	(working copy)
@@ -25,12 +25,10 @@ 
 #include "regs.h"
 #include "insn-config.h"
 #include "flags.h"
-#include "hard-reg-set.h"
 #include "recog.h"
 #include "basic-block.h"
 #include "df.h"
 #include "reload.h"
-#include "function.h"
 #include "expr.h"
 #include "diagnostic-core.h"
 #include "tm_p.h"
Index: calls.c
===================================================================
--- calls.c	(revision 215266)
+++ calls.c	(working copy)
@@ -37,7 +37,6 @@ 
 #include "expr.h"
 #include "optabs.h"
 #include "libfuncs.h"
-#include "function.h"
 #include "regs.h"
 #include "diagnostic-core.h"
 #include "output.h"
Index: cfgbuild.c
===================================================================
--- cfgbuild.c	(revision 215266)
+++ cfgbuild.c	(working copy)
@@ -24,11 +24,9 @@ 
 #include "tm.h"
 #include "tree.h"
 #include "rtl.h"
-#include "hard-reg-set.h"
 #include "basic-block.h"
 #include "regs.h"
 #include "flags.h"
-#include "function.h"
 #include "except.h"
 #include "expr.h"
 #include "diagnostic-core.h"
Index: cfgcleanup.c
===================================================================
--- cfgcleanup.c	(revision 215266)
+++ cfgcleanup.c	(working copy)
@@ -35,7 +35,6 @@ 
 #include "tm.h"
 #include "rtl.h"
 #include "tree.h"
-#include "hard-reg-set.h"
 #include "regs.h"
 #include "insn-config.h"
 #include "flags.h"
Index: cfgexpand.c
===================================================================
--- cfgexpand.c	(revision 215266)
+++ cfgexpand.c	(working copy)
@@ -31,11 +31,9 @@ 
 #include "print-tree.h"
 #include "tm_p.h"
 #include "basic-block.h"
-#include "function.h"
 #include "expr.h"
 #include "langhooks.h"
 #include "bitmap.h"
-#include "hash-set.h"
 #include "tree-ssa-alias.h"
 #include "internal-fn.h"
 #include "tree-eh.h"
Index: cfgloop.c
===================================================================
--- cfgloop.c	(revision 215266)
+++ cfgloop.c	(working copy)
@@ -22,13 +22,12 @@ 
 #include "coretypes.h"
 #include "tm.h"
 #include "rtl.h"
-#include "function.h"
+#include "hash-set.h"
 #include "basic-block.h"
 #include "cfgloop.h"
 #include "diagnostic-core.h"
 #include "flags.h"
 #include "tree.h"
-#include "hash-set.h"
 #include "tree-ssa-alias.h"
 #include "internal-fn.h"
 #include "gimple-expr.h"
Index: cfgloop.h
===================================================================
--- cfgloop.h	(revision 215266)
+++ cfgloop.h	(working copy)
@@ -24,6 +24,8 @@ 
 #include "wide-int.h"
 #include "bitmap.h"
 #include "sbitmap.h"
+#include "tm.h"
+#include "hard-reg-set.h"
 #include "function.h"
 
 /* Structure to hold decision about unrolling/peeling.  */
Index: cfgrtl.c
===================================================================
--- cfgrtl.c	(revision 215266)
+++ cfgrtl.c	(working copy)
@@ -40,14 +40,11 @@ 
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
-#include "tm.h"
 #include "tree.h"
-#include "hard-reg-set.h"
 #include "basic-block.h"
 #include "bb-reorder.h"
 #include "regs.h"
 #include "flags.h"
-#include "function.h"
 #include "except.h"
 #include "rtl-error.h"
 #include "tm_p.h"
Index: cgraph.h
===================================================================
--- cgraph.h	(revision 215266)
+++ cgraph.h	(working copy)
@@ -24,9 +24,7 @@ 
 #include "hash-map.h"
 #include "is-a.h"
 #include "plugin-api.h"
-#include "vec.h"
 #include "basic-block.h"
-#include "function.h"
 #include "ipa-ref.h"
 #include "dumpfile.h"
 
Index: cgraphclones.c
===================================================================
--- cgraphclones.c	(revision 215266)
+++ cgraphclones.c	(working copy)
@@ -71,6 +71,7 @@ 
 #include "rtl.h"
 #include "tree.h"
 #include "stringpool.h"
+#include "hard-reg-set.h"
 #include "function.h"
 #include "emit-rtl.h"
 #include "basic-block.h"
@@ -91,7 +92,6 @@ 
 #include "diagnostic.h"
 #include "params.h"
 #include "intl.h"
-#include "function.h"
 #include "ipa-prop.h"
 #include "tree-iterator.h"
 #include "tree-dump.h"
Index: cgraphunit.c
===================================================================
--- cgraphunit.c	(revision 215266)
+++ cgraphunit.c	(working copy)
@@ -191,7 +191,6 @@ 
 #include "params.h"
 #include "fibheap.h"
 #include "intl.h"
-#include "function.h"
 #include "ipa-prop.h"
 #include "tree-iterator.h"
 #include "tree-pass.h"
Index: combine-stack-adj.c
===================================================================
--- combine-stack-adj.c	(revision 215266)
+++ combine-stack-adj.c	(working copy)
@@ -47,9 +47,7 @@ 
 #include "insn-config.h"
 #include "recog.h"
 #include "regs.h"
-#include "hard-reg-set.h"
 #include "flags.h"
-#include "function.h"
 #include "expr.h"
 #include "basic-block.h"
 #include "df.h"
Index: combine.c
===================================================================
--- combine.c	(revision 215266)
+++ combine.c	(working copy)
@@ -85,10 +85,8 @@ 
 #include "tm_p.h"
 #include "flags.h"
 #include "regs.h"
-#include "hard-reg-set.h"
 #include "basic-block.h"
 #include "insn-config.h"
-#include "function.h"
 /* Include expr.h after insn-config.h so we get HAVE_conditional_move.  */
 #include "expr.h"
 #include "insn-attr.h"
Index: coverage.c
===================================================================
--- coverage.c	(revision 215266)
+++ coverage.c	(working copy)
@@ -36,7 +36,6 @@ 
 #include "output.h"
 #include "regs.h"
 #include "expr.h"
-#include "function.h"
 #include "basic-block.h"
 #include "toplev.h"
 #include "tm_p.h"
Index: cprop.c
===================================================================
--- cprop.c	(revision 215266)
+++ cprop.c	(working copy)
@@ -28,12 +28,10 @@ 
 #include "tree.h"
 #include "tm_p.h"
 #include "regs.h"
-#include "hard-reg-set.h"
 #include "flags.h"
 #include "insn-config.h"
 #include "recog.h"
 #include "basic-block.h"
-#include "function.h"
 #include "expr.h"
 #include "except.h"
 #include "params.h"
@@ -41,7 +39,6 @@ 
 #include "intl.h"
 #include "obstack.h"
 #include "tree-pass.h"
-#include "hashtab.h"
 #include "df.h"
 #include "dbgcnt.h"
 #include "target.h"
Index: cse.c
===================================================================
--- cse.c	(revision 215266)
+++ cse.c	(working copy)
@@ -23,13 +23,11 @@ 
 #include "tm.h"
 #include "rtl.h"
 #include "tm_p.h"
-#include "hard-reg-set.h"
 #include "regs.h"
 #include "basic-block.h"
 #include "flags.h"
 #include "insn-config.h"
 #include "recog.h"
-#include "function.h"
 #include "expr.h"
 #include "diagnostic-core.h"
 #include "toplev.h"
@@ -41,7 +39,6 @@ 
 #include "tree-pass.h"
 #include "df.h"
 #include "dbgcnt.h"
-#include "hash-set.h"
 #include "rtl-iter.h"
 
 /* The basic idea of common subexpression elimination is to go
Index: cselib.c
===================================================================
--- cselib.c	(revision 215266)
+++ cselib.c	(working copy)
@@ -26,7 +26,6 @@ 
 #include "tree.h"/* FIXME: For hashing DEBUG_EXPR & friends.  */
 #include "tm_p.h"
 #include "regs.h"
-#include "hard-reg-set.h"
 #include "flags.h"
 #include "insn-config.h"
 #include "recog.h"
Index: dbxout.c
===================================================================
--- dbxout.c	(revision 215266)
+++ dbxout.c	(working copy)
@@ -86,7 +86,6 @@ 
 #include "tm_p.h"
 #include "ggc.h"
 #include "debug.h"
-#include "function.h"
 #include "target.h"
 #include "common/common-target.h"
 #include "langhooks.h"
Index: ddg.c
===================================================================
--- ddg.c	(revision 215266)
+++ ddg.c	(working copy)
@@ -26,9 +26,7 @@ 
 #include "diagnostic-core.h"
 #include "rtl.h"
 #include "tm_p.h"
-#include "hard-reg-set.h"
 #include "regs.h"
-#include "function.h"
 #include "flags.h"
 #include "insn-config.h"
 #include "insn-attr.h"
Index: df-core.c
===================================================================
--- df-core.c	(revision 215266)
+++ df-core.c	(working copy)
@@ -382,11 +382,10 @@ 
 #include "tm_p.h"
 #include "insn-config.h"
 #include "recog.h"
-#include "function.h"
+#include "hard-reg-set.h"
 #include "regs.h"
 #include "alloc-pool.h"
 #include "flags.h"
-#include "hard-reg-set.h"
 #include "basic-block.h"
 #include "sbitmap.h"
 #include "bitmap.h"
Index: df-problems.c
===================================================================
--- df-problems.c	(revision 215266)
+++ df-problems.c	(working copy)
@@ -29,11 +29,10 @@ 
 #include "tm_p.h"
 #include "insn-config.h"
 #include "recog.h"
-#include "function.h"
+#include "hard-reg-set.h"
 #include "regs.h"
 #include "alloc-pool.h"
 #include "flags.h"
-#include "hard-reg-set.h"
 #include "basic-block.h"
 #include "sbitmap.h"
 #include "bitmap.h"
Index: df-scan.c
===================================================================
--- df-scan.c	(revision 215266)
+++ df-scan.c	(working copy)
@@ -29,11 +29,10 @@ 
 #include "tm_p.h"
 #include "insn-config.h"
 #include "recog.h"
-#include "function.h"
+#include "hard-reg-set.h"
 #include "regs.h"
 #include "alloc-pool.h"
 #include "flags.h"
-#include "hard-reg-set.h"
 #include "basic-block.h"
 #include "sbitmap.h"
 #include "bitmap.h"
Index: dojump.c
===================================================================
--- dojump.c	(revision 215266)
+++ dojump.c	(working copy)
@@ -25,7 +25,6 @@ 
 #include "tree.h"
 #include "stor-layout.h"
 #include "flags.h"
-#include "function.h"
 #include "insn-config.h"
 #include "insn-attr.h"
 /* Include expr.h after insn-config.h so we get HAVE_conditional_move.  */
Index: dwarf2cfi.c
===================================================================
--- dwarf2cfi.c	(revision 215266)
+++ dwarf2cfi.c	(working copy)
@@ -26,7 +26,6 @@ 
 #include "rtl.h"
 #include "tree.h"
 #include "stor-layout.h"
-#include "function.h"
 #include "basic-block.h"
 #include "dwarf2.h"
 #include "dwarf2out.h"
Index: dwarf2out.c
===================================================================
--- dwarf2out.c	(revision 215266)
+++ dwarf2out.c	(working copy)
@@ -64,17 +64,16 @@ 
 #include "stringpool.h"
 #include "stor-layout.h"
 #include "varasm.h"
+#include "hard-reg-set.h"
 #include "function.h"
 #include "emit-rtl.h"
 #include "hash-table.h"
 #include "version.h"
 #include "flags.h"
-#include "hard-reg-set.h"
 #include "regs.h"
 #include "rtlhash.h"
 #include "insn-config.h"
 #include "reload.h"
-#include "function.h"
 #include "output.h"
 #include "expr.h"
 #include "except.h"
@@ -91,7 +90,6 @@ 
 #include "common/common-target.h"
 #include "langhooks.h"
 #include "cgraph.h"
-#include "input.h"
 #include "ira.h"
 #include "lra.h"
 #include "dumpfile.h"
Index: emit-rtl.c
===================================================================
--- emit-rtl.c	(revision 215266)
+++ emit-rtl.c	(working copy)
@@ -43,12 +43,9 @@ 
 #include "tree-eh.h"
 #include "tm_p.h"
 #include "flags.h"
-#include "function.h"
 #include "stringpool.h"
 #include "expr.h"
 #include "regs.h"
-#include "hard-reg-set.h"
-#include "hashtab.h"
 #include "insn-config.h"
 #include "recog.h"
 #include "bitmap.h"
Index: except.c
===================================================================
--- except.c	(revision 215266)
+++ except.c	(working copy)
@@ -118,12 +118,11 @@ 
 #include "stringpool.h"
 #include "stor-layout.h"
 #include "flags.h"
-#include "function.h"
+#include "hard-reg-set.h"
 #include "expr.h"
 #include "libfuncs.h"
 #include "insn-config.h"
 #include "except.h"
-#include "hard-reg-set.h"
 #include "output.h"
 #include "dwarf2asm.h"
 #include "dwarf2out.h"
Index: explow.c
===================================================================
--- explow.c	(revision 215266)
+++ explow.c	(working copy)
@@ -29,11 +29,10 @@ 
 #include "tm_p.h"
 #include "flags.h"
 #include "except.h"
-#include "function.h"
+#include "hard-reg-set.h"
 #include "expr.h"
 #include "optabs.h"
 #include "libfuncs.h"
-#include "hard-reg-set.h"
 #include "insn-config.h"
 #include "ggc.h"
 #include "recog.h"
Index: expr.c
===================================================================
--- expr.c	(revision 215266)
+++ expr.c	(working copy)
@@ -21,7 +21,6 @@ 
 #include "system.h"
 #include "coretypes.h"
 #include "tm.h"
-#include "machmode.h"
 #include "rtl.h"
 #include "tree.h"
 #include "stringpool.h"
@@ -30,9 +29,7 @@ 
 #include "varasm.h"
 #include "flags.h"
 #include "regs.h"
-#include "hard-reg-set.h"
 #include "except.h"
-#include "function.h"
 #include "insn-config.h"
 #include "insn-attr.h"
 /* Include expr.h after insn-config.h so we get HAVE_conditional_move.  */
Index: final.c
===================================================================
--- final.c	(revision 215266)
+++ final.c	(working copy)
@@ -60,7 +60,6 @@ 
 #include "flags.h"
 #include "output.h"
 #include "except.h"
-#include "function.h"
 #include "rtl-error.h"
 #include "toplev.h" /* exact_log2, floor_log2 */
 #include "reload.h"
Index: function.c
===================================================================
--- function.c	(revision 215266)
+++ function.c	(working copy)
@@ -42,16 +42,15 @@ 
 #include "stringpool.h"
 #include "flags.h"
 #include "except.h"
+#include "hard-reg-set.h"
 #include "function.h"
 #include "expr.h"
 #include "optabs.h"
 #include "libfuncs.h"
 #include "regs.h"
-#include "hard-reg-set.h"
 #include "insn-config.h"
 #include "recog.h"
 #include "output.h"
-#include "hashtab.h"
 #include "tm_p.h"
 #include "langhooks.h"
 #include "target.h"
Index: gcse.c
===================================================================
--- gcse.c	(revision 215266)
+++ gcse.c	(working copy)
@@ -149,7 +149,6 @@ 
 #include "insn-config.h"
 #include "recog.h"
 #include "basic-block.h"
-#include "function.h"
 #include "expr.h"
 #include "except.h"
 #include "ggc.h"
Index: gimple-fold.c
===================================================================
--- gimple-fold.c	(revision 215266)
+++ gimple-fold.c	(working copy)
@@ -21,7 +21,6 @@ 
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
-#include "tm.h"
 #include "tree.h"
 #include "stringpool.h"
 #include "expr.h"
@@ -28,7 +27,6 @@ 
 #include "stmt.h"
 #include "stor-layout.h"
 #include "flags.h"
-#include "function.h"
 #include "dumpfile.h"
 #include "bitmap.h"
 #include "basic-block.h"
Index: gimple-low.c
===================================================================
--- gimple-low.c	(revision 215266)
+++ gimple-low.c	(working copy)
@@ -21,7 +21,6 @@ 
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
-#include "tm.h"
 #include "tree.h"
 #include "tree-nested.h"
 #include "calls.h"
@@ -35,7 +34,6 @@ 
 #include "tree-iterator.h"
 #include "tree-inline.h"
 #include "flags.h"
-#include "function.h"
 #include "diagnostic-core.h"
 #include "tree-pass.h"
 #include "langhooks.h"
Index: gimple-streamer.h
===================================================================
--- gimple-streamer.h	(revision 215266)
+++ gimple-streamer.h	(working copy)
@@ -23,7 +23,6 @@ 
 #define GCC_GIMPLE_STREAMER_H
 
 #include "basic-block.h"
-#include "function.h"
 #include "lto-streamer.h"
 
 /* In gimple-streamer-in.c  */
Index: haifa-sched.c
===================================================================
--- haifa-sched.c	(revision 215266)
+++ haifa-sched.c	(working copy)
@@ -131,7 +131,6 @@ 
 #include "rtl.h"
 #include "tm_p.h"
 #include "regs.h"
-#include "function.h"
 #include "flags.h"
 #include "insn-config.h"
 #include "insn-attr.h"
Index: ifcvt.c
===================================================================
--- ifcvt.c	(revision 215266)
+++ ifcvt.c	(working copy)
@@ -24,12 +24,10 @@ 
 
 #include "rtl.h"
 #include "regs.h"
-#include "function.h"
 #include "flags.h"
 #include "insn-config.h"
 #include "recog.h"
 #include "except.h"
-#include "hard-reg-set.h"
 #include "basic-block.h"
 #include "expr.h"
 #include "output.h"
@@ -40,7 +38,6 @@ 
 #include "target.h"
 #include "tree-pass.h"
 #include "df.h"
-#include "vec.h"
 #include "dbgcnt.h"
 #include "shrink-wrap.h"
 
Index: ira.c
===================================================================
--- ira.c	(revision 215266)
+++ ira.c	(working copy)
@@ -375,7 +375,6 @@ 
 #include "flags.h"
 #include "obstack.h"
 #include "bitmap.h"
-#include "hard-reg-set.h"
 #include "basic-block.h"
 #include "df.h"
 #include "expr.h"
@@ -386,7 +385,6 @@ 
 #include "except.h"
 #include "reload.h"
 #include "diagnostic-core.h"
-#include "function.h"
 #include "ggc.h"
 #include "ira-int.h"
 #include "lra.h"
Index: jump.c
===================================================================
--- jump.c	(revision 215266)
+++ jump.c	(working copy)
@@ -40,12 +40,10 @@ 
 #include "rtl.h"
 #include "tm_p.h"
 #include "flags.h"
-#include "hard-reg-set.h"
 #include "regs.h"
 #include "insn-config.h"
 #include "insn-attr.h"
 #include "recog.h"
-#include "function.h"
 #include "basic-block.h"
 #include "expr.h"
 #include "except.h"
Index: lcm.c
===================================================================
--- lcm.c	(revision 215266)
+++ lcm.c	(working copy)
@@ -54,13 +54,11 @@ 
 #include "tm.h"
 #include "rtl.h"
 #include "regs.h"
-#include "hard-reg-set.h"
 #include "flags.h"
 #include "insn-config.h"
 #include "recog.h"
 #include "basic-block.h"
 #include "tm_p.h"
-#include "function.h"
 #include "sbitmap.h"
 #include "dumpfile.h"
 
Index: loop-invariant.c
===================================================================
--- loop-invariant.c	(revision 215266)
+++ loop-invariant.c	(working copy)
@@ -47,7 +47,6 @@ 
 #include "expr.h"
 #include "recog.h"
 #include "target.h"
-#include "function.h"
 #include "flags.h"
 #include "df.h"
 #include "hash-table.h"
Index: lra-assigns.c
===================================================================
--- lra-assigns.c	(revision 215266)
+++ lra-assigns.c	(working copy)
@@ -78,7 +78,6 @@ 
 #include "system.h"
 #include "coretypes.h"
 #include "tm.h"
-#include "hard-reg-set.h"
 #include "rtl.h"
 #include "rtl-error.h"
 #include "tm_p.h"
@@ -87,7 +86,6 @@ 
 #include "recog.h"
 #include "output.h"
 #include "regs.h"
-#include "function.h"
 #include "expr.h"
 #include "basic-block.h"
 #include "except.h"
Index: lra-coalesce.c
===================================================================
--- lra-coalesce.c	(revision 215266)
+++ lra-coalesce.c	(working copy)
@@ -52,9 +52,7 @@ 
 #include "recog.h"
 #include "output.h"
 #include "regs.h"
-#include "hard-reg-set.h"
 #include "flags.h"
-#include "function.h"
 #include "expr.h"
 #include "basic-block.h"
 #include "except.h"
Index: lra-constraints.c
===================================================================
--- lra-constraints.c	(revision 215266)
+++ lra-constraints.c	(working copy)
@@ -120,7 +120,6 @@ 
 #include "output.h"
 #include "addresses.h"
 #include "target.h"
-#include "function.h"
 #include "expr.h"
 #include "basic-block.h"
 #include "except.h"
Index: lra-eliminations.c
===================================================================
--- lra-eliminations.c	(revision 215266)
+++ lra-eliminations.c	(working copy)
@@ -65,7 +65,6 @@ 
 #include "output.h"
 #include "addresses.h"
 #include "target.h"
-#include "function.h"
 #include "expr.h"
 #include "basic-block.h"
 #include "except.h"
Index: lra-lives.c
===================================================================
--- lra-lives.c	(revision 215266)
+++ lra-lives.c	(working copy)
@@ -36,7 +36,6 @@ 
 #include "recog.h"
 #include "output.h"
 #include "regs.h"
-#include "function.h"
 #include "expr.h"
 #include "basic-block.h"
 #include "except.h"
Index: lra-spills.c
===================================================================
--- lra-spills.c	(revision 215266)
+++ lra-spills.c	(working copy)
@@ -65,9 +65,7 @@ 
 #include "recog.h"
 #include "output.h"
 #include "regs.h"
-#include "hard-reg-set.h"
 #include "flags.h"
-#include "function.h"
 #include "expr.h"
 #include "basic-block.h"
 #include "except.h"
Index: lra.c
===================================================================
--- lra.c	(revision 215266)
+++ lra.c	(working copy)
@@ -106,7 +106,6 @@ 
 #include "output.h"
 #include "addresses.h"
 #include "flags.h"
-#include "function.h"
 #include "expr.h"
 #include "basic-block.h"
 #include "except.h"
@@ -113,7 +112,6 @@ 
 #include "tree-pass.h"
 #include "timevar.h"
 #include "target.h"
-#include "vec.h"
 #include "ira.h"
 #include "lra-int.h"
 #include "df.h"
Index: lto-cgraph.c
===================================================================
--- lto-cgraph.c	(revision 215266)
+++ lto-cgraph.c	(working copy)
@@ -23,7 +23,6 @@ 
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
-#include "tm.h"
 #include "tree.h"
 #include "stringpool.h"
 #include "basic-block.h"
@@ -35,12 +34,8 @@ 
 #include "expr.h"
 #include "flags.h"
 #include "params.h"
-#include "input.h"
-#include "hashtab.h"
-#include "hash-set.h"
 #include "langhooks.h"
 #include "bitmap.h"
-#include "function.h"
 #include "diagnostic-core.h"
 #include "except.h"
 #include "timevar.h"
Index: lto-section-in.c
===================================================================
--- lto-section-in.c	(revision 215266)
+++ lto-section-in.c	(working copy)
@@ -22,7 +22,6 @@ 
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
-#include "tm.h"
 #include "tree.h"
 #include "basic-block.h"
 #include "tree-ssa-alias.h"
@@ -33,9 +32,6 @@ 
 #include "expr.h"
 #include "flags.h"
 #include "params.h"
-#include "input.h"
-#include "hashtab.h"
-#include "function.h"
 #include "diagnostic-core.h"
 #include "except.h"
 #include "timevar.h"
Index: lto-section-out.c
===================================================================
--- lto-section-out.c	(revision 215266)
+++ lto-section-out.c	(working copy)
@@ -22,7 +22,6 @@ 
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
-#include "tm.h"
 #include "tree.h"
 #include "basic-block.h"
 #include "tree-ssa-alias.h"
@@ -32,9 +31,6 @@ 
 #include "gimple.h"
 #include "expr.h"
 #include "params.h"
-#include "input.h"
-#include "hashtab.h"
-#include "function.h"
 #include "except.h"
 #include "langhooks.h"
 #include "data-streamer.h"
Index: lto-streamer-in.c
===================================================================
--- lto-streamer-in.c	(revision 215266)
+++ lto-streamer-in.c	(working copy)
@@ -23,7 +23,6 @@ 
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
-#include "tm.h"
 #include "toplev.h"
 #include "tree.h"
 #include "stringpool.h"
@@ -30,8 +29,6 @@ 
 #include "expr.h"
 #include "flags.h"
 #include "params.h"
-#include "input.h"
-#include "hashtab.h"
 #include "basic-block.h"
 #include "tree-ssa-alias.h"
 #include "internal-fn.h"
@@ -46,7 +43,6 @@ 
 #include "tree-dfa.h"
 #include "tree-ssa.h"
 #include "tree-pass.h"
-#include "function.h"
 #include "diagnostic.h"
 #include "except.h"
 #include "debug.h"
Index: lto-streamer-out.c
===================================================================
--- lto-streamer-out.c	(revision 215266)
+++ lto-streamer-out.c	(working copy)
@@ -23,7 +23,6 @@ 
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
-#include "tm.h"
 #include "tree.h"
 #include "stor-layout.h"
 #include "stringpool.h"
@@ -30,9 +29,6 @@ 
 #include "expr.h"
 #include "flags.h"
 #include "params.h"
-#include "input.h"
-#include "hashtab.h"
-#include "hash-set.h"
 #include "basic-block.h"
 #include "tree-ssa-alias.h"
 #include "internal-fn.h"
@@ -43,7 +39,6 @@ 
 #include "gimple-ssa.h"
 #include "tree-ssanames.h"
 #include "tree-pass.h"
-#include "function.h"
 #include "diagnostic-core.h"
 #include "inchash.h"
 #include "except.h"
Index: mode-switching.c
===================================================================
--- mode-switching.c	(revision 215266)
+++ mode-switching.c	(working copy)
@@ -20,17 +20,14 @@ 
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
-#include "tm.h"
 #include "target.h"
 #include "rtl.h"
 #include "regs.h"
-#include "hard-reg-set.h"
 #include "flags.h"
 #include "insn-config.h"
 #include "recog.h"
 #include "basic-block.h"
 #include "tm_p.h"
-#include "function.h"
 #include "tree-pass.h"
 #include "df.h"
 #include "emit-rtl.h"
Index: modulo-sched.c
===================================================================
--- modulo-sched.c	(revision 215266)
+++ modulo-sched.c	(working copy)
@@ -26,9 +26,7 @@ 
 #include "diagnostic-core.h"
 #include "rtl.h"
 #include "tm_p.h"
-#include "hard-reg-set.h"
 #include "regs.h"
-#include "function.h"
 #include "flags.h"
 #include "insn-config.h"
 #include "insn-attr.h"
Index: omp-low.c
===================================================================
--- omp-low.c	(revision 215266)
+++ omp-low.c	(working copy)
@@ -55,7 +55,6 @@ 
 #include "tree-dfa.h"
 #include "tree-ssa.h"
 #include "flags.h"
-#include "function.h"
 #include "expr.h"
 #include "tree-pass.h"
 #include "except.h"
Index: optabs.c
===================================================================
--- optabs.c	(revision 215266)
+++ optabs.c	(working copy)
@@ -34,7 +34,6 @@ 
 #include "varasm.h"
 #include "tm_p.h"
 #include "flags.h"
-#include "function.h"
 #include "except.h"
 #include "expr.h"
 #include "optabs.h"
Index: passes.c
===================================================================
--- passes.c	(revision 215266)
+++ passes.c	(working copy)
@@ -27,7 +27,6 @@ 
 #include "coretypes.h"
 #include "tm.h"
 #include "line-map.h"
-#include "input.h"
 #include "tree.h"
 #include "varasm.h"
 #include "rtl.h"
@@ -36,11 +35,9 @@ 
 #include "insn-attr.h"
 #include "insn-config.h"
 #include "insn-flags.h"
-#include "hard-reg-set.h"
 #include "recog.h"
 #include "output.h"
 #include "except.h"
-#include "function.h"
 #include "toplev.h"
 #include "expr.h"
 #include "basic-block.h"
Index: postreload-gcse.c
===================================================================
--- postreload-gcse.c	(revision 215266)
+++ postreload-gcse.c	(working copy)
@@ -28,17 +28,14 @@ 
 #include "tree.h"
 #include "tm_p.h"
 #include "regs.h"
-#include "hard-reg-set.h"
 #include "flags.h"
 #include "insn-config.h"
 #include "recog.h"
 #include "basic-block.h"
-#include "function.h"
 #include "expr.h"
 #include "except.h"
 #include "intl.h"
 #include "obstack.h"
-#include "hashtab.h"
 #include "params.h"
 #include "target.h"
 #include "tree-pass.h"
Index: postreload.c
===================================================================
--- postreload.c	(revision 215266)
+++ postreload.c	(working copy)
@@ -22,14 +22,11 @@ 
 #include "coretypes.h"
 #include "tm.h"
 
-#include "machmode.h"
-#include "hard-reg-set.h"
 #include "rtl.h"
 #include "tm_p.h"
 #include "obstack.h"
 #include "insn-config.h"
 #include "flags.h"
-#include "function.h"
 #include "expr.h"
 #include "optabs.h"
 #include "regs.h"
Index: predict.c
===================================================================
--- predict.c	(revision 215266)
+++ predict.c	(working copy)
@@ -35,12 +35,10 @@ 
 #include "calls.h"
 #include "rtl.h"
 #include "tm_p.h"
-#include "hard-reg-set.h"
 #include "basic-block.h"
 #include "insn-config.h"
 #include "regs.h"
 #include "flags.h"
-#include "function.h"
 #include "except.h"
 #include "diagnostic-core.h"
 #include "recog.h"
Index: profile.c
===================================================================
--- profile.c	(revision 215266)
+++ profile.c	(working copy)
@@ -55,7 +55,6 @@ 
 #include "flags.h"
 #include "regs.h"
 #include "expr.h"
-#include "function.h"
 #include "basic-block.h"
 #include "diagnostic-core.h"
 #include "coverage.h"
Index: recog.c
===================================================================
--- recog.c	(revision 215266)
+++ recog.c	(working copy)
@@ -27,12 +27,10 @@ 
 #include "tm_p.h"
 #include "insn-config.h"
 #include "insn-attr.h"
-#include "hard-reg-set.h"
 #include "recog.h"
 #include "regs.h"
 #include "addresses.h"
 #include "expr.h"
-#include "function.h"
 #include "flags.h"
 #include "basic-block.h"
 #include "reload.h"
Index: ree.c
===================================================================
--- ree.c	(revision 215266)
+++ ree.c	(working copy)
@@ -224,10 +224,8 @@ 
 #include "tm_p.h"
 #include "flags.h"
 #include "regs.h"
-#include "hard-reg-set.h"
 #include "basic-block.h"
 #include "insn-config.h"
-#include "function.h"
 #include "expr.h"
 #include "insn-attr.h"
 #include "recog.h"
Index: reg-stack.c
===================================================================
--- reg-stack.c	(revision 215266)
+++ reg-stack.c	(working copy)
@@ -157,10 +157,9 @@ 
 #include "varasm.h"
 #include "rtl-error.h"
 #include "tm_p.h"
-#include "function.h"
+#include "hard-reg-set.h"
 #include "insn-config.h"
 #include "regs.h"
-#include "hard-reg-set.h"
 #include "flags.h"
 #include "recog.h"
 #include "basic-block.h"
Index: regcprop.c
===================================================================
--- regcprop.c	(revision 215266)
+++ regcprop.c	(working copy)
@@ -26,10 +26,8 @@ 
 #include "insn-config.h"
 #include "regs.h"
 #include "addresses.h"
-#include "hard-reg-set.h"
 #include "basic-block.h"
 #include "reload.h"
-#include "function.h"
 #include "recog.h"
 #include "flags.h"
 #include "diagnostic-core.h"
Index: reginfo.c
===================================================================
--- reginfo.c	(revision 215266)
+++ reginfo.c	(working copy)
@@ -29,7 +29,6 @@ 
 #include "system.h"
 #include "coretypes.h"
 #include "tm.h"
-#include "hard-reg-set.h"
 #include "tree.h"
 #include "rtl.h"
 #include "expr.h"
@@ -38,13 +37,11 @@ 
 #include "basic-block.h"
 #include "regs.h"
 #include "addresses.h"
-#include "function.h"
 #include "insn-config.h"
 #include "recog.h"
 #include "reload.h"
 #include "diagnostic-core.h"
 #include "output.h"
-#include "hashtab.h"
 #include "target.h"
 #include "tree-pass.h"
 #include "df.h"
Index: regrename.c
===================================================================
--- regrename.c	(revision 215266)
+++ regrename.c	(working copy)
@@ -26,11 +26,9 @@ 
 #include "insn-config.h"
 #include "regs.h"
 #include "addresses.h"
-#include "hard-reg-set.h"
 #include "basic-block.h"
 #include "reload.h"
 #include "output.h"
-#include "function.h"
 #include "recog.h"
 #include "flags.h"
 #include "obstack.h"
Index: reload.c
===================================================================
--- reload.c	(revision 215266)
+++ reload.c	(working copy)
@@ -102,9 +102,7 @@ 
 #include "reload.h"
 #include "regs.h"
 #include "addresses.h"
-#include "hard-reg-set.h"
 #include "flags.h"
-#include "function.h"
 #include "params.h"
 #include "target.h"
 #include "ira.h"
Index: reload1.c
===================================================================
--- reload1.c	(revision 215266)
+++ reload1.c	(working copy)
@@ -22,8 +22,6 @@ 
 #include "coretypes.h"
 #include "tm.h"
 
-#include "machmode.h"
-#include "hard-reg-set.h"
 #include "rtl-error.h"
 #include "tm_p.h"
 #include "obstack.h"
@@ -30,7 +28,6 @@ 
 #include "insn-config.h"
 #include "ggc.h"
 #include "flags.h"
-#include "function.h"
 #include "expr.h"
 #include "optabs.h"
 #include "regs.h"
Index: reorg.c
===================================================================
--- reorg.c	(revision 215266)
+++ reorg.c	(working copy)
@@ -108,10 +108,8 @@ 
 #include "rtl.h"
 #include "tm_p.h"
 #include "expr.h"
-#include "function.h"
 #include "insn-config.h"
 #include "conditions.h"
-#include "hard-reg-set.h"
 #include "basic-block.h"
 #include "regs.h"
 #include "recog.h"
Index: resource.c
===================================================================
--- resource.c	(revision 215266)
+++ resource.c	(working copy)
@@ -24,8 +24,6 @@ 
 #include "diagnostic-core.h"
 #include "rtl.h"
 #include "tm_p.h"
-#include "hard-reg-set.h"
-#include "function.h"
 #include "regs.h"
 #include "flags.h"
 #include "output.h"
Index: rtlanal.c
===================================================================
--- rtlanal.c	(revision 215266)
+++ rtlanal.c	(working copy)
@@ -23,7 +23,6 @@ 
 #include "coretypes.h"
 #include "tm.h"
 #include "diagnostic-core.h"
-#include "hard-reg-set.h"
 #include "rtl.h"
 #include "insn-config.h"
 #include "recog.h"
@@ -32,7 +31,6 @@ 
 #include "tm_p.h"
 #include "flags.h"
 #include "regs.h"
-#include "function.h"
 #include "df.h"
 #include "tree.h"
 #include "emit-rtl.h"  /* FIXME: Can go away once crtl is moved to rtl.h.  */
Index: sched-deps.c
===================================================================
--- sched-deps.c	(revision 215266)
+++ sched-deps.c	(working copy)
@@ -28,7 +28,6 @@ 
 #include "rtl.h"
 #include "tree.h"		/* FIXME: Used by call_may_noreturn_p.  */
 #include "tm_p.h"
-#include "hard-reg-set.h"
 #include "regs.h"
 #include "function.h"
 #include "flags.h"
Index: sched-ebb.c
===================================================================
--- sched-ebb.c	(revision 215266)
+++ sched-ebb.c	(working copy)
@@ -26,9 +26,7 @@ 
 #include "diagnostic-core.h"
 #include "rtl.h"
 #include "tm_p.h"
-#include "hard-reg-set.h"
 #include "regs.h"
-#include "function.h"
 #include "flags.h"
 #include "insn-config.h"
 #include "insn-attr.h"
Index: sched-rgn.c
===================================================================
--- sched-rgn.c	(revision 215266)
+++ sched-rgn.c	(working copy)
@@ -50,9 +50,7 @@ 
 #include "diagnostic-core.h"
 #include "rtl.h"
 #include "tm_p.h"
-#include "hard-reg-set.h"
 #include "regs.h"
-#include "function.h"
 #include "flags.h"
 #include "insn-config.h"
 #include "insn-attr.h"
Index: sel-sched-dump.c
===================================================================
--- sel-sched-dump.c	(revision 215266)
+++ sel-sched-dump.c	(working copy)
@@ -24,9 +24,7 @@ 
 #include "diagnostic-core.h"
 #include "rtl.h"
 #include "tm_p.h"
-#include "hard-reg-set.h"
 #include "regs.h"
-#include "function.h"
 #include "flags.h"
 #include "insn-config.h"
 #include "insn-attr.h"
Index: sel-sched-ir.c
===================================================================
--- sel-sched-ir.c	(revision 215266)
+++ sel-sched-ir.c	(working copy)
@@ -24,9 +24,7 @@ 
 #include "diagnostic-core.h"
 #include "rtl.h"
 #include "tm_p.h"
-#include "hard-reg-set.h"
 #include "regs.h"
-#include "function.h"
 #include "flags.h"
 #include "insn-config.h"
 #include "insn-attr.h"
@@ -37,7 +35,6 @@ 
 #include "sched-int.h"
 #include "ggc.h"
 #include "tree.h"
-#include "vec.h"
 #include "langhooks.h"
 #include "rtlhooks-def.h"
 #include "emit-rtl.h"  /* FIXME: Can go away once crtl is moved to rtl.h.  */
Index: sel-sched.c
===================================================================
--- sel-sched.c	(revision 215266)
+++ sel-sched.c	(working copy)
@@ -23,9 +23,7 @@ 
 #include "tm.h"
 #include "rtl-error.h"
 #include "tm_p.h"
-#include "hard-reg-set.h"
 #include "regs.h"
-#include "function.h"
 #include "flags.h"
 #include "insn-config.h"
 #include "insn-attr.h"
@@ -37,7 +35,6 @@ 
 #include "sched-int.h"
 #include "ggc.h"
 #include "tree.h"
-#include "vec.h"
 #include "langhooks.h"
 #include "rtlhooks-def.h"
 #include "emit-rtl.h"
Index: shrink-wrap.c
===================================================================
--- shrink-wrap.c	(revision 215266)
+++ shrink-wrap.c	(working copy)
@@ -30,16 +30,14 @@ 
 #include "stringpool.h"
 #include "flags.h"
 #include "except.h"
-#include "function.h"
+#include "hard-reg-set.h"
 #include "expr.h"
 #include "optabs.h"
 #include "libfuncs.h"
 #include "regs.h"
-#include "hard-reg-set.h"
 #include "insn-config.h"
 #include "recog.h"
 #include "output.h"
-#include "hashtab.h"
 #include "tm_p.h"
 #include "langhooks.h"
 #include "target.h"
Index: simplify-rtx.c
===================================================================
--- simplify-rtx.c	(revision 215266)
+++ simplify-rtx.c	(working copy)
@@ -27,15 +27,14 @@ 
 #include "varasm.h"
 #include "tm_p.h"
 #include "regs.h"
-#include "hard-reg-set.h"
 #include "flags.h"
 #include "insn-config.h"
 #include "recog.h"
-#include "function.h"
 #include "expr.h"
 #include "diagnostic-core.h"
 #include "ggc.h"
 #include "target.h"
+#include "predict.h"
 
 /* Simplification and canonicalization of RTL.  */
 
Index: statistics.c
===================================================================
--- statistics.c	(revision 215266)
+++ statistics.c	(working copy)
@@ -25,6 +25,11 @@ 
 #include "tree-dump.h"
 #include "statistics.h"
 #include "hash-table.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "context.h"
 #include "pass_manager.h"
Index: stmt.c
===================================================================
--- stmt.c	(revision 215266)
+++ stmt.c	(working copy)
@@ -28,7 +28,6 @@ 
 #include "tm.h"
 
 #include "rtl.h"
-#include "hard-reg-set.h"
 #include "tree.h"
 #include "varasm.h"
 #include "stor-layout.h"
@@ -35,12 +34,10 @@ 
 #include "tm_p.h"
 #include "flags.h"
 #include "except.h"
-#include "function.h"
 #include "insn-config.h"
 #include "expr.h"
 #include "libfuncs.h"
 #include "recog.h"
-#include "machmode.h"
 #include "diagnostic-core.h"
 #include "output.h"
 #include "langhooks.h"
@@ -47,7 +44,6 @@ 
 #include "predict.h"
 #include "optabs.h"
 #include "target.h"
-#include "hash-set.h"
 #include "basic-block.h"
 #include "tree-ssa-alias.h"
 #include "internal-fn.h"
Index: stor-layout.c
===================================================================
--- stor-layout.c	(revision 215266)
+++ stor-layout.c	(working copy)
@@ -30,7 +30,6 @@ 
 #include "rtl.h"
 #include "tm_p.h"
 #include "flags.h"
-#include "function.h"
 #include "expr.h"
 #include "diagnostic-core.h"
 #include "target.h"
Index: store-motion.c
===================================================================
--- store-motion.c	(revision 215266)
+++ store-motion.c	(working copy)
@@ -28,12 +28,10 @@ 
 #include "tree.h"
 #include "tm_p.h"
 #include "regs.h"
-#include "hard-reg-set.h"
 #include "flags.h"
 #include "insn-config.h"
 #include "recog.h"
 #include "basic-block.h"
-#include "function.h"
 #include "expr.h"
 #include "except.h"
 #include "ggc.h"
Index: symtab.c
===================================================================
--- symtab.c	(revision 215266)
+++ symtab.c	(working copy)
@@ -26,6 +26,7 @@ 
 #include "tree.h"
 #include "print-tree.h"
 #include "varasm.h"
+#include "hard-reg-set.h"
 #include "function.h"
 #include "emit-rtl.h"
 #include "basic-block.h"
@@ -36,7 +37,6 @@ 
 #include "gimple.h"
 #include "tree-inline.h"
 #include "langhooks.h"
-#include "hashtab.h"
 #include "cgraph.h"
 #include "diagnostic.h"
 #include "timevar.h"
Index: targhooks.c
===================================================================
--- targhooks.c	(revision 215266)
+++ targhooks.c	(working copy)
@@ -50,7 +50,6 @@ 
 #include "system.h"
 #include "coretypes.h"
 #include "tm.h"
-#include "machmode.h"
 #include "rtl.h"
 #include "tree.h"
 #include "stor-layout.h"
@@ -58,11 +57,9 @@ 
 #include "expr.h"
 #include "output.h"
 #include "diagnostic-core.h"
-#include "function.h"
 #include "target.h"
 #include "tm_p.h"
 #include "target-def.h"
-#include "hard-reg-set.h"
 #include "regs.h"
 #include "reload.h"
 #include "optabs.h"
Index: toplev.c
===================================================================
--- toplev.c	(revision 215266)
+++ toplev.c	(working copy)
@@ -27,7 +27,6 @@ 
 #include "coretypes.h"
 #include "tm.h"
 #include "line-map.h"
-#include "input.h"
 #include "tree.h"
 #include "varasm.h"
 #include "tree-inline.h"
@@ -39,11 +38,9 @@ 
 #include "insn-attr.h"
 #include "insn-config.h"
 #include "insn-flags.h"
-#include "hard-reg-set.h"
 #include "recog.h"
 #include "output.h"
 #include "except.h"
-#include "function.h"
 #include "toplev.h"
 #include "expr.h"
 #include "intl.h"
Index: trans-mem.c
===================================================================
--- trans-mem.c	(revision 215266)
+++ trans-mem.c	(working copy)
@@ -30,7 +30,6 @@ 
 #include "is-a.h"
 #include "gimple.h"
 #include "calls.h"
-#include "function.h"
 #include "rtl.h"
 #include "emit-rtl.h"
 #include "gimplify.h"
Index: tree-cfg.c
===================================================================
--- tree-cfg.c	(revision 215266)
+++ tree-cfg.c	(working copy)
@@ -31,7 +31,6 @@ 
 #include "tm_p.h"
 #include "basic-block.h"
 #include "flags.h"
-#include "function.h"
 #include "gimple-pretty-print.h"
 #include "tree-ssa-alias.h"
 #include "internal-fn.h"
Index: tree-cfgcleanup.c
===================================================================
--- tree-cfgcleanup.c	(revision 215266)
+++ tree-cfgcleanup.c	(working copy)
@@ -26,7 +26,6 @@ 
 #include "basic-block.h"
 #include "diagnostic-core.h"
 #include "flags.h"
-#include "function.h"
 #include "langhooks.h"
 #include "tree-ssa-alias.h"
 #include "internal-fn.h"
@@ -49,7 +48,6 @@ 
 #include "tree-pass.h"
 #include "except.h"
 #include "cfgloop.h"
-#include "hashtab.h"
 #include "tree-ssa-propagate.h"
 #include "tree-scalar-evolution.h"
 
Index: tree-dfa.c
===================================================================
--- tree-dfa.c	(revision 215266)
+++ tree-dfa.c	(working copy)
@@ -22,7 +22,6 @@ 
 #include "system.h"
 #include "coretypes.h"
 #include "tm.h"
-#include "hashtab.h"
 #include "tree.h"
 #include "stor-layout.h"
 #include "tm_p.h"
@@ -29,7 +28,6 @@ 
 #include "basic-block.h"
 #include "langhooks.h"
 #include "flags.h"
-#include "function.h"
 #include "tree-pretty-print.h"
 #include "tree-ssa-alias.h"
 #include "internal-fn.h"
Index: tree-eh.c
===================================================================
--- tree-eh.c	(revision 215266)
+++ tree-eh.c	(working copy)
@@ -21,14 +21,11 @@ 
 #include "system.h"
 #include "coretypes.h"
 #include "hash-table.h"
-#include "tm.h"
 #include "tree.h"
 #include "expr.h"
 #include "calls.h"
 #include "flags.h"
-#include "function.h"
 #include "except.h"
-#include "hash-set.h"
 #include "basic-block.h"
 #include "tree-ssa-alias.h"
 #include "internal-fn.h"
Index: tree-inline.c
===================================================================
--- tree-inline.c	(revision 215266)
+++ tree-inline.c	(working copy)
@@ -21,7 +21,6 @@ 
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
-#include "tm.h"
 #include "diagnostic-core.h"
 #include "tree.h"
 #include "stor-layout.h"
@@ -29,9 +28,7 @@ 
 #include "tree-inline.h"
 #include "flags.h"
 #include "params.h"
-#include "input.h"
 #include "insn-config.h"
-#include "hashtab.h"
 #include "langhooks.h"
 #include "basic-block.h"
 #include "tree-iterator.h"
@@ -57,7 +54,6 @@ 
 #include "expr.h"
 #include "tree-dfa.h"
 #include "tree-ssa.h"
-#include "function.h"
 #include "tree-pretty-print.h"
 #include "except.h"
 #include "debug.h"
Index: tree-into-ssa.c
===================================================================
--- tree-into-ssa.c	(revision 215266)
+++ tree-into-ssa.c	(working copy)
@@ -27,7 +27,6 @@ 
 #include "tm_p.h"
 #include "langhooks.h"
 #include "basic-block.h"
-#include "function.h"
 #include "gimple-pretty-print.h"
 #include "hash-table.h"
 #include "tree-ssa-alias.h"
Index: tree-nested.c
===================================================================
--- tree-nested.c	(revision 215266)
+++ tree-nested.c	(working copy)
@@ -25,7 +25,6 @@ 
 #include "stringpool.h"
 #include "stor-layout.h"
 #include "tm_p.h"
-#include "function.h"
 #include "tree-dump.h"
 #include "tree-inline.h"
 #include "basic-block.h"
Index: tree-nrv.c
===================================================================
--- tree-nrv.c	(revision 215266)
+++ tree-nrv.c	(working copy)
@@ -20,9 +20,7 @@ 
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
-#include "tm.h"
 #include "tree.h"
-#include "function.h"
 #include "basic-block.h"
 #include "tree-pretty-print.h"
 #include "tree-ssa-alias.h"
Index: tree-profile.c
===================================================================
--- tree-profile.c	(revision 215266)
+++ tree-profile.c	(working copy)
@@ -27,9 +27,7 @@ 
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
-#include "tm.h"
 #include "flags.h"
-#include "function.h"
 #include "basic-block.h"
 #include "diagnostic-core.h"
 #include "coverage.h"
Index: tree-ssa-alias.c
===================================================================
--- tree-ssa-alias.c	(revision 215266)
+++ tree-ssa-alias.c	(working copy)
@@ -29,7 +29,6 @@ 
 #include "timevar.h"	/* for TV_ALIAS_STMT_WALK */
 #include "langhooks.h"
 #include "flags.h"
-#include "function.h"
 #include "tree-pretty-print.h"
 #include "dumpfile.h"
 #include "tree-ssa-alias.h"
Index: tree-ssa-ccp.c
===================================================================
--- tree-ssa-ccp.c	(revision 215266)
+++ tree-ssa-ccp.c	(working copy)
@@ -127,7 +127,6 @@ 
 #include "flags.h"
 #include "tm_p.h"
 #include "basic-block.h"
-#include "function.h"
 #include "gimple-pretty-print.h"
 #include "hash-table.h"
 #include "tree-ssa-alias.h"
Index: tree-ssa-copy.c
===================================================================
--- tree-ssa-copy.c	(revision 215266)
+++ tree-ssa-copy.c	(working copy)
@@ -25,7 +25,6 @@ 
 #include "flags.h"
 #include "tm_p.h"
 #include "basic-block.h"
-#include "function.h"
 #include "gimple-pretty-print.h"
 #include "tree-ssa-alias.h"
 #include "internal-fn.h"
Index: tree-ssa-copyrename.c
===================================================================
--- tree-ssa-copyrename.c	(revision 215266)
+++ tree-ssa-copyrename.c	(working copy)
@@ -21,7 +21,6 @@ 
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
-#include "tm.h"
 #include "tree.h"
 #include "basic-block.h"
 #include "tree-ssa-alias.h"
@@ -31,7 +30,6 @@ 
 #include "gimple.h"
 #include "gimple-iterator.h"
 #include "flags.h"
-#include "function.h"
 #include "tree-pretty-print.h"
 #include "bitmap.h"
 #include "gimple-ssa.h"
@@ -40,7 +38,6 @@ 
 #include "expr.h"
 #include "tree-dfa.h"
 #include "tree-inline.h"
-#include "hashtab.h"
 #include "tree-ssa-live.h"
 #include "tree-pass.h"
 #include "langhooks.h"
Index: tree-ssa-dom.c
===================================================================
--- tree-ssa-dom.c	(revision 215266)
+++ tree-ssa-dom.c	(working copy)
@@ -30,7 +30,6 @@ 
 #include "basic-block.h"
 #include "cfgloop.h"
 #include "inchash.h"
-#include "function.h"
 #include "gimple-pretty-print.h"
 #include "tree-ssa-alias.h"
 #include "internal-fn.h"
Index: tree-ssa-operands.c
===================================================================
--- tree-ssa-operands.c	(revision 215266)
+++ tree-ssa-operands.c	(working copy)
@@ -20,12 +20,10 @@ 
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
-#include "tm.h"
 #include "tree.h"
 #include "stmt.h"
 #include "print-tree.h"
 #include "flags.h"
-#include "function.h"
 #include "gimple-pretty-print.h"
 #include "bitmap.h"
 #include "basic-block.h"
Index: tree-ssa-propagate.c
===================================================================
--- tree-ssa-propagate.c	(revision 215266)
+++ tree-ssa-propagate.c	(working copy)
@@ -26,7 +26,6 @@ 
 #include "flags.h"
 #include "tm_p.h"
 #include "basic-block.h"
-#include "function.h"
 #include "gimple-pretty-print.h"
 #include "dumpfile.h"
 #include "bitmap.h"
Index: tree-ssa-structalias.c
===================================================================
--- tree-ssa-structalias.c	(revision 215266)
+++ tree-ssa-structalias.c	(working copy)
@@ -21,7 +21,6 @@ 
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
-#include "tm.h"
 #include "obstack.h"
 #include "bitmap.h"
 #include "sbitmap.h"
@@ -46,7 +45,6 @@ 
 #include "tree-dfa.h"
 #include "tree-inline.h"
 #include "diagnostic-core.h"
-#include "function.h"
 #include "tree-pass.h"
 #include "alloc-pool.h"
 #include "splay-tree.h"
Index: tree-ssa-tail-merge.c
===================================================================
--- tree-ssa-tail-merge.c	(revision 215266)
+++ tree-ssa-tail-merge.c	(working copy)
@@ -196,7 +196,6 @@ 
 #include "tm_p.h"
 #include "basic-block.h"
 #include "flags.h"
-#include "function.h"
 #include "hash-table.h"
 #include "tree-ssa-alias.h"
 #include "internal-fn.h"
Index: tree-ssa-threadedge.c
===================================================================
--- tree-ssa-threadedge.c	(revision 215266)
+++ tree-ssa-threadedge.c	(working copy)
@@ -27,10 +27,8 @@ 
 #include "tm_p.h"
 #include "basic-block.h"
 #include "cfgloop.h"
-#include "function.h"
 #include "timevar.h"
 #include "dumpfile.h"
-#include "hash-set.h"
 #include "tree-ssa-alias.h"
 #include "internal-fn.h"
 #include "gimple-expr.h"
Index: tree-ssa-threadupdate.c
===================================================================
--- tree-ssa-threadupdate.c	(revision 215266)
+++ tree-ssa-threadupdate.c	(working copy)
@@ -23,7 +23,6 @@ 
 #include "tree.h"
 #include "flags.h"
 #include "basic-block.h"
-#include "function.h"
 #include "hash-table.h"
 #include "tree-ssa-alias.h"
 #include "internal-fn.h"
Index: tree-ssa-uncprop.c
===================================================================
--- tree-ssa-uncprop.c	(revision 215266)
+++ tree-ssa-uncprop.c	(working copy)
@@ -26,7 +26,6 @@ 
 #include "flags.h"
 #include "tm_p.h"
 #include "basic-block.h"
-#include "function.h"
 #include "hash-table.h"
 #include "hash-map.h"
 #include "tree-ssa-alias.h"
Index: tree-ssa-uninit.c
===================================================================
--- tree-ssa-uninit.c	(revision 215266)
+++ tree-ssa-uninit.c	(working copy)
@@ -26,10 +26,8 @@ 
 #include "flags.h"
 #include "tm_p.h"
 #include "basic-block.h"
-#include "function.h"
 #include "gimple-pretty-print.h"
 #include "bitmap.h"
-#include "hash-set.h"
 #include "tree-ssa-alias.h"
 #include "internal-fn.h"
 #include "gimple-expr.h"
@@ -41,7 +39,6 @@ 
 #include "ssa-iterators.h"
 #include "tree-ssa.h"
 #include "tree-inline.h"
-#include "hashtab.h"
 #include "tree-pass.h"
 #include "diagnostic-core.h"
 #include "params.h"
Index: tree-ssa.c
===================================================================
--- tree-ssa.c	(revision 215266)
+++ tree-ssa.c	(working copy)
@@ -28,7 +28,6 @@ 
 #include "target.h"
 #include "langhooks.h"
 #include "basic-block.h"
-#include "function.h"
 #include "gimple-pretty-print.h"
 #include "tree-ssa-alias.h"
 #include "internal-fn.h"
@@ -49,7 +48,6 @@ 
 #include "tree-ssa.h"
 #include "tree-inline.h"
 #include "hash-map.h"
-#include "hashtab.h"
 #include "tree-pass.h"
 #include "diagnostic-core.h"
 #include "cfgloop.h"
Index: tree-stdarg.c
===================================================================
--- tree-stdarg.c	(revision 215266)
+++ tree-stdarg.c	(working copy)
@@ -21,9 +21,7 @@ 
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
-#include "tm.h"
 #include "tree.h"
-#include "function.h"
 #include "langhooks.h"
 #include "gimple-pretty-print.h"
 #include "target.h"
Index: tree-tailcall.c
===================================================================
--- tree-tailcall.c	(revision 215266)
+++ tree-tailcall.c	(working copy)
@@ -25,7 +25,6 @@ 
 #include "stor-layout.h"
 #include "tm_p.h"
 #include "basic-block.h"
-#include "function.h"
 #include "tree-ssa-alias.h"
 #include "internal-fn.h"
 #include "gimple-expr.h"
Index: tree.c
===================================================================
--- tree.c	(revision 215266)
+++ tree.c	(working copy)
@@ -38,10 +38,8 @@ 
 #include "attribs.h"
 #include "varasm.h"
 #include "tm_p.h"
-#include "function.h"
 #include "obstack.h"
 #include "toplev.h" /* get_random_seed */
-#include "hashtab.h"
 #include "inchash.h"
 #include "filenames.h"
 #include "output.h"
Index: tsan.c
===================================================================
--- tsan.c	(revision 215266)
+++ tsan.c	(working copy)
@@ -25,7 +25,6 @@ 
 #include "tree.h"
 #include "expr.h"
 #include "intl.h"
-#include "tm.h"
 #include "basic-block.h"
 #include "tree-ssa-alias.h"
 #include "internal-fn.h"
@@ -34,7 +33,6 @@ 
 #include "gimple.h"
 #include "gimplify.h"
 #include "gimple-iterator.h"
-#include "function.h"
 #include "gimple-ssa.h"
 #include "cgraph.h"
 #include "tree-cfg.h"
Index: valtrack.c
===================================================================
--- valtrack.c	(revision 215266)
+++ valtrack.c	(working copy)
@@ -25,7 +25,6 @@ 
 #include "tm.h"
 #include "rtl.h"
 #include "valtrack.h"
-#include "function.h"
 #include "regs.h"
 #include "emit-rtl.h"
 
Index: varasm.c
===================================================================
--- varasm.c	(revision 215266)
+++ varasm.c	(working copy)
@@ -35,13 +35,11 @@ 
 #include "stringpool.h"
 #include "varasm.h"
 #include "flags.h"
-#include "function.h"
+#include "hard-reg-set.h"
 #include "expr.h"
-#include "hard-reg-set.h"
 #include "regs.h"
 #include "output.h"
 #include "diagnostic-core.h"
-#include "hashtab.h"
 #include "ggc.h"
 #include "langhooks.h"
 #include "tm_p.h"
@@ -50,7 +48,6 @@ 
 #include "common/common-target.h"
 #include "targhooks.h"
 #include "cgraph.h"
-#include "hash-set.h"
 #include "asan.h"
 #include "basic-block.h"
 #include "rtl-iter.h"
Index: vmsdbgout.c
===================================================================
--- vmsdbgout.c	(revision 215266)
+++ vmsdbgout.c	(working copy)
@@ -22,7 +22,6 @@ 
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
-#include "tm.h"
 
 #ifdef VMS_DEBUGGING_INFO
 #include "tree.h"
@@ -34,7 +33,6 @@ 
 #include "vmsdbg.h"
 #include "debug.h"
 #include "langhooks.h"
-#include "function.h"
 #include "target.h"
 
 /* Difference in seconds between the VMS Epoch and the Unix Epoch */
Index: web.c
===================================================================
--- web.c	(revision 215266)
+++ web.c	(working copy)
@@ -40,12 +40,10 @@ 
 #include "diagnostic-core.h"
 
 #include "rtl.h"
-#include "hard-reg-set.h"
 #include "flags.h"
 #include "obstack.h"
 #include "basic-block.h"
 #include "df.h"
-#include "function.h"
 #include "insn-config.h"
 #include "recog.h"
 #include "tree-pass.h"
Index: testsuite/g++.dg/plugin/pragma_plugin.c
===================================================================
--- testsuite/g++.dg/plugin/pragma_plugin.c	(revision 215266)
+++ testsuite/g++.dg/plugin/pragma_plugin.c	(working copy)
@@ -8,6 +8,7 @@ 
 #include "tm.h"
 #include "rtl.h"
 #include "tree.h"
+#include "hard-reg-set.h"
 #include "function.h"
 #include "c-family/c-pragma.h"
 #include "cpplib.h"
Index: ada/gcc-interface/misc.c
===================================================================
--- ada/gcc-interface/misc.c	(revision 215266)
+++ ada/gcc-interface/misc.c	(working copy)
@@ -42,6 +42,13 @@ 
 #include "langhooks-def.h"
 #include "plugin.h"
 #include "real.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"	/* For pass_by_reference.  */
 
 #include "ada.h"
Index: c/c-decl.c
===================================================================
--- c/c-decl.c	(revision 215266)
+++ c/c-decl.c	(working copy)
@@ -27,7 +27,6 @@ 
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
-#include "input.h"
 #include "tm.h"
 #include "intl.h"
 #include "tree.h"
@@ -38,7 +37,6 @@ 
 #include "stringpool.h"
 #include "tree-inline.h"
 #include "flags.h"
-#include "function.h"
 #include "c-tree.h"
 #include "toplev.h"
 #include "tm_p.h"
@@ -59,7 +57,6 @@ 
 #include "cgraph.h"
 #include "hash-table.h"
 #include "langhooks-def.h"
-#include "hash-set.h"
 #include "plugin.h"
 #include "c-family/c-ada-spec.h"
 #include "cilk.h"
Index: c-family/c-pragma.c
===================================================================
--- c-family/c-pragma.c	(revision 215266)
+++ c-family/c-pragma.c	(working copy)
@@ -25,6 +25,7 @@ 
 #include "stringpool.h"
 #include "attribs.h"
 #include "varasm.h"
+#include "hard-reg-set.h"
 #include "function.h"		/* For cfun.  FIXME: Does the parser know
 				   when it is inside a function, so that
 				   we don't have to look at cfun?  */
@@ -34,7 +35,6 @@ 
 #include "c-common.h"
 #include "tm_p.h"		/* For REGISTER_TARGET_PRAGMAS (why is
 				   this not a target hook?).  */
-#include "vec.h"
 #include "target.h"
 #include "diagnostic.h"
 #include "opts.h"
Index: c-family/c-semantics.c
===================================================================
--- c-family/c-semantics.c	(revision 215266)
+++ c-family/c-semantics.c	(working copy)
@@ -21,9 +21,7 @@ 
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
-#include "tm.h"
 #include "tree.h"
-#include "function.h"
 #include "splay-tree.h"
 #include "c-common.h"
 #include "flags.h"
Index: cp/cp-tree.h
===================================================================
--- cp/cp-tree.h	(revision 215266)
+++ cp/cp-tree.h	(working copy)
@@ -22,6 +22,13 @@ 
 #define GCC_CP_TREE_H
 
 #include "ggc.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "hashtab.h"
 #include "vec.h"
Index: fortran/f95-lang.c
===================================================================
--- fortran/f95-lang.c	(revision 215266)
+++ fortran/f95-lang.c	(working copy)
@@ -33,8 +33,6 @@ 
 #include "langhooks.h"
 #include "langhooks-def.h"
 #include "timevar.h"
-#include "tm.h"
-#include "function.h"
 #include "ggc.h"
 #include "toplev.h"
 #include "target.h"
Index: fortran/trans-decl.c
===================================================================
--- fortran/trans-decl.c	(revision 215266)
+++ fortran/trans-decl.c	(working copy)
@@ -23,7 +23,6 @@ 
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
-#include "tm.h"
 #include "gfortran.h"
 #include "tree.h"
 #include "stringpool.h"
@@ -36,11 +35,9 @@ 
 #include "diagnostic-core.h"	/* For internal_error.  */
 #include "toplev.h"	/* For announce_function.  */
 #include "target.h"
-#include "function.h"
 #include "flags.h"
 #include "cgraph.h"
 #include "debug.h"
-#include "hash-set.h"
 #include "constructor.h"
 #include "trans.h"
 #include "trans-types.h"
Index: java/class.c
===================================================================
--- java/class.c	(revision 215266)
+++ java/class.c	(working copy)
@@ -38,7 +38,6 @@ 
 #include "toplev.h"
 #include "output.h" /* for switch_to_section and get_section */
 #include "parse.h"
-#include "function.h"
 #include "ggc.h"
 #include "cgraph.h"
 #include "tree-iterator.h"
Index: java/resource.c
===================================================================
--- java/resource.c	(revision 215266)
+++ java/resource.c	(working copy)
@@ -32,7 +32,6 @@ 
 #include "diagnostic-core.h"
 #include "toplev.h"
 #include "parse.h"
-#include "function.h"
 #include "ggc.h"
 #include "tree-iterator.h"
 #include "cgraph.h"
Index: objc/objc-act.c
===================================================================
--- objc/objc-act.c	(revision 215266)
+++ objc/objc-act.c	(working copy)
@@ -21,7 +21,6 @@ 
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
-#include "tm.h"
 #include "tree.h"
 #include "stringpool.h"
 #include "stor-layout.h"
@@ -42,8 +41,6 @@ 
 #include "langhooks.h"
 #include "objc-act.h"
 #include "objc-map.h"
-#include "input.h"
-#include "function.h"
 #include "toplev.h"
 #include "debug.h"
 #include "c-family/c-target.h"
Index: config/aarch64/aarch64.c
===================================================================
--- config/aarch64/aarch64.c	(revision 215266)
+++ config/aarch64/aarch64.c	(working copy)
@@ -41,6 +41,13 @@ 
 #include "target-def.h"
 #include "targhooks.h"
 #include "ggc.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "tm_p.h"
 #include "recog.h"
Index: config/alpha/alpha.c
===================================================================
--- config/alpha/alpha.c	(revision 215266)
+++ config/alpha/alpha.c	(working copy)
@@ -41,6 +41,13 @@ 
 #include "reload.h"
 #include "obstack.h"
 #include "except.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "diagnostic-core.h"
 #include "ggc.h"
Index: config/arc/arc.c
===================================================================
--- config/arc/arc.c	(revision 215266)
+++ config/arc/arc.c	(working copy)
@@ -44,6 +44,13 @@ 
 #include "insn-config.h"
 #include "conditions.h"
 #include "insn-flags.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "toplev.h"
 #include "ggc.h"
Index: config/arm/arm.c
===================================================================
--- config/arm/arm.c	(revision 215266)
+++ config/arm/arm.c	(working copy)
@@ -40,6 +40,13 @@ 
 #include "insn-attr.h"
 #include "flags.h"
 #include "reload.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "expr.h"
 #include "optabs.h"
Index: config/avr/avr-log.c
===================================================================
--- config/avr/avr-log.c	(revision 215266)
+++ config/avr/avr-log.c	(working copy)
@@ -27,6 +27,13 @@ 
 #include "print-tree.h"
 #include "output.h"
 #include "input.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "tm_p.h"
 #include "tree-pass.h"	/* for current_pass */
Index: config/avr/avr.c
===================================================================
--- config/avr/avr.c	(revision 215266)
+++ config/avr/avr.c	(working copy)
@@ -41,6 +41,13 @@ 
 #include "c-family/c-common.h"
 #include "diagnostic-core.h"
 #include "obstack.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "recog.h"
 #include "optabs.h"
Index: config/bfin/bfin.c
===================================================================
--- config/bfin/bfin.c	(revision 215266)
+++ config/bfin/bfin.c	(working copy)
@@ -36,6 +36,13 @@ 
 #include "calls.h"
 #include "flags.h"
 #include "except.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "input.h"
 #include "target.h"
Index: config/c6x/c6x.c
===================================================================
--- config/c6x/c6x.c	(revision 215266)
+++ config/c6x/c6x.c	(working copy)
@@ -44,6 +44,13 @@ 
 #include "tm-preds.h"
 #include "tm-constrs.h"
 #include "df.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "diagnostic-core.h"
 #include "cgraph.h"
Index: config/cr16/cr16.c
===================================================================
--- config/cr16/cr16.c	(revision 215266)
+++ config/cr16/cr16.c	(working copy)
@@ -36,6 +36,13 @@ 
 #include "insn-attr.h"
 #include "flags.h"
 #include "except.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "recog.h"
 #include "expr.h"
Index: config/cris/cris.c
===================================================================
--- config/cris/cris.c	(revision 215266)
+++ config/cris/cris.c	(working copy)
@@ -36,6 +36,13 @@ 
 #include "stmt.h"
 #include "expr.h"
 #include "except.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "diagnostic-core.h"
 #include "recog.h"
Index: config/darwin.c
===================================================================
--- config/darwin.c	(revision 215266)
+++ config/darwin.c	(working copy)
@@ -37,6 +37,13 @@ 
 #include "stor-layout.h"
 #include "expr.h"
 #include "reload.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "ggc.h"
 #include "langhooks.h"
Index: config/epiphany/epiphany.c
===================================================================
--- config/epiphany/epiphany.c	(revision 215266)
+++ config/epiphany/epiphany.c	(working copy)
@@ -36,6 +36,13 @@ 
 #include "output.h"
 #include "insn-attr.h"
 #include "flags.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "expr.h"
 #include "diagnostic-core.h"
Index: config/epiphany/mode-switch-use.c
===================================================================
--- config/epiphany/mode-switch-use.c	(revision 215266)
+++ config/epiphany/mode-switch-use.c	(working copy)
@@ -24,6 +24,13 @@ 
 #include "coretypes.h"
 #include "tm.h"
 #include "rtl.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "emit-rtl.h"
 #include "tree-pass.h"
Index: config/epiphany/resolve-sw-modes.c
===================================================================
--- config/epiphany/resolve-sw-modes.c	(revision 215266)
+++ config/epiphany/resolve-sw-modes.c	(working copy)
@@ -34,6 +34,13 @@ 
 #include "insn-codes.h"
 #include "emit-rtl.h"
 #include "recog.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "insn-attr-common.h"
 #include "tree-pass.h"
Index: config/fr30/fr30.c
===================================================================
--- config/fr30/fr30.c	(revision 215266)
+++ config/fr30/fr30.c	(working copy)
@@ -39,6 +39,13 @@ 
 #include "expr.h"
 #include "obstack.h"
 #include "except.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "df.h"
 #include "diagnostic-core.h"
Index: config/frv/frv.c
===================================================================
--- config/frv/frv.c	(revision 215266)
+++ config/frv/frv.c	(working copy)
@@ -39,6 +39,13 @@ 
 #include "expr.h"
 #include "obstack.h"
 #include "except.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "optabs.h"
 #include "diagnostic-core.h"
Index: config/h8300/h8300.c
===================================================================
--- config/h8300/h8300.c	(revision 215266)
+++ config/h8300/h8300.c	(working copy)
@@ -38,6 +38,13 @@ 
 #include "flags.h"
 #include "recog.h"
 #include "expr.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "optabs.h"
 #include "diagnostic-core.h"
Index: config/i386/i386.c
===================================================================
--- config/i386/i386.c	(revision 215266)
+++ config/i386/i386.c	(working copy)
@@ -38,6 +38,13 @@ 
 #include "insn-attr.h"
 #include "flags.h"
 #include "except.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "recog.h"
 #include "expr.h"
Index: config/ia64/ia64.c
===================================================================
--- config/ia64/ia64.c	(revision 215266)
+++ config/ia64/ia64.c	(working copy)
@@ -40,6 +40,13 @@ 
 #include "expr.h"
 #include "optabs.h"
 #include "except.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "ggc.h"
 #include "basic-block.h"
Index: config/iq2000/iq2000.c
===================================================================
--- config/iq2000/iq2000.c	(revision 215266)
+++ config/iq2000/iq2000.c	(working copy)
@@ -33,6 +33,13 @@ 
 #include "output.h"
 #include "insn-attr.h"
 #include "flags.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "expr.h"
 #include "optabs.h"
Index: config/lm32/lm32.c
===================================================================
--- config/lm32/lm32.c	(revision 215266)
+++ config/lm32/lm32.c	(working copy)
@@ -40,6 +40,13 @@ 
 #include "flags.h"
 #include "reload.h"
 #include "tm_p.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "diagnostic-core.h"
 #include "optabs.h"
Index: config/m32c/m32c.c
===================================================================
--- config/m32c/m32c.c	(revision 215266)
+++ config/m32c/m32c.c	(working copy)
@@ -42,6 +42,13 @@ 
 #include "expr.h"
 #include "optabs.h"
 #include "except.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "ggc.h"
 #include "target.h"
Index: config/m32r/m32r.c
===================================================================
--- config/m32r/m32r.c	(revision 215266)
+++ config/m32r/m32r.c	(working copy)
@@ -36,6 +36,13 @@ 
 #include "insn-attr.h"
 #include "flags.h"
 #include "expr.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "recog.h"
 #include "diagnostic-core.h"
Index: config/m68k/m68k.c
===================================================================
--- config/m68k/m68k.c	(revision 215266)
+++ config/m68k/m68k.c	(working copy)
@@ -26,6 +26,13 @@ 
 #include "stor-layout.h"
 #include "varasm.h"
 #include "rtl.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "regs.h"
 #include "hard-reg-set.h"
Index: config/mcore/mcore.c
===================================================================
--- config/mcore/mcore.c	(revision 215266)
+++ config/mcore/mcore.c	(working copy)
@@ -40,6 +40,13 @@ 
 #include "expr.h"
 #include "reload.h"
 #include "recog.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "ggc.h"
 #include "diagnostic-core.h"
Index: config/mep/mep-pragma.c
===================================================================
--- config/mep/mep-pragma.c	(revision 215266)
+++ config/mep/mep-pragma.c	(working copy)
@@ -29,6 +29,13 @@ 
 #include "hard-reg-set.h"
 #include "output.h" /* for decode_reg_name */
 #include "mep-protos.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #define MAX_RECOG_OPERANDS 10
 #include "reload.h"
Index: config/mep/mep.c
===================================================================
--- config/mep/mep.c	(revision 215266)
+++ config/mep/mep.c	(working copy)
@@ -41,6 +41,13 @@ 
 #include "tree.h"
 #include "expr.h"
 #include "except.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "optabs.h"
 #include "reload.h"
Index: config/microblaze/microblaze.c
===================================================================
--- config/microblaze/microblaze.c	(revision 215266)
+++ config/microblaze/microblaze.c	(working copy)
@@ -36,6 +36,13 @@ 
 #include "varasm.h"
 #include "stor-layout.h"
 #include "calls.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "expr.h"
 #include "flags.h"
Index: config/mips/mips.c
===================================================================
--- config/mips/mips.c	(revision 215266)
+++ config/mips/mips.c	(working copy)
@@ -38,6 +38,13 @@ 
 #include "stringpool.h"
 #include "stor-layout.h"
 #include "calls.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "expr.h"
 #include "optabs.h"
Index: config/mmix/mmix.c
===================================================================
--- config/mmix/mmix.c	(revision 215266)
+++ config/mmix/mmix.c	(working copy)
@@ -34,6 +34,13 @@ 
 #include "varasm.h"
 #include "stor-layout.h"
 #include "calls.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "expr.h"
 #include "diagnostic-core.h"
Index: config/mn10300/mn10300.c
===================================================================
--- config/mn10300/mn10300.c	(revision 215266)
+++ config/mn10300/mn10300.c	(working copy)
@@ -38,6 +38,13 @@ 
 #include "reload.h"
 #include "expr.h"
 #include "optabs.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "obstack.h"
 #include "diagnostic-core.h"
Index: config/moxie/moxie.c
===================================================================
--- config/moxie/moxie.c	(revision 215266)
+++ config/moxie/moxie.c	(working copy)
@@ -42,6 +42,13 @@ 
 #include "expr.h"
 #include "optabs.h"
 #include "except.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "ggc.h"
 #include "target.h"
Index: config/msp430/msp430.c
===================================================================
--- config/msp430/msp430.c	(revision 215266)
+++ config/msp430/msp430.c	(working copy)
@@ -33,6 +33,13 @@ 
 #include "output.h"
 #include "insn-attr.h"
 #include "flags.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "expr.h"
 #include "optabs.h"
Index: config/nds32/nds32-cost.c
===================================================================
--- config/nds32/nds32-cost.c	(revision 215266)
+++ config/nds32/nds32-cost.c	(working copy)
@@ -38,6 +38,13 @@ 
 #include "insn-codes.h"		/* For CODE_FOR_xxx.  */
 #include "reload.h"		/* For push_reload().  */
 #include "flags.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "expr.h"
 #include "recog.h"
Index: config/nds32/nds32-fp-as-gp.c
===================================================================
--- config/nds32/nds32-fp-as-gp.c	(revision 215266)
+++ config/nds32/nds32-fp-as-gp.c	(working copy)
@@ -38,6 +38,13 @@ 
 #include "insn-codes.h"		/* For CODE_FOR_xxx.  */
 #include "reload.h"		/* For push_reload().  */
 #include "flags.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "expr.h"
 #include "recog.h"
Index: config/nds32/nds32-intrinsic.c
===================================================================
--- config/nds32/nds32-intrinsic.c	(revision 215266)
+++ config/nds32/nds32-intrinsic.c	(working copy)
@@ -38,6 +38,13 @@ 
 #include "insn-codes.h"		/* For CODE_FOR_xxx.  */
 #include "reload.h"		/* For push_reload().  */
 #include "flags.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "expr.h"
 #include "recog.h"
Index: config/nds32/nds32-isr.c
===================================================================
--- config/nds32/nds32-isr.c	(revision 215266)
+++ config/nds32/nds32-isr.c	(working copy)
@@ -38,6 +38,13 @@ 
 #include "insn-codes.h"		/* For CODE_FOR_xxx.  */
 #include "reload.h"		/* For push_reload().  */
 #include "flags.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "expr.h"
 #include "recog.h"
Index: config/nds32/nds32-md-auxiliary.c
===================================================================
--- config/nds32/nds32-md-auxiliary.c	(revision 215266)
+++ config/nds32/nds32-md-auxiliary.c	(working copy)
@@ -39,6 +39,13 @@ 
 #include "insn-codes.h"		/* For CODE_FOR_xxx.  */
 #include "reload.h"		/* For push_reload().  */
 #include "flags.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "expr.h"
 #include "recog.h"
Index: config/nds32/nds32-memory-manipulation.c
===================================================================
--- config/nds32/nds32-memory-manipulation.c	(revision 215266)
+++ config/nds32/nds32-memory-manipulation.c	(working copy)
@@ -39,6 +39,13 @@ 
 #include "insn-codes.h"		/* For CODE_FOR_xxx.  */
 #include "reload.h"		/* For push_reload().  */
 #include "flags.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "expr.h"
 #include "recog.h"
Index: config/nds32/nds32-pipelines-auxiliary.c
===================================================================
--- config/nds32/nds32-pipelines-auxiliary.c	(revision 215266)
+++ config/nds32/nds32-pipelines-auxiliary.c	(working copy)
@@ -39,6 +39,13 @@ 
 #include "insn-codes.h"		/* For CODE_FOR_xxx.  */
 #include "reload.h"		/* For push_reload().  */
 #include "flags.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "expr.h"
 #include "recog.h"
Index: config/nds32/nds32-predicates.c
===================================================================
--- config/nds32/nds32-predicates.c	(revision 215266)
+++ config/nds32/nds32-predicates.c	(working copy)
@@ -38,6 +38,13 @@ 
 #include "insn-codes.h"		/* For CODE_FOR_xxx.  */
 #include "reload.h"		/* For push_reload().  */
 #include "flags.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "expr.h"
 #include "recog.h"
Index: config/nds32/nds32.c
===================================================================
--- config/nds32/nds32.c	(revision 215266)
+++ config/nds32/nds32.c	(working copy)
@@ -38,6 +38,13 @@ 
 #include "insn-codes.h"		/* For CODE_FOR_xxx.  */
 #include "reload.h"		/* For push_reload().  */
 #include "flags.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "expr.h"
 #include "recog.h"
Index: config/nios2/nios2.c
===================================================================
--- config/nios2/nios2.c	(revision 215266)
+++ config/nios2/nios2.c	(working copy)
@@ -36,6 +36,13 @@ 
 #include "recog.h"
 #include "expr.h"
 #include "optabs.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "ggc.h"
 #include "basic-block.h"
Index: config/pa/pa.c
===================================================================
--- config/pa/pa.c	(revision 215266)
+++ config/pa/pa.c	(working copy)
@@ -40,6 +40,13 @@ 
 #include "expr.h"
 #include "optabs.h"
 #include "reload.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "diagnostic-core.h"
 #include "ggc.h"
Index: config/pdp11/pdp11.c
===================================================================
--- config/pdp11/pdp11.c	(revision 215266)
+++ config/pdp11/pdp11.c	(working copy)
@@ -27,6 +27,13 @@ 
 #include "hard-reg-set.h"
 #include "insn-config.h"
 #include "conditions.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "output.h"
 #include "insn-attr.h"
Index: config/rl78/rl78.c
===================================================================
--- config/rl78/rl78.c	(revision 215266)
+++ config/rl78/rl78.c	(working copy)
@@ -34,6 +34,13 @@ 
 #include "output.h"
 #include "insn-attr.h"
 #include "flags.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "expr.h"
 #include "optabs.h"
Index: config/rs6000/rs6000.c
===================================================================
--- config/rs6000/rs6000.c	(revision 215266)
+++ config/rs6000/rs6000.c	(working copy)
@@ -40,6 +40,13 @@ 
 #include "expr.h"
 #include "optabs.h"
 #include "except.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "output.h"
 #include "dbxout.h"
Index: config/rx/rx.c
===================================================================
--- config/rx/rx.c	(revision 215266)
+++ config/rx/rx.c	(working copy)
@@ -38,6 +38,13 @@ 
 #include "output.h"
 #include "insn-attr.h"
 #include "flags.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "expr.h"
 #include "optabs.h"
Index: config/s390/s390.c
===================================================================
--- config/s390/s390.c	(revision 215266)
+++ config/s390/s390.c	(working copy)
@@ -40,6 +40,13 @@ 
 #include "insn-attr.h"
 #include "flags.h"
 #include "except.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "recog.h"
 #include "expr.h"
Index: config/score/score.c
===================================================================
--- config/score/score.c	(revision 215266)
+++ config/score/score.c	(working copy)
@@ -36,6 +36,13 @@ 
 #include "calls.h"
 #include "varasm.h"
 #include "stor-layout.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "expr.h"
 #include "optabs.h"
Index: config/sh/sh.c
===================================================================
--- config/sh/sh.c	(revision 215266)
+++ config/sh/sh.c	(working copy)
@@ -38,6 +38,13 @@ 
 #include "expr.h"
 #include "optabs.h"
 #include "reload.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "regs.h"
 #include "hard-reg-set.h"
Index: config/sparc/sparc.c
===================================================================
--- config/sparc/sparc.c	(revision 215266)
+++ config/sparc/sparc.c	(working copy)
@@ -38,6 +38,13 @@ 
 #include "output.h"
 #include "insn-attr.h"
 #include "flags.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "except.h"
 #include "expr.h"
Index: config/spu/spu.c
===================================================================
--- config/spu/spu.c	(revision 215266)
+++ config/spu/spu.c	(working copy)
@@ -35,6 +35,13 @@ 
 #include "expr.h"
 #include "optabs.h"
 #include "except.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "output.h"
 #include "basic-block.h"
Index: config/stormy16/stormy16.c
===================================================================
--- config/stormy16/stormy16.c	(revision 215266)
+++ config/stormy16/stormy16.c	(working copy)
@@ -42,6 +42,13 @@ 
 #include "expr.h"
 #include "optabs.h"
 #include "except.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "target.h"
 #include "target-def.h"
Index: config/tilegx/tilegx.c
===================================================================
--- config/tilegx/tilegx.c	(revision 215266)
+++ config/tilegx/tilegx.c	(working copy)
@@ -36,6 +36,13 @@ 
 #include "tm-constrs.h"
 #include "target.h"
 #include "target-def.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "dwarf2.h"
 #include "timevar.h"
Index: config/tilepro/tilepro.c
===================================================================
--- config/tilepro/tilepro.c	(revision 215266)
+++ config/tilepro/tilepro.c	(working copy)
@@ -37,6 +37,13 @@ 
 #include "tm-constrs.h"
 #include "target.h"
 #include "target-def.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "dwarf2.h"
 #include "timevar.h"
Index: config/v850/v850.c
===================================================================
--- config/v850/v850.c	(revision 215266)
+++ config/v850/v850.c	(working copy)
@@ -37,6 +37,13 @@ 
 #include "flags.h"
 #include "recog.h"
 #include "expr.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "diagnostic-core.h"
 #include "ggc.h"
Index: config/vax/vax.c
===================================================================
--- config/vax/vax.c	(revision 215266)
+++ config/vax/vax.c	(working copy)
@@ -30,6 +30,13 @@ 
 #include "hard-reg-set.h"
 #include "insn-config.h"
 #include "conditions.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "output.h"
 #include "insn-attr.h"
Index: config/xtensa/xtensa.c
===================================================================
--- config/xtensa/xtensa.c	(revision 215266)
+++ config/xtensa/xtensa.c	(working copy)
@@ -42,6 +42,13 @@ 
 #include "flags.h"
 #include "reload.h"
 #include "tm_p.h"
+#include "hashtab.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "machmode.h"
+#include "tm.h"
+#include "hard-reg-set.h"
+#include "input.h"
 #include "function.h"
 #include "diagnostic-core.h"
 #include "optabs.h"