I noticed there were a few .h files which we including tree-core.h themselves. expr.h was one of them, and many of the rtl files used that to get at the basic tree structure for various bits.

I moved the include of tree-core.h to rtl.h instead. That way all the rtl files get it, and when we flatten the rtl.h includes into the c files, it'll be reduced to just the ones that need it. Eventually, those things that need it from rtl.h won't even need tree-code.h, they'll get converted to the new gimple interface instead.

streamer-hooks.h was including tree-core.h as well, but really only streamer-hooks.c needed location_t from input.h, so I included that instead from there.

Now only tree.h and rtl.h are including tree-core.h, which is more appropriate.

bootstrapping and regressions running on x86_64-unknown-linux-gnu.. assuming no issues, OK?

Andrew

	* rtl.h: Add tree-core.h to include list.
	* expr.h: Remove tree-core.h from include list.
	* gimple.h: Likewise.
	* ipa-prop.h: Likewise.
	* ipa-utils.h: Likewise.
	* lto-streamer.h: Likewise.
	* streamer-hooks.h: Likewise.
	* streamer-hooks.c: Include input.h.

*** HEADER/rtl.h	2013-10-28 11:55:32.021437788 -0400
--- rtl.h	2013-10-28 14:49:39.749635187 -0400
*************** along with GCC; see the file COPYING3.
*** 29,34 ****
--- 29,35 ----
  #include "alias.h"
  #include "hashtab.h"
  #include "flags.h"
+ #include "tree-core.h"
  
  /* Value used by some passes to "recognize" noop moves as valid
   instructions.  */
*** HEADER/expr.h	2013-10-28 11:55:32.005437796 -0400
--- expr.h	2013-10-28 14:46:25.069932215 -0400
*************** along with GCC; see the file COPYING3.
*** 26,34 ****
  #include "rtl.h"
  /* For optimize_size */
  #include "flags.h"
- /* For host_integerp, tree_low_cst, fold_convert, size_binop, ssize_int,
-    TREE_CODE, TYPE_SIZE, int_size_in_bytes,    */
- #include "tree-core.h"
  /* For GET_MODE_BITSIZE, word_mode */
  #include "machmode.h"
  
--- 26,31 ----
*** HEADER/gimple.h	2013-10-28 11:55:32.009437794 -0400
--- gimple.h	2013-10-28 15:01:27.285050961 -0400
*************** along with GCC; see the file COPYING3.
*** 27,33 ****
  #include "vec.h"
  #include "ggc.h"
  #include "basic-block.h"
- #include "tree-core.h"
  #include "tree-ssa-alias.h"
  #include "internal-fn.h"
  #include "gimple-fold.h"
--- 27,32 ----
*** HEADER/ipa-prop.h	2013-10-28 11:55:32.013437792 -0400
--- ipa-prop.h	2013-10-28 15:03:36.512726491 -0400
*************** along with GCC; see the file COPYING3.
*** 20,26 ****
  #ifndef IPA_PROP_H
  #define IPA_PROP_H
  
- #include "tree-core.h"
  #include "vec.h"
  #include "cgraph.h"
  #include "alloc-pool.h"
--- 20,25 ----
*** HEADER/ipa-utils.h	2013-10-28 11:55:32.014437792 -0400
--- ipa-utils.h	2013-10-28 15:04:02.304664416 -0400
*************** along with GCC; see the file COPYING3.
*** 20,26 ****
  
  #ifndef GCC_IPA_UTILS_H
  #define GCC_IPA_UTILS_H
- #include "tree-core.h"
  #include "cgraph.h"
  
  struct ipa_dfs_info {
--- 20,25 ----
*** HEADER/lto-streamer.h	2013-10-28 11:55:32.017437790 -0400
--- lto-streamer.h	2013-10-28 15:04:30.626597222 -0400
*************** along with GCC; see the file COPYING3.
*** 25,31 ****
  
  #include "plugin-api.h"
  #include "hash-table.h"
- #include "tree-core.h"
  #include "target.h"
  #include "cgraph.h"
  #include "vec.h"
--- 25,30 ----
*** HEADER/streamer-hooks.h	2013-10-28 11:55:32.023437787 -0400
--- streamer-hooks.h	2013-10-28 15:30:31.876866273 -0400
*************** along with GCC; see the file COPYING3.
*** 23,30 ****
  #ifndef GCC_STREAMER_HOOKS_H
  #define GCC_STREAMER_HOOKS_H
  
- #include "tree-core.h"
- 
  /* Forward declarations to avoid including unnecessary headers.  */
  struct output_block;
  struct lto_input_block;
--- 23,28 ----
*** HEADER/streamer-hooks.c	2013-10-28 11:55:32.023437787 -0400
--- streamer-hooks.c	2013-10-28 15:30:42.437856247 -0400
*************** along with GCC; see the file COPYING3.
*** 23,28 ****
--- 23,29 ----
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
+ #include "input.h"
  #include "streamer-hooks.h"
  
  /* Streamer hooks.  */

Reply via email to