There are currently only 2 .h files which include gimple.h, so removing
this indirection is not too difficult.
Similar to the tree.h change Diego made, only .c files should include
gimple.h.
Bootstraps on x86_64-unknown-linux-gnu, regression tests are running.
Assuming no issues, OK?
Andrew
* ipa-prop.h: Remove gimple.h from include list.
* lto-streamer.h: Likewise.
* cgraphbuild.c: Add gimple.h to include list.
* data-streamer-in.c: Likewise.
* ipa-cp.c: Likewise.
* tree-streamer.c: Likewise.
* lto-compress.c: Likewise.
* ipa-reference.c: Likewise.
* data-streamer-out.c: Likewise.
* lto-cgraph.c: Likewise.
* cgraphclones.c: Likewise.
* ipa-utils.c: Likewise.
* data-streamer.c: Likewise.
* ipa-split.c: Likewise.
* lto-section-in.c: Likewise.
* lto/lto-object.c: Likewise.
* lto/lto-partition.c: Likewise.
* tree-streamer-out.c: Likewise.
* ipa-prop.c: Likewise.
* tree-streamer-in.c: Likewise.
* symtab.c: Likewise.
* opts-global.c: Likewise.
* lto-opts.c: Likewise.
* lto-section-out.c: Likewise.
* lto-streamer.c: Likewise.
Index: ipa-prop.h
===================================================================
*** ipa-prop.h (revision 204031)
--- ipa-prop.h (working copy)
*************** along with GCC; see the file COPYING3.
*** 23,29 ****
#include "tree-core.h"
#include "vec.h"
#include "cgraph.h"
- #include "gimple.h"
#include "alloc-pool.h"
/* The following definitions and interfaces are used by
--- 23,28 ----
Index: lto-streamer.h
===================================================================
*** lto-streamer.h (revision 204031)
--- lto-streamer.h (working copy)
*************** along with GCC; see the file COPYING3.
*** 26,32 ****
#include "plugin-api.h"
#include "hash-table.h"
#include "tree-core.h"
- #include "gimple.h"
#include "target.h"
#include "cgraph.h"
#include "vec.h"
--- 26,31 ----
Index: cgraphbuild.c
===================================================================
*** cgraphbuild.c (revision 204031)
--- cgraphbuild.c (working copy)
*************** along with GCC; see the file COPYING3.
*** 23,28 ****
--- 23,29 ----
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
+ #include "gimple.h"
#include "langhooks.h"
#include "pointer-set.h"
#include "intl.h"
Index: data-streamer-in.c
===================================================================
*** data-streamer-in.c (revision 204031)
--- data-streamer-in.c (working copy)
*************** along with GCC; see the file COPYING3.
*** 25,30 ****
--- 25,31 ----
#include "coretypes.h"
#include "diagnostic.h"
#include "tree.h"
+ #include "gimple.h"
#include "data-streamer.h"
/* Read a string from the string table in DATA_IN using input block
Index: ipa-cp.c
===================================================================
*** ipa-cp.c (revision 204031)
--- ipa-cp.c (working copy)
*************** along with GCC; see the file COPYING3.
*** 104,109 ****
--- 104,110 ----
#include "system.h"
#include "coretypes.h"
#include "tree.h"
+ #include "gimple.h"
#include "target.h"
#include "ipa-prop.h"
#include "bitmap.h"
Index: tree-streamer.c
===================================================================
*** tree-streamer.c (revision 204031)
--- tree-streamer.c (working copy)
*************** along with GCC; see the file COPYING3.
*** 24,29 ****
--- 24,30 ----
#include "system.h"
#include "coretypes.h"
#include "tree.h"
+ #include "gimple.h"
#include "streamer-hooks.h"
#include "tree-streamer.h"
Index: lto-compress.c
===================================================================
*** lto-compress.c (revision 204031)
--- lto-compress.c (working copy)
*************** along with GCC; see the file COPYING3.
*** 28,33 ****
--- 28,34 ----
#include <zlib.h>
#include "coretypes.h"
#include "tree.h"
+ #include "gimple.h"
#include "diagnostic-core.h"
#include "langhooks.h"
#include "lto-streamer.h"
Index: ipa-reference.c
===================================================================
*** ipa-reference.c (revision 204031)
--- ipa-reference.c (working copy)
*************** along with GCC; see the file COPYING3.
*** 41,46 ****
--- 41,47 ----
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
+ #include "gimple.h"
#include "tree-inline.h"
#include "tree-pass.h"
#include "pointer-set.h"
Index: data-streamer-out.c
===================================================================
*** data-streamer-out.c (revision 204031)
--- data-streamer-out.c (working copy)
*************** along with GCC; see the file COPYING3.
*** 24,29 ****
--- 24,30 ----
#include "system.h"
#include "coretypes.h"
#include "tree.h"
+ #include "gimple.h"
#include "data-streamer.h"
/* Return index used to reference STRING of LEN characters in the string table
Index: lto-cgraph.c
===================================================================
*** lto-cgraph.c (revision 204031)
--- lto-cgraph.c (working copy)
*************** along with GCC; see the file COPYING3.
*** 25,30 ****
--- 25,31 ----
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
+ #include "gimple.h"
#include "expr.h"
#include "flags.h"
#include "params.h"
Index: cgraphclones.c
===================================================================
*** cgraphclones.c (revision 204031)
--- cgraphclones.c (working copy)
*************** along with GCC; see the file COPYING3.
*** 69,74 ****
--- 69,75 ----
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
+ #include "gimple.h"
#include "rtl.h"
#include "bitmap.h"
#include "tree-cfg.h"
Index: ipa-utils.c
===================================================================
*** ipa-utils.c (revision 204031)
--- ipa-utils.c (working copy)
*************** along with GCC; see the file COPYING3.
*** 23,28 ****
--- 23,29 ----
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
+ #include "gimple.h"
#include "tree-inline.h"
#include "dumpfile.h"
#include "langhooks.h"
Index: data-streamer.c
===================================================================
*** data-streamer.c (revision 204031)
--- data-streamer.c (working copy)
*************** along with GCC; see the file COPYING3.
*** 23,28 ****
--- 23,29 ----
#include "system.h"
#include "coretypes.h"
#include "tree.h"
+ #include "gimple.h"
#include "data-streamer.h"
/* Pack WORK into BP in a variant of uleb format. */
Index: ipa-split.c
===================================================================
*** ipa-split.c (revision 204031)
--- ipa-split.c (working copy)
*************** along with GCC; see the file COPYING3.
*** 78,83 ****
--- 78,84 ----
#include "system.h"
#include "coretypes.h"
#include "tree.h"
+ #include "gimple.h"
#include "target.h"
#include "ipa-prop.h"
#include "gimple-ssa.h"
Index: lto-section-in.c
===================================================================
*** lto-section-in.c (revision 204031)
--- lto-section-in.c (working copy)
*************** along with GCC; see the file COPYING3.
*** 24,29 ****
--- 24,30 ----
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
+ #include "gimple.h"
#include "expr.h"
#include "flags.h"
#include "params.h"
Index: lto/lto-object.c
===================================================================
*** lto/lto-object.c (revision 204031)
--- lto/lto-object.c (working copy)
*************** along with GCC; see the file COPYING3.
*** 22,27 ****
--- 22,28 ----
#include "system.h"
#include "coretypes.h"
#include "tree.h"
+ #include "gimple.h"
#include "diagnostic-core.h"
#include "lto.h"
#include "tm.h"
Index: lto/lto-partition.c
===================================================================
*** lto/lto-partition.c (revision 204031)
--- lto/lto-partition.c (working copy)
*************** along with GCC; see the file COPYING3.
*** 22,27 ****
--- 22,28 ----
#include "coretypes.h"
#include "toplev.h"
#include "tree.h"
+ #include "gimple.h"
#include "tm.h"
#include "cgraph.h"
#include "lto-streamer.h"
Index: tree-streamer-out.c
===================================================================
*** tree-streamer-out.c (revision 204031)
--- tree-streamer-out.c (working copy)
*************** along with GCC; see the file COPYING3.
*** 25,30 ****
--- 25,31 ----
#include "tm.h"
#include "diagnostic.h"
#include "tree.h"
+ #include "gimple.h"
#include "tree-streamer.h"
#include "data-streamer.h"
#include "streamer-hooks.h"
Index: ipa-prop.c
===================================================================
*** ipa-prop.c (revision 204031)
--- ipa-prop.c (working copy)
*************** along with GCC; see the file COPYING3.
*** 21,26 ****
--- 21,27 ----
#include "system.h"
#include "coretypes.h"
#include "tree.h"
+ #include "gimple.h"
#include "langhooks.h"
#include "ggc.h"
#include "target.h"
Index: tree-streamer-in.c
===================================================================
*** tree-streamer-in.c (revision 204031)
--- tree-streamer-in.c (working copy)
*************** along with GCC; see the file COPYING3.
*** 24,29 ****
--- 24,30 ----
#include "coretypes.h"
#include "diagnostic.h"
#include "tree.h"
+ #include "gimple.h"
#include "tree-streamer.h"
#include "data-streamer.h"
#include "streamer-hooks.h"
Index: symtab.c
===================================================================
*** symtab.c (revision 204031)
--- symtab.c (working copy)
*************** along with GCC; see the file COPYING3.
*** 23,28 ****
--- 23,29 ----
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
+ #include "gimple.h"
#include "tree-inline.h"
#include "langhooks.h"
#include "hashtab.h"
Index: opts-global.c
===================================================================
*** opts-global.c (revision 204031)
--- opts-global.c (working copy)
*************** along with GCC; see the file COPYING3.
*** 26,31 ****
--- 26,32 ----
#include "flags.h"
#include "ggc.h"
#include "tree.h" /* Required by langhooks.h. */
+ #include "gimple.h"
#include "langhooks.h"
#include "tm.h" /* Required by rtl.h. */
#include "rtl.h"
Index: lto-opts.c
===================================================================
*** lto-opts.c (revision 204031)
--- lto-opts.c (working copy)
*************** along with GCC; see the file COPYING3.
*** 23,28 ****
--- 23,29 ----
#include "system.h"
#include "coretypes.h"
#include "tree.h"
+ #include "gimple.h"
#include "hashtab.h"
#include "ggc.h"
#include "vec.h"
Index: lto-section-out.c
===================================================================
*** lto-section-out.c (revision 204031)
--- lto-section-out.c (working copy)
*************** along with GCC; see the file COPYING3.
*** 24,29 ****
--- 24,30 ----
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
+ #include "gimple.h"
#include "expr.h"
#include "params.h"
#include "input.h"
Index: lto-streamer.c
===================================================================
*** lto-streamer.c (revision 204031)
--- lto-streamer.c (working copy)
*************** along with GCC; see the file COPYING3.
*** 27,32 ****
--- 27,33 ----
#include "toplev.h"
#include "flags.h"
#include "tree.h"
+ #include "gimple.h"
#include "bitmap.h"
#include "diagnostic-core.h"
#include "vec.h"