public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [patch] New backend header reduction
@ 2015-10-23 16:57 Andrew MacLeod
  2015-10-23 19:25 ` Jeff Law
                   ` (3 more replies)
  0 siblings, 4 replies; 30+ messages in thread
From: Andrew MacLeod @ 2015-10-23 16:57 UTC (permalink / raw)
  To: gcc-patches, Jeff Law

[-- Attachment #1: Type: text/plain, Size: 1783 bytes --]

Just finished running...  I think the external hard drive was slowing 
down this run :-P  It took quite a while.

Anyway, this is the reduction patch independent of the header-ordering 
patch... ie, that patch needs to be applied before this one.   So this 
should be mostly just removals.   I also need to follow up and build all 
the target and bootstrap from scratch to make sure there arent any 
weirdnesses with it.   But you can at least get a look at it now.

a few interesting stats:

Top reductions:

passes.c: Reduction performed, 26 includes removed.
shrink-wrap.c: Reduction performed, 21 includes removed.
ipa-polymorphic-call.c: Reduction performed, 21 includes removed.
lto-cgraph.c: Reduction performed, 19 includes removed.
ddg.c: Reduction performed, 19 includes removed.
tree-ssa-pre.c: Reduction performed, 18 includes removed.
lra-remat.c: Reduction performed, 18 includes removed.
cgraph.c: Reduction performed, 18 includes removed.
cgraphclones.c: Reduction performed, 18 includes removed.
tsan.c: Reduction performed, 17 includes removed.
tree-into-ssa.c: Reduction performed, 17 includes removed.
lto-section-in.c: Reduction performed, 17 includes removed.

And headers most often removed:

alias.h: Removed 230 times.
flags.h: Removed 207 times.
internal-fn.h: Removed 143 times.
stmt.h: Removed 128 times.
dojump.h: Removed 122 times.
expmed.h: Removed 115 times.
explow.h: Removed 115 times.
varasm.h: Removed 114 times.
calls.h: Removed 114 times.
expr.h: Removed 81 times.
insn-config.h: Removed 77 times.
emit-rtl.h: Removed 62 times.
hard-reg-set.h: Removed 60 times.
tm_p.h: Removed 56 times.
fold-const.h: Removed 56 times.
diagnostic-core.h: Removed 53 times.
except.h: Removed 51 times.

I also have the full logs if any questions arise.
Andrew



[-- Attachment #2: backend-reduce.diff.bz2 --]
[-- Type: application/x-bzip, Size: 17344 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [patch] New backend header reduction
  2015-10-23 16:57 [patch] New backend header reduction Andrew MacLeod
@ 2015-10-23 19:25 ` Jeff Law
  2015-10-30 18:03   ` Cesar Philippidis
  2015-10-30 13:38 ` [patch] New 'all' front end header reduction Andrew MacLeod
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 30+ messages in thread
From: Jeff Law @ 2015-10-23 19:25 UTC (permalink / raw)
  To: Andrew MacLeod, gcc-patches

On 10/23/2015 10:53 AM, Andrew MacLeod wrote:
> Just finished running...  I think the external hard drive was slowing
> down this run :-P  It took quite a while.
>
> Anyway, this is the reduction patch independent of the header-ordering
> patch... ie, that patch needs to be applied before this one.   So this
> should be mostly just removals.   I also need to follow up and build all
> the target and bootstrap from scratch to make sure there arent any
> weirdnesses with it.   But you can at least get a look at it now.
>
> a few interesting stats:
>
> Top reductions:
>
> passes.c: Reduction performed, 26 includes removed.
> shrink-wrap.c: Reduction performed, 21 includes removed.
> ipa-polymorphic-call.c: Reduction performed, 21 includes removed.
> lto-cgraph.c: Reduction performed, 19 includes removed.
> ddg.c: Reduction performed, 19 includes removed.
> tree-ssa-pre.c: Reduction performed, 18 includes removed.
> lra-remat.c: Reduction performed, 18 includes removed.
> cgraph.c: Reduction performed, 18 includes removed.
> cgraphclones.c: Reduction performed, 18 includes removed.
> tsan.c: Reduction performed, 17 includes removed.
> tree-into-ssa.c: Reduction performed, 17 includes removed.
> lto-section-in.c: Reduction performed, 17 includes removed.
>
> And headers most often removed:
>
> alias.h: Removed 230 times.
> flags.h: Removed 207 times.
> internal-fn.h: Removed 143 times.
> stmt.h: Removed 128 times.
> dojump.h: Removed 122 times.
> expmed.h: Removed 115 times.
> explow.h: Removed 115 times.
> varasm.h: Removed 114 times.
> calls.h: Removed 114 times.
> expr.h: Removed 81 times.
> insn-config.h: Removed 77 times.
> emit-rtl.h: Removed 62 times.
> hard-reg-set.h: Removed 60 times.
> tm_p.h: Removed 56 times.
> fold-const.h: Removed 56 times.
> diagnostic-core.h: Removed 53 times.
> except.h: Removed 51 times.
Approved.  This was the easy part :-)

A quick grep shows 2309 unnecessary #includes removed.

jeff

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [patch] New 'all' front end header reduction
  2015-10-23 16:57 [patch] New backend header reduction Andrew MacLeod
  2015-10-23 19:25 ` Jeff Law
@ 2015-10-30 13:38 ` Andrew MacLeod
  2015-10-30 16:20   ` Mike Stump
  2015-11-02  6:41   ` Jeff Law
  2015-10-31  7:02 ` [patch] New backend " Andreas Schwab
  2015-11-02  7:43 ` Thomas Schwinge
  3 siblings, 2 replies; 30+ messages in thread
From: Andrew MacLeod @ 2015-10-30 13:38 UTC (permalink / raw)
  To: gcc-patches, Jeff Law

[-- Attachment #1: Type: text/plain, Size: 896 bytes --]

OK, here's the much delayed front end reduction patch based on the 
reordering already being checked in.

I discovered that my targets builds were only building c/c++, so the 
other languages were being reduced based only on the host 
x86_64-pc-linux-gnu build.   Thats *probably* ok, but I wanted to be 
sure.  This is when I discovered that the other languages have varying 
amounts of support amongst the targets. Simply building all the targets 
to compile, say ada, doesn't actually work quite right.

So this patch covers all the languages which do have full support.. the 
ones enabled by 'all' languages.

I am determining which targets build the other languages now, and will 
submit separate reduction patches for those languages.

This bootstraps on  x86_64-pc-linux-gnu with no new regressions, and is 
currently undergoing the full config-list target build.

OK for trunk?

Andrew



[-- Attachment #2: fe-reduce.patch --]
[-- Type: text/x-patch, Size: 64844 bytes --]

c
	* c-array-notation.c: Remove unused headers.
	* c-aux-info.c: Likewise.
	* c-convert.c: Likewise.
	* c-decl.c: Likewise.
	* c-errors.c: Likewise.
	* c-lang.c: Likewise.
	* c-objc-common.c: Likewise.
	* c-parser.c: Likewise.
	* c-typeck.c: Likewise.
	* gccspec.c: Likewise.

c-family
	* array-notation-common.c: Remove unused headers. 
	* c-ada-spec.c: Likewise.
	* c-cilkplus.c: Likewise.
	* c-common.c: Likewise.
	* c-cppbuiltin.c: Likewise.
	* c-dump.c: Likewise.
	* c-format.c: Likewise.
	* c-gimplify.c: Likewise.
	* c-indentation.c: Likewise.
	* c-lex.c: Likewise.
	* c-omp.c: Likewise.
	* c-opts.c: Likewise.
	* c-pch.c: Likewise.
	* c-ppoutput.c: Likewise.
	* c-pragma.c: Likewise.
	* c-pretty-print.c: Likewise.
	* c-semantics.c: Likewise.
	* c-ubsan.c: Likewise.
	* cilk.c: Likewise.
	* stub-objc.c: Likewise.

cp
	* call.c: Remove unused headers. 
	* class.c: Likewise.
	* constexpr.c: Likewise.
	* cp-array-notation.c: Likewise.
	* cp-cilkplus.c: Likewise.
	* cp-gimplify.c: Likewise.
	* cp-lang.c: Likewise.
	* cp-objcp-common.c: Likewise.
	* cp-ubsan.c: Likewise.
	* cvt.c: Likewise.
	* cxx-pretty-print.c: Likewise.
	* decl.c: Likewise.
	* decl2.c: Likewise.
	* dump.c: Likewise.
	* error.c: Likewise.
	* except.c: Likewise.
	* expr.c: Likewise.
	* friend.c: Likewise.
	* g++spec.c: Likewise.
	* init.c: Likewise.
	* lambda.c: Likewise.
	* lex.c: Likewise.
	* mangle.c: Likewise.
	* method.c: Likewise.
	* name-lookup.c: Likewise.
	* optimize.c: Likewise.
	* parser.c: Likewise.
	* pt.c: Likewise.
	* ptree.c: Likewise.
	* repo.c: Likewise.
	* rtti.c: Likewise.
	* search.c: Likewise.
	* semantics.c: Likewise.
	* tree.c: Likewise.
	* typeck.c: Likewise.
	* typeck2.c: Likewise.
	* vtable-class-hierarchy.c: Likewise.

fortran
	* array.c: Remove unused headers. 
	* convert.c: Likewise.
	* cpp.c: Likewise.
	* decl.c: Likewise.
	* f95-lang.c: Likewise.
	* frontend-passes.c: Likewise.
	* iresolve.c: Likewise.
	* match.c: Likewise.
	* module.c: Likewise.
	* options.c: Likewise.
	* parse.c: Likewise.
	* target-memory.c: Likewise.
	* trans-array.c: Likewise.
	* trans-common.c: Likewise.
	* trans-const.c: Likewise.
	* trans-decl.c: Likewise.
	* trans-expr.c: Likewise.
	* trans-intrinsic.c: Likewise.
	* trans-io.c: Likewise.
	* trans-openmp.c: Likewise.
	* trans-stmt.c: Likewise.
	* trans-types.c: Likewise.
	* trans.c: Likewise.

lto
	* lto-lang.c: Remove unused headers. 
	* lto-object.c: Likewise.
	* lto-partition.c: Likewise.
	* lto-symtab.c: Likewise.
	* lto.c: Likewise.

objc
	* objc-act.c: Remove unused headers. 
	* objc-encoding.c: Likewise.
	* objc-gnu-runtime-abi-01.c: Likewise.
	* objc-lang.c: Likewise.
	* objc-map.c: Likewise.
	* objc-next-runtime-abi-01.c: Likewise.
	* objc-next-runtime-abi-02.c: Likewise.
	* objc-runtime-shared-support.c: Likewise.

Index: c/c-array-notation.c
===================================================================
*** c/c-array-notation.c	(revision 229538)
--- c/c-array-notation.c	(working copy)
***************
*** 68,79 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "tree.h"
- #include "c-family/c-common.h"
  #include "c-tree.h"
  #include "gimple-expr.h"
  #include "tree-iterator.h"
- #include "opts.h"
  
  /* If *VALUE is not of type INTEGER_CST, PARM_DECL or VAR_DECL, then map it
     to a variable and then set *VALUE to the new variable.  */
--- 68,76 ----
Index: c/c-aux-info.c
===================================================================
*** c/c-aux-info.c	(revision 229538)
--- c/c-aux-info.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 24,33 ****
  #include "system.h"
  #include "coretypes.h"
  #include "tm.h"
- #include "tree.h"
  #include "c-tree.h"
- #include "flags.h"
- #include "alias.h"
  
  enum formals_style {
    ansi,
--- 24,30 ----
Index: c/c-convert.c
===================================================================
*** c/c-convert.c	(revision 229538)
--- c/c-convert.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 27,36 ****
  #include "system.h"
  #include "coretypes.h"
  #include "target.h"
- #include "tree.h"
- #include "c-family/c-common.h"
  #include "c-tree.h"
- #include "flags.h"
  #include "convert.h"
  #include "langhooks.h"
  #include "ubsan.h"
--- 27,33 ----
Index: c/c-decl.c
===================================================================
*** c/c-decl.c	(revision 229538)
--- c/c-decl.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 29,39 ****
  #include "coretypes.h"
  #include "target.h"
  #include "function.h"
- #include "tree.h"
- #include "c-family/c-common.h"
  #include "c-tree.h"
  #include "timevar.h"
- #include "tm_p.h"
  #include "stringpool.h"
  #include "cgraph.h"
  #include "intl.h"
--- 29,36 ----
*************** along with GCC; see the file COPYING3.
*** 41,51 ****
  #include "stor-layout.h"
  #include "varasm.h"
  #include "attribs.h"
- #include "tree-inline.h"
- #include "flags.h"
  #include "toplev.h"
  #include "debug.h"
- #include "opts.h"
  #include "c-family/c-objc.h"
  #include "c-family/c-pragma.h"
  #include "c-family/c-ubsan.h"
--- 38,45 ----
*************** along with GCC; see the file COPYING3.
*** 53,59 ****
  #include "langhooks.h"
  #include "tree-iterator.h"
  #include "dumpfile.h"
- #include "langhooks-def.h"
  #include "plugin.h"
  #include "c-family/c-ada-spec.h"
  #include "cilk.h"
--- 47,52 ----
Index: c/c-errors.c
===================================================================
*** c/c-errors.c	(revision 229538)
--- c/c-errors.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 22,32 ****
  #include "system.h"
  #include "coretypes.h"
  #include "tm.h"
- #include "tree.h"
  #include "c-tree.h"
- #include "tm_p.h"
- #include "alias.h"
- #include "flags.h"
  #include "opts.h"
  
  /* Issue an ISO C99 pedantic warning MSGID if -pedantic outside C11 mode,
--- 22,28 ----
Index: c/c-lang.c
===================================================================
*** c/c-lang.c	(revision 229538)
--- c/c-lang.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 21,35 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "tm.h"
- #include "tree.h"
- #include "c-family/c-common.h"
  #include "c-tree.h"
  #include "langhooks.h"
  #include "langhooks-def.h"
- #include "tree-inline.h"
  #include "c-objc-common.h"
- #include "c-family/c-pragma.h"
  
  enum c_language_kind c_language = clk_c;
  
--- 21,30 ----
Index: c/c-objc-common.c
===================================================================
*** c/c-objc-common.c	(revision 229538)
--- c/c-objc-common.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 20,28 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "tree.h"
  #include "c-tree.h"
- #include "alias.h"
  #include "intl.h"
  #include "c-family/c-pretty-print.h"
  #include "tree-pretty-print.h"
--- 20,26 ----
Index: c/c-parser.c
===================================================================
*** c/c-parser.c	(revision 229538)
--- c/c-parser.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 40,57 ****
  #include "coretypes.h"
  #include "target.h"
  #include "function.h"
- #include "tree.h"
- #include "c-family/c-common.h"
  #include "c-tree.h"
  #include "timevar.h"
  #include "stringpool.h"
  #include "cgraph.h"
- #include "flags.h"
  #include "attribs.h"
  #include "stor-layout.h"
  #include "varasm.h"
  #include "trans-mem.h"
- #include "langhooks.h"
  #include "c-family/c-pragma.h"
  #include "c-lang.h"
  #include "c-family/c-objc.h"
--- 40,53 ----
Index: c/c-typeck.c
===================================================================
*** c/c-typeck.c	(revision 229538)
--- c/c-typeck.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 29,36 ****
  #include "target.h"
  #include "function.h"
  #include "bitmap.h"
- #include "tree.h"
- #include "c-family/c-common.h"
  #include "c-tree.h"
  #include "gimple-expr.h"
  #include "predict.h"
--- 29,34 ----
*************** along with GCC; see the file COPYING3.
*** 40,46 ****
  #include "stmt.h"
  #include "langhooks.h"
  #include "c-lang.h"
- #include "flags.h"
  #include "intl.h"
  #include "tree-iterator.h"
  #include "gimplify.h"
--- 38,43 ----
Index: c/gccspec.c
===================================================================
*** c/gccspec.c	(revision 229538)
--- c/gccspec.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 21,27 ****
  #include "system.h"
  #include "coretypes.h"
  #include "tm.h"
- #include "gcc.h"
  #include "opts.h"
  
  /* Filter command line before processing by the gcc driver proper.  */
--- 21,26 ----
Index: c-family/array-notation-common.c
===================================================================
*** c-family/array-notation-common.c	(revision 229538)
--- c-family/array-notation-common.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 25,33 ****
  #include "system.h" 
  #include "coretypes.h"
  #include "options.h"
- #include "tree.h"
  #include "c-family/c-common.h"
- #include "langhooks.h" 
  #include "tree-iterator.h"
  
  /* Returns true if the function call in FNDECL is  __sec_implicit_index.  */
--- 25,31 ----
Index: c-family/c-ada-spec.c
===================================================================
*** c-family/c-ada-spec.c	(revision 229538)
--- c-family/c-ada-spec.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 25,34 ****
  #include "tm.h"
  #include "tree.h"
  #include "c-ada-spec.h"
- #include "alias.h"
  #include "fold-const.h"
- #include "dumpfile.h"
- #include "cpplib.h"
  #include "c-pragma.h"
  #include "cpp-id-data.h"
  
--- 25,31 ----
Index: c-family/c-cilkplus.c
===================================================================
*** c-family/c-cilkplus.c	(revision 229538)
--- c-family/c-cilkplus.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 23,32 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "options.h"
- #include "tree.h"
  #include "c-common.h"
- #include "alias.h"
  
  /* Validate the body of a _Cilk_for construct or a <#pragma simd> for
     loop.
--- 23,29 ----
Index: c-family/c-common.c
===================================================================
*** c-family/c-common.c	(revision 229538)
--- c-family/c-common.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 24,30 ****
  #include "coretypes.h"
  #include "target.h"
  #include "function.h"
- #include "obstack.h"
  #include "tree.h"
  #include "c-common.h"
  #include "gimple-expr.h"
--- 24,29 ----
*************** along with GCC; see the file COPYING3.
*** 38,45 ****
  #include "attribs.h"
  #include "varasm.h"
  #include "trans-mem.h"
- #include "flags.h"
- #include "c-pragma.h"
  #include "c-objc.h"
  #include "common/common-target.h"
  #include "langhooks.h"
--- 37,42 ----
Index: c-family/c-cppbuiltin.c
===================================================================
*** c-family/c-cppbuiltin.c	(revision 229538)
--- c-family/c-cppbuiltin.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 21,33 ****
  #include "system.h"
  #include "coretypes.h"
  #include "target.h"
- #include "tree.h"
  #include "c-common.h"
  #include "tm_p.h"		/* For TARGET_CPU_CPP_BUILTINS & friends.  */
  #include "stringpool.h"
- #include "alias.h"
  #include "stor-layout.h"
- #include "version.h"
  #include "flags.h"
  #include "c-pragma.h"
  #include "output.h"		/* For user_label_prefix.  */
--- 21,30 ----
Index: c-family/c-dump.c
===================================================================
*** c-family/c-dump.c	(revision 229538)
--- c-family/c-dump.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 21,30 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "tm.h"
- #include "tree.h"
  #include "c-common.h"
- #include "alias.h"
  #include "tree-dump.h"
  
  /* Dump any C-specific tree codes and attributes of common codes.  */
--- 21,27 ----
Index: c-family/c-format.c
===================================================================
*** c-family/c-format.c	(revision 229538)
--- c-family/c-format.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 22,33 ****
  #include "coretypes.h"
  #include "tm.h"
  #include "c-target.h"
- #include "tree.h"
  #include "c-common.h"
  #include "alloc-pool.h"
  #include "stringpool.h"
- #include "alias.h"
- #include "flags.h"
  #include "c-objc.h"
  #include "intl.h"
  #include "langhooks.h"
--- 22,30 ----
Index: c-family/c-gimplify.c
===================================================================
*** c-family/c-gimplify.c	(revision 229538)
--- c-family/c-gimplify.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 29,49 ****
  #include "tm.h"
  #include "function.h"
  #include "basic-block.h"
- #include "hard-reg-set.h"
  #include "tree.h"
- #include "c-common.h"
  #include "gimple.h"
- #include "predict.h"
  #include "cgraph.h"
  #include "c-pretty-print.h"
- #include "alias.h"
- #include "fold-const.h"
- #include "internal-fn.h"
  #include "gimplify.h"
- #include "tree-inline.h"
  #include "langhooks.h"
- #include "langhooks-def.h"
- #include "flags.h"
  #include "dumpfile.h"
  #include "cilk.h"
  #include "c-ubsan.h"
--- 29,40 ----
Index: c-family/c-indentation.c
===================================================================
*** c-family/c-indentation.c	(revision 229538)
--- c-family/c-indentation.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 21,31 ****
  #include "system.h"
  #include "coretypes.h"
  #include "tm.h"
- #include "tree.h"
  #include "c-common.h"
- #include "stringpool.h"
- #include "alias.h"
- #include "stor-layout.h"
  #include "c-indentation.h"
  
  extern cpp_options *cpp_opts;
--- 21,27 ----
Index: c-family/c-lex.c
===================================================================
*** c-family/c-lex.c	(revision 229538)
--- c-family/c-lex.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 21,35 ****
  #include "system.h"
  #include "coretypes.h"
  #include "target.h"
- #include "tree.h"
  #include "c-common.h"
  #include "timevar.h"
  #include "stringpool.h"
- #include "alias.h"
  #include "stor-layout.h"
- #include "flags.h"
  #include "c-pragma.h"
- #include "intl.h"
  #include "debug.h"
  
  #include "attribs.h"
--- 21,31 ----
Index: c-family/c-omp.c
===================================================================
*** c-family/c-omp.c	(revision 229538)
--- c-family/c-omp.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 24,36 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "tm.h"
- #include "tree.h"
  #include "c-common.h"
  #include "gimple-expr.h"
- #include "alias.h"
  #include "c-pragma.h"
- #include "langhooks.h"
  #include "omp-low.h"
  #include "gomp-constants.h"
  
--- 24,32 ----
Index: c-family/c-opts.c
===================================================================
*** c-family/c-opts.c	(revision 229538)
--- c-family/c-opts.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 23,33 ****
  #include "coretypes.h"
  #include "tm.h"
  #include "c-target.h"
- #include "tree.h"
  #include "c-common.h"
  #include "tm_p.h"		/* For C_COMMON_OVERRIDE_OPTIONS.  */
  #include "diagnostic.h"
- #include "alias.h"
  #include "c-pragma.h"
  #include "flags.h"
  #include "toplev.h"
--- 23,31 ----
Index: c-family/c-pch.c
===================================================================
*** c-family/c-pch.c	(revision 229538)
--- c-family/c-pch.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 21,38 ****
  #include "system.h"
  #include "coretypes.h"
  #include "target.h"
- #include "tree.h"
  #include "c-common.h"
  #include "timevar.h"
- #include "version.h"
- #include "cpplib.h"
- #include "alias.h"
  #include "flags.h"
  #include "debug.h"
  #include "c-pragma.h"
  #include "langhooks.h"
  #include "hosthooks.h"
- #include "opts.h"
  
  /* This is a list of flag variables that must match exactly, and their
     names for the error message.  The possible values for *flag_var must
--- 21,33 ----
Index: c-family/c-ppoutput.c
===================================================================
*** c-family/c-ppoutput.c	(revision 229538)
--- c-family/c-ppoutput.c	(working copy)
***************
*** 19,30 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "options.h"
- #include "tree.h"
  #include "c-common.h"		/* For flags.  */
- #include "cpplib.h"
  #include "../libcpp/internal.h"
- #include "alias.h"
  #include "c-pragma.h"		/* For parse_in.  */
  
  /* Encapsulates state used to convert a stream of tokens into a text
--- 19,26 ----
Index: c-family/c-pragma.c
===================================================================
*** c-family/c-pragma.c	(revision 229538)
--- c-family/c-pragma.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 22,39 ****
  #include "coretypes.h"
  #include "target.h"
  #include "function.h"		/* For cfun.  */
- #include "tree.h"
  #include "c-common.h"
  #include "tm_p.h"		/* For REGISTER_TARGET_PRAGMAS.  */
  #include "stringpool.h"
  #include "cgraph.h"
  #include "diagnostic.h"
- #include "alias.h"
  #include "attribs.h"
  #include "varasm.h"
- #include "cpplib.h"
  #include "c-pragma.h"
- #include "flags.h"
  #include "opts.h"
  #include "plugin.h"
  
--- 22,35 ----
Index: c-family/c-pretty-print.c
===================================================================
*** c-family/c-pretty-print.c	(revision 229538)
--- c-family/c-pretty-print.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 21,36 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "tm.h"
- #include "tree.h"
  #include "c-pretty-print.h"
  #include "diagnostic.h"
- #include "alias.h"
  #include "stor-layout.h"
  #include "attribs.h"
  #include "intl.h"
  #include "tree-pretty-print.h"
- #include "tree-iterator.h"
  
  /* The pretty-printer code is primarily designed to closely follow
     (GNU) C and C++ grammars.  That is to be contrasted with spaghetti
--- 21,32 ----
Index: c-family/c-semantics.c
===================================================================
*** c-family/c-semantics.c	(revision 229538)
--- c-family/c-semantics.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 21,34 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "tm.h"
- #include "function.h"
- #include "hard-reg-set.h"
- #include "tree.h"
  #include "c-common.h"
- #include "alias.h"
- #include "splay-tree.h"
- #include "flags.h"
  #include "tree-iterator.h"
  
  /* Create an empty statement tree rooted at T.  */
--- 21,27 ----
Index: c-family/c-ubsan.c
===================================================================
*** c-family/c-ubsan.c	(revision 229538)
--- c-family/c-ubsan.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 22,39 ****
  #include "system.h"
  #include "coretypes.h"
  #include "tm.h"
- #include "function.h"
- #include "hard-reg-set.h"
- #include "tree.h"
  #include "c-family/c-common.h"
- #include "alloc-pool.h"
- #include "cgraph.h"
- #include "output.h"
- #include "toplev.h"
  #include "ubsan.h"
  #include "c-family/c-ubsan.h"
  #include "asan.h"
- #include "internal-fn.h"
  #include "stor-layout.h"
  #include "builtins.h"
  #include "gimplify.h"
--- 22,31 ----
Index: c-family/cilk.c
===================================================================
*** c-family/cilk.c	(revision 229538)
--- c-family/cilk.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 25,38 ****
  #include "coretypes.h"
  #include "tm.h"
  #include "function.h"
- #include "hard-reg-set.h"
- #include "tree.h"
  #include "c-family/c-common.h"
  #include "gimple-expr.h"
  #include "stringpool.h"
  #include "cgraph.h"
  #include "diagnostic.h"
- #include "langhooks.h"
  #include "gimplify.h"
  #include "tree-iterator.h"
  #include "tree-inline.h"
--- 25,35 ----
Index: c-family/stub-objc.c
===================================================================
*** c-family/stub-objc.c	(revision 229538)
--- c-family/stub-objc.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 23,30 ****
  #include "system.h"
  #include "coretypes.h"
  #include "tree.h"
- #include "c-common.h"
- #include "alias.h"
  #include "c-objc.h"
  
  tree
--- 23,28 ----
Index: cp/call.c
===================================================================
*** cp/call.c	(revision 229538)
--- cp/call.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 26,37 ****
  #include "system.h"
  #include "coretypes.h"
  #include "target.h"
- #include "tree.h"
  #include "cp-tree.h"
  #include "timevar.h"
  #include "stringpool.h"
  #include "cgraph.h"
- #include "alias.h"
  #include "stor-layout.h"
  #include "trans-mem.h"
  #include "flags.h"
--- 26,35 ----
Index: cp/class.c
===================================================================
*** cp/class.c	(revision 229538)
--- cp/class.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 25,35 ****
  #include "system.h"
  #include "coretypes.h"
  #include "target.h"
- #include "tree.h"
  #include "cp-tree.h"
  #include "stringpool.h"
  #include "cgraph.h"
- #include "alias.h"
  #include "stor-layout.h"
  #include "attribs.h"
  #include "flags.h"
--- 25,33 ----
Index: cp/constexpr.c
===================================================================
*** cp/constexpr.c	(revision 229538)
--- cp/constexpr.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 23,31 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "tree.h"
  #include "cp-tree.h"
- #include "alias.h"
  #include "varasm.h"
  #include "c-family/c-objc.h"
  #include "tree-iterator.h"
--- 23,29 ----
Index: cp/cp-array-notation.c
===================================================================
*** cp/cp-array-notation.c	(revision 229538)
--- cp/cp-array-notation.c	(working copy)
***************
*** 53,61 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "tree.h"
  #include "cp-tree.h"
- #include "c-family/c-common.h"
  #include "tree-iterator.h"
  
  /* Creates a FOR_STMT with INIT, COND, INCR and BODY as the initializer,
--- 53,59 ----
Index: cp/cp-cilkplus.c
===================================================================
*** cp/cp-cilkplus.c	(revision 229538)
--- cp/cp-cilkplus.c	(working copy)
***************
*** 25,31 ****
  #include "coretypes.h"
  #include "cp-tree.h"
  #include "tree-iterator.h"
- #include "tree-inline.h"  /* for copy_tree_body_r.  */
  #include "cilk.h"
  
  /* Callback for cp_walk_tree to validate the body of a pragma simd loop
--- 25,30 ----
Index: cp/cp-gimplify.c
===================================================================
*** cp/cp-gimplify.c	(revision 229538)
--- cp/cp-gimplify.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 23,40 ****
  #include "system.h"
  #include "coretypes.h"
  #include "target.h"
- #include "function.h"
  #include "basic-block.h"
- #include "tree.h"
  #include "cp-tree.h"
- #include "c-family/c-common.h"
  #include "gimple.h"
  #include "predict.h"
  #include "stor-layout.h"
  #include "tree-iterator.h"
- #include "internal-fn.h"
  #include "gimplify.h"
- #include "flags.h"
  #include "c-family/c-ubsan.h"
  #include "cilk.h"
  
--- 23,35 ----
Index: cp/cp-lang.c
===================================================================
*** cp/cp-lang.c	(revision 229538)
--- cp/cp-lang.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 21,36 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "target.h"
- #include "tree.h"
  #include "cp-tree.h"
- #include "c-family/c-common.h"
  #include "stor-layout.h"
  #include "langhooks.h"
  #include "langhooks-def.h"
- #include "debug.h"
  #include "cp-objcp-common.h"
- #include "parser.h"
  
  enum c_language_kind c_language = clk_cxx;
  static void cp_init_ts (void);
--- 21,31 ----
Index: cp/cp-objcp-common.c
===================================================================
*** cp/cp-objcp-common.c	(revision 229538)
--- cp/cp-objcp-common.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 21,34 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "tm.h"
- #include "tree.h"
  #include "cp-tree.h"
- #include "c-family/c-common.h"
- #include "langhooks.h"
- #include "langhooks-def.h"
- #include "debug.h"
- #include "cxx-pretty-print.h"
  #include "cp-objcp-common.h"
  
  /* Special routine to get the alias set for C++.  */
--- 21,27 ----
Index: cp/cp-ubsan.c
===================================================================
*** cp/cp-ubsan.c	(revision 229538)
--- cp/cp-ubsan.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 21,42 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "basic-block.h"
- #include "tree.h"
  #include "cp-tree.h"
- #include "c-family/c-common.h"
- #include "gimple.h"
- #include "predict.h"
- #include "stringpool.h"
- #include "cgraph.h"
- #include "output.h"
- #include "toplev.h"
  #include "ubsan.h"
- #include "c-family/c-ubsan.h"
- #include "asan.h"
- #include "internal-fn.h"
- #include "stor-layout.h"
- #include "builtins.h"
  
  /* Test if we should instrument vptr access.  */
  
--- 21,28 ----
Index: cp/cvt.c
===================================================================
*** cp/cvt.c	(revision 229538)
--- cp/cvt.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 28,41 ****
  #include "system.h"
  #include "coretypes.h"
  #include "target.h"
- #include "tree.h"
  #include "cp-tree.h"
- #include "alias.h"
  #include "stor-layout.h"
  #include "flags.h"
  #include "intl.h"
  #include "convert.h"
- #include "decl.h"
  
  static tree cp_convert_to_pointer (tree, tree, tsubst_flags_t);
  static tree convert_to_pointer_force (tree, tree, tsubst_flags_t);
--- 28,38 ----
Index: cp/cxx-pretty-print.c
===================================================================
*** cp/cxx-pretty-print.c	(revision 229538)
--- cp/cxx-pretty-print.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 21,29 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "tm.h"
  #include "cp-tree.h"
- #include "intl.h"
  #include "cxx-pretty-print.h"
  #include "tree-pretty-print.h"
  
--- 21,27 ----
Index: cp/decl.c
===================================================================
*** cp/decl.c	(revision 229538)
--- cp/decl.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 31,51 ****
  #include "coretypes.h"
  #include "target.h"
  #include "c-family/c-target.h"
- #include "tree.h"
  #include "cp-tree.h"
- #include "c-family/c-common.h"
  #include "timevar.h"
- #include "tm_p.h"
  #include "stringpool.h"
  #include "cgraph.h"
- #include "tree-hasher.h"
  #include "stor-layout.h"
  #include "varasm.h"
  #include "attribs.h"
- #include "calls.h"
  #include "flags.h"
  #include "tree-iterator.h"
- #include "tree-inline.h"
  #include "decl.h"
  #include "intl.h"
  #include "toplev.h"
--- 31,45 ----
Index: cp/decl2.c
===================================================================
*** cp/decl2.c	(revision 229538)
--- cp/decl2.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 30,36 ****
  #include "system.h"
  #include "coretypes.h"
  #include "target.h"
- #include "tree.h"
  #include "cp-tree.h"
  #include "c-family/c-common.h"
  #include "timevar.h"
--- 30,35 ----
*************** along with GCC; see the file COPYING3.
*** 40,54 ****
  #include "attribs.h"
  #include "stor-layout.h"
  #include "calls.h"
- #include "flags.h"
  #include "decl.h"
  #include "toplev.h"
  #include "c-family/c-objc.h"
- #include "tree-inline.h"
  #include "c-family/c-pragma.h"
  #include "dumpfile.h"
  #include "intl.h"
- #include "langhooks.h"
  #include "c-family/c-ada-spec.h"
  #include "asan.h"
  
--- 39,50 ----
Index: cp/dump.c
===================================================================
*** cp/dump.c	(revision 229538)
--- cp/dump.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 21,30 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "tm.h"
- #include "tree.h"
  #include "cp-tree.h"
- #include "alias.h"
  #include "tree-dump.h"
  
  static void dump_access (dump_info_p, tree);
--- 21,27 ----
Index: cp/error.c
===================================================================
*** cp/error.c	(revision 229538)
--- cp/error.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 20,31 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "tm.h"
- #include "tree.h"
  #include "cp-tree.h"
  #include "stringpool.h"
- #include "alias.h"
- #include "flags.h"
  #include "tree-diagnostic.h"
  #include "langhooks-def.h"
  #include "intl.h"
--- 20,27 ----
Index: cp/except.c
===================================================================
*** cp/except.c	(revision 229538)
--- cp/except.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 24,38 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "target.h"
- #include "tree.h"
  #include "cp-tree.h"
  #include "stringpool.h"
- #include "alias.h"
  #include "trans-mem.h"
  #include "attribs.h"
- #include "flags.h"
- #include "tree-inline.h"
  #include "tree-iterator.h"
  
  static void push_eh_cleanup (tree);
--- 24,33 ----
Index: cp/expr.c
===================================================================
*** cp/expr.c	(revision 229538)
--- cp/expr.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 22,33 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "tm.h"
- #include "tree.h"
  #include "cp-tree.h"
- #include "tm_p.h"
- #include "alias.h"
- #include "flags.h"
  
  /* Expand C++-specific constants.  Currently, this means PTRMEM_CST.  */
  
--- 22,28 ----
Index: cp/friend.c
===================================================================
*** cp/friend.c	(revision 229538)
--- cp/friend.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 20,30 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "tm.h"
- #include "tree.h"
  #include "cp-tree.h"
- #include "alias.h"
- #include "flags.h"
  
  /* Friend data structures are described in cp-tree.h.  */
  
--- 20,26 ----
Index: cp/g++spec.c
===================================================================
*** cp/g++spec.c	(revision 229538)
--- cp/g++spec.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 21,27 ****
  #include "system.h"
  #include "coretypes.h"
  #include "tm.h"
- #include "gcc.h"
  #include "opts.h"
  
  /* This bit is set if we saw a `-xfoo' language specification.  */
--- 21,26 ----
Index: cp/init.c
===================================================================
*** cp/init.c	(revision 229538)
--- cp/init.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 24,35 ****
  #include "system.h"
  #include "coretypes.h"
  #include "target.h"
- #include "tree.h"
  #include "cp-tree.h"
  #include "stringpool.h"
- #include "alias.h"
  #include "varasm.h"
- #include "flags.h"
  #include "gimplify.h"
  #include "c-family/c-ubsan.h"
  
--- 24,32 ----
Index: cp/lambda.c
===================================================================
*** cp/lambda.c	(revision 229538)
--- cp/lambda.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 24,37 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "tm.h"
- #include "function.h"
- #include "hard-reg-set.h"
- #include "tree.h"
  #include "cp-tree.h"
  #include "stringpool.h"
  #include "cgraph.h"
- #include "alias.h"
  #include "tree-iterator.h"
  #include "toplev.h"
  
--- 24,32 ----
Index: cp/lex.c
===================================================================
*** cp/lex.c	(revision 229538)
--- cp/lex.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 24,37 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "tm.h"
- #include "tree.h"
  #include "cp-tree.h"
- #include "timevar.h"
- #include "tm_p.h"
  #include "stringpool.h"
- #include "alias.h"
- #include "flags.h"
  #include "c-family/c-pragma.h"
  #include "c-family/c-objc.h"
  
--- 24,31 ----
Index: cp/mangle.c
===================================================================
*** cp/mangle.c	(revision 229538)
--- cp/mangle.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 49,61 ****
  #include "coretypes.h"
  #include "target.h"
  #include "vtable-verify.h"
- #include "tree.h"
  #include "cp-tree.h"
- #include "tm_p.h"
  #include "stringpool.h"
  #include "cgraph.h"
- #include "alias.h"
- #include "tree-hasher.h"
  #include "stor-layout.h"
  #include "flags.h"
  #include "attribs.h"
--- 49,57 ----
Index: cp/method.c
===================================================================
*** cp/method.c	(revision 229538)
--- cp/method.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 25,38 ****
  #include "system.h"
  #include "coretypes.h"
  #include "target.h"
- #include "tree.h"
  #include "cp-tree.h"
- #include "tm_p.h"
  #include "stringpool.h"
  #include "cgraph.h"
- #include "alias.h"
  #include "varasm.h"
- #include "flags.h"
  #include "toplev.h"
  #include "common/common-target.h"
  
--- 25,34 ----
Index: cp/name-lookup.c
===================================================================
*** cp/name-lookup.c	(revision 229538)
--- cp/name-lookup.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 21,36 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "tm.h"
- #include "tree.h"
  #include "cp-tree.h"
  #include "timevar.h"
  #include "stringpool.h"
- #include "flags.h"
- #include "alias.h"
  #include "print-tree.h"
  #include "attribs.h"
- #include "intl.h"
  #include "debug.h"
  #include "c-family/c-pragma.h"
  #include "params.h"
--- 21,31 ----
Index: cp/optimize.c
===================================================================
*** cp/optimize.c	(revision 229538)
--- cp/optimize.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 22,38 ****
  #include "system.h"
  #include "coretypes.h"
  #include "target.h"
- #include "tree.h"
  #include "cp-tree.h"
  #include "stringpool.h"
  #include "cgraph.h"
- #include "alias.h"
- #include "params.h"
  #include "debug.h"
  #include "tree-inline.h"
- #include "flags.h"
- #include "langhooks.h"
- #include "dumpfile.h"
  #include "tree-iterator.h"
  
  /* Prototypes.  */
--- 22,32 ----
Index: cp/parser.c
===================================================================
*** cp/parser.c	(revision 229538)
--- cp/parser.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 21,28 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "target.h"
- #include "tree.h"
  #include "cp-tree.h"
  #include "c-family/c-common.h"
  #include "timevar.h"
--- 21,26 ----
*************** along with GCC; see the file COPYING3.
*** 32,45 ****
  #include "attribs.h"
  #include "trans-mem.h"
  #include "intl.h"
- #include "c-family/c-pragma.h"
  #include "decl.h"
- #include "flags.h"
  #include "c-family/c-objc.h"
  #include "plugin.h"
  #include "tree-pretty-print.h"
  #include "parser.h"
- #include "type-utils.h"
  #include "omp-low.h"
  #include "gomp-constants.h"
  #include "c-family/c-indentation.h"
--- 30,40 ----
Index: cp/pt.c
===================================================================
*** cp/pt.c	(revision 229538)
--- cp/pt.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 27,47 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "tm.h"
- #include "tree.h"
  #include "cp-tree.h"
- #include "c-family/c-common.h"
  #include "timevar.h"
  #include "stringpool.h"
  #include "varasm.h"
  #include "attribs.h"
  #include "stor-layout.h"
  #include "intl.h"
- #include "flags.h"
  #include "c-family/c-objc.h"
  #include "cp-objcp-common.h"
- #include "tree-inline.h"
- #include "decl.h"
  #include "toplev.h"
  #include "tree-iterator.h"
  #include "type-utils.h"
--- 27,41 ----
Index: cp/ptree.c
===================================================================
*** cp/ptree.c	(revision 229538)
--- cp/ptree.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 22,31 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "tm.h"
- #include "tree.h"
  #include "cp-tree.h"
- #include "alias.h"
  #include "print-tree.h"
  
  void
--- 22,28 ----
Index: cp/repo.c
===================================================================
*** cp/repo.c	(revision 229538)
--- cp/repo.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 27,39 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "tm.h"
- #include "tree.h"
  #include "cp-tree.h"
  #include "stringpool.h"
- #include "alias.h"
  #include "toplev.h"
- #include "flags.h"
  
  static const char *extract_string (const char **);
  static const char *get_base_filename (const char *);
--- 27,35 ----
Index: cp/rtti.c
===================================================================
*** cp/rtti.c	(revision 229538)
--- cp/rtti.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 22,36 ****
  #include "system.h"
  #include "coretypes.h"
  #include "target.h"
- #include "tree.h"
  #include "cp-tree.h"
  #include "tm_p.h"
  #include "stringpool.h"
  #include "intl.h"
- #include "alias.h"
  #include "stor-layout.h"
- #include "flags.h"
- #include "convert.h"
  #include "c-family/c-pragma.h"
  
  /* C++ returns type information to the user in struct type_info
--- 22,32 ----
Index: cp/search.c
===================================================================
*** cp/search.c	(revision 229538)
--- cp/search.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 24,35 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "target.h"
- #include "tree.h"
  #include "cp-tree.h"
- #include "alias.h"
  #include "intl.h"
- #include "flags.h"
  #include "toplev.h"
  
  static int is_subobject_of_p (tree, tree);
--- 24,31 ----
Index: cp/semantics.c
===================================================================
*** cp/semantics.c	(revision 229538)
--- cp/semantics.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 28,37 ****
  #include "coretypes.h"
  #include "target.h"
  #include "bitmap.h"
- #include "tree.h"
  #include "cp-tree.h"
- #include "c-family/c-common.h"
- #include "timevar.h"
  #include "stringpool.h"
  #include "cgraph.h"
  #include "stmt.h"
--- 28,34 ----
*************** along with GCC; see the file COPYING3.
*** 40,51 ****
  #include "c-family/c-objc.h"
  #include "tree-inline.h"
  #include "intl.h"
- #include "toplev.h"
- #include "flags.h"
  #include "tree-iterator.h"
- #include "gimplify.h"
  #include "omp-low.h"
- #include "builtins.h"
  #include "convert.h"
  #include "gomp-constants.h"
  
--- 37,44 ----
Index: cp/tree.c
===================================================================
*** cp/tree.c	(revision 229538)
--- cp/tree.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 21,38 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "tm.h"
  #include "tree.h"
  #include "cp-tree.h"
  #include "gimple-expr.h"
  #include "cgraph.h"
- #include "alias.h"
- #include "fold-const.h"
- #include "tree-hasher.h"
  #include "stor-layout.h"
  #include "print-tree.h"
  #include "tree-iterator.h"
- #include "flags.h"
  #include "tree-inline.h"
  #include "debug.h"
  #include "convert.h"
--- 21,33 ----
Index: cp/typeck.c
===================================================================
*** cp/typeck.c	(revision 229538)
--- cp/typeck.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 28,39 ****
  #include "system.h"
  #include "coretypes.h"
  #include "target.h"
- #include "tree.h"
  #include "cp-tree.h"
- #include "c-family/c-common.h"
  #include "stor-layout.h"
  #include "varasm.h"
- #include "flags.h"
  #include "intl.h"
  #include "convert.h"
  #include "c-family/c-objc.h"
--- 28,36 ----
Index: cp/typeck2.c
===================================================================
*** cp/typeck2.c	(revision 229538)
--- cp/typeck2.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 28,41 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "tm.h"
- #include "tree.h"
  #include "cp-tree.h"
- #include "alias.h"
  #include "stor-layout.h"
  #include "varasm.h"
  #include "intl.h"
- #include "flags.h"
  
  static tree
  process_init_constructor (tree type, tree init, tsubst_flags_t complain);
--- 28,37 ----
Index: cp/vtable-class-hierarchy.c
===================================================================
*** cp/vtable-class-hierarchy.c	(revision 229538)
--- cp/vtable-class-hierarchy.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 113,119 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "tm.h"
  #include "vtable-verify.h"
  #include "cp-tree.h"
  #include "stringpool.h"
--- 113,118 ----
Index: fortran/array.c
===================================================================
*** fortran/array.c	(revision 229538)
--- fortran/array.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 23,29 ****
  #include "coretypes.h"
  #include "options.h"
  #include "gfortran.h"
- #include "flags.h"
  #include "match.h"
  #include "constructor.h"
  
--- 23,28 ----
Index: fortran/convert.c
===================================================================
*** fortran/convert.c	(revision 229538)
--- fortran/convert.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 25,33 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "options.h"
  #include "tree.h"
- #include "alias.h"
  #include "fold-const.h"
  #include "convert.h"
  
--- 25,31 ----
Index: fortran/cpp.c
===================================================================
*** fortran/cpp.c	(revision 229538)
--- fortran/cpp.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 20,32 ****
  #include "system.h"
  #include "coretypes.h"
  #include "target.h"
- #include "tree.h"
  #include "gfortran.h"
- #include "tm_p.h"		/* Target prototypes.  */
  #include "diagnostic.h"
- #include "alias.h"
- #include "version.h"
- #include "flags.h"
  
  
  #include "toplev.h"
--- 20,27 ----
Index: fortran/decl.c
===================================================================
*** fortran/decl.c	(revision 229538)
--- fortran/decl.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 28,34 ****
  #include "match.h"
  #include "parse.h"
  #include "constructor.h"
- #include "alias.h"
  
  /* Macros to access allocate memory for gfc_data_variable,
     gfc_data_value and gfc_data.  */
--- 28,33 ----
Index: fortran/f95-lang.c
===================================================================
*** fortran/f95-lang.c	(revision 229538)
--- fortran/f95-lang.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 30,46 ****
  #include "tree.h"
  #include "gfortran.h"
  #include "trans.h"
- #include "timevar.h"
- #include "cgraph.h"
  #include "diagnostic.h" /* For errorcount/warningcount */
- #include "ansidecl.h"
- #include "alias.h"
- #include "flags.h"
  #include "langhooks.h"
  #include "langhooks-def.h"
  #include "toplev.h"
  #include "debug.h"
- #include "dumpfile.h"
  #include "cpp.h"
  #include "trans-types.h"
  #include "trans-const.h"
--- 30,40 ----
Index: fortran/frontend-passes.c
===================================================================
*** fortran/frontend-passes.c	(revision 229538)
--- fortran/frontend-passes.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 23,32 ****
  #include "coretypes.h"
  #include "options.h"
  #include "gfortran.h"
- #include "arith.h"
  #include "dependency.h"
  #include "constructor.h"
- #include "opts.h"
  #include "intrinsic.h"
  
  /* Forward declarations.  */
--- 23,30 ----
Index: fortran/iresolve.c
===================================================================
*** fortran/iresolve.c	(revision 229538)
--- fortran/iresolve.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 29,39 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "options.h"
  #include "tree.h"
  #include "gfortran.h"
  #include "stringpool.h"
- #include "alias.h"
  #include "intrinsic.h"
  #include "constructor.h"
  #include "arith.h"
--- 29,37 ----
Index: fortran/match.c
===================================================================
*** fortran/match.c	(revision 229538)
--- fortran/match.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 22,34 ****
  #include "system.h"
  #include "coretypes.h"
  #include "options.h"
- #include "tree.h"
  #include "gfortran.h"
- #include "stringpool.h"
- #include "flags.h"
  #include "match.h"
  #include "parse.h"
- #include "alias.h"
  
  int gfc_matching_ptr_assignment = 0;
  int gfc_matching_procptr_assignment = 0;
--- 22,30 ----
Index: fortran/module.c
===================================================================
*** fortran/module.c	(revision 229538)
--- fortran/module.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 76,82 ****
  #include "parse.h" /* FIXME */
  #include "constructor.h"
  #include "cpp.h"
- #include "alias.h"
  #include "scanner.h"
  #include <zlib.h>
  
--- 76,81 ----
Index: fortran/options.c
===================================================================
*** fortran/options.c	(revision 229538)
--- fortran/options.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 25,37 ****
  #include "tree.h"
  #include "gfortran.h"
  #include "diagnostic.h"	/* For global_dc.  */
- #include "alias.h"
- #include "flags.h"
- #include "intl.h"
  #include "opts.h"
  #include "toplev.h"  /* For save_decoded_options.  */
- #include "params.h"
- #include "tree-inline.h"
  #include "cpp.h"
  #include "langhooks.h"
  
--- 25,32 ----
Index: fortran/parse.c
===================================================================
*** fortran/parse.c	(revision 229538)
--- fortran/parse.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 26,32 ****
  #include <setjmp.h>
  #include "match.h"
  #include "parse.h"
- #include "debug.h"
  
  /* Current statement label.  Zero means no statement label.  Because new_st
     can get wiped during statement matching, we have to keep it separate.  */
--- 26,31 ----
Index: fortran/target-memory.c
===================================================================
*** fortran/target-memory.c	(revision 229538)
--- fortran/target-memory.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 24,30 ****
  #include "tree.h"
  #include "gfortran.h"
  #include "trans.h"
- #include "alias.h"
  #include "fold-const.h"
  #include "stor-layout.h"
  #include "arith.h"
--- 24,29 ----
Index: fortran/trans-array.c
===================================================================
*** fortran/trans-array.c	(revision 229538)
--- fortran/trans-array.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 83,94 ****
  #include "gfortran.h"
  #include "gimple-expr.h"
  #include "trans.h"
- #include "diagnostic-core.h"	/* For internal_error/fatal_error.  */
- #include "alias.h"
  #include "fold-const.h"
- #include "flags.h"
  #include "constructor.h"
- #include "trans-stmt.h"
  #include "trans-types.h"
  #include "trans-array.h"
  #include "trans-const.h"
--- 83,90 ----
Index: fortran/trans-common.c
===================================================================
*** fortran/trans-common.c	(revision 229538)
--- fortran/trans-common.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 103,109 ****
  
  #include <map>
  
- #include "alias.h"
  #include "fold-const.h"
  #include "stor-layout.h"
  #include "varasm.h"
--- 103,108 ----
Index: fortran/trans-const.c
===================================================================
*** fortran/trans-const.c	(revision 229538)
--- fortran/trans-const.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 23,34 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "options.h"
  #include "tree.h"
  #include "gfortran.h"
  #include "trans.h"
  #include "diagnostic-core.h"	/* For fatal_error.  */
- #include "alias.h"
  #include "fold-const.h"
  #include "stor-layout.h"
  #include "realmpfr.h"
--- 23,32 ----
Index: fortran/trans-decl.c
===================================================================
*** fortran/trans-decl.c	(revision 229538)
--- fortran/trans-decl.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 31,45 ****
  #include "trans.h"
  #include "stringpool.h"
  #include "cgraph.h"
- #include "diagnostic-core.h"	/* For internal_error.  */
- #include "alias.h"
  #include "fold-const.h"
  #include "stor-layout.h"
  #include "varasm.h"
  #include "attribs.h"
  #include "tree-dump.h"
  #include "toplev.h"	/* For announce_function.  */
- #include "flags.h"
  #include "debug.h"
  #include "constructor.h"
  #include "trans-types.h"
--- 31,42 ----
Index: fortran/trans-expr.c
===================================================================
*** fortran/trans-expr.c	(revision 229538)
--- fortran/trans-expr.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 30,39 ****
  #include "trans.h"
  #include "stringpool.h"
  #include "diagnostic-core.h"	/* For fatal_error.  */
- #include "alias.h"
  #include "fold-const.h"
  #include "langhooks.h"
- #include "flags.h"
  #include "arith.h"
  #include "constructor.h"
  #include "trans-const.h"
--- 30,37 ----
Index: fortran/trans-intrinsic.c
===================================================================
*** fortran/trans-intrinsic.c	(revision 229538)
--- fortran/trans-intrinsic.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 29,49 ****
  #include "gfortran.h"
  #include "trans.h"
  #include "stringpool.h"
- #include "diagnostic-core.h"	/* For internal_error.  */
- #include "alias.h"
  #include "fold-const.h"
  #include "tree-nested.h"
  #include "stor-layout.h"
  #include "toplev.h"	/* For rest_of_decl_compilation.  */
- #include "flags.h"
  #include "arith.h"
- #include "intrinsic.h"
  #include "trans-const.h"
  #include "trans-types.h"
  #include "trans-array.h"
  #include "dependency.h"	/* For CAF array alias analysis.  */
  /* Only for gfc_trans_assign and gfc_trans_pointer_assign.  */
- #include "trans-stmt.h"
  
  /* This maps Fortran intrinsic math functions to external library or GCC
     builtin functions.  */
--- 29,44 ----
Index: fortran/trans-io.c
===================================================================
*** fortran/trans-io.c	(revision 229538)
--- fortran/trans-io.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 22,34 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "options.h"
  #include "tree.h"
  #include "gfortran.h"
  #include "trans.h"
  #include "stringpool.h"
- #include "diagnostic-core.h"	/* For internal_error.  */
- #include "alias.h"
  #include "fold-const.h"
  #include "stor-layout.h"
  #include "trans-stmt.h"
--- 22,31 ----
Index: fortran/trans-openmp.c
===================================================================
*** fortran/trans-openmp.c	(revision 229538)
--- fortran/trans-openmp.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 28,35 ****
  #include "gimple-expr.h"
  #include "trans.h"
  #include "stringpool.h"
- #include "diagnostic-core.h"	/* For internal_error.  */
- #include "alias.h"
  #include "fold-const.h"
  #include "gimplify.h"	/* For create_tmp_var_raw.  */
  #include "trans-stmt.h"
--- 28,33 ----
Index: fortran/trans-stmt.c
===================================================================
*** fortran/trans-stmt.c	(revision 229538)
--- fortran/trans-stmt.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 28,41 ****
  #include "gfortran.h"
  #include "trans.h"
  #include "stringpool.h"
- #include "alias.h"
  #include "fold-const.h"
- #include "flags.h"
  #include "trans-stmt.h"
  #include "trans-types.h"
  #include "trans-array.h"
  #include "trans-const.h"
- #include "arith.h"
  #include "dependency.h"
  
  typedef struct iter_info
--- 28,38 ----
Index: fortran/trans-types.c
===================================================================
*** fortran/trans-types.c	(revision 229538)
--- fortran/trans-types.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 29,43 ****
  #include "gfortran.h"
  #include "trans.h"
  #include "stringpool.h"
- #include "diagnostic-core.h"  /* For fatal_error.  */
- #include "alias.h"
  #include "fold-const.h"
  #include "stor-layout.h"
  #include "langhooks.h"	/* For iso-c-bindings.def.  */
  #include "toplev.h"	/* For rest_of_decl_compilation.  */
  #include "trans-types.h"
  #include "trans-const.h"
- #include "flags.h"
  #include "dwarf2out.h"	/* For struct array_descr_info.  */
  \f
  
--- 29,40 ----
Index: fortran/trans.c
===================================================================
*** fortran/trans.c	(revision 229538)
--- fortran/trans.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 27,37 ****
  #include "gimple-expr.h"	/* For create_tmp_var_raw.  */
  #include "trans.h"
  #include "stringpool.h"
- #include "diagnostic-core.h"  /* For internal_error.  */
- #include "alias.h"
  #include "fold-const.h"
  #include "tree-iterator.h"
- #include "flags.h"
  #include "trans-stmt.h"
  #include "trans-array.h"
  #include "trans-types.h"
--- 27,34 ----
Index: lto/lto-lang.c
===================================================================
*** lto/lto-lang.c	(revision 229538)
--- lto/lto-lang.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 26,46 ****
  #include "basic-block.h"
  #include "tree.h"
  #include "gimple.h"
- #include "predict.h"
  #include "stringpool.h"
- #include "cgraph.h"
  #include "diagnostic-core.h"
- #include "alias.h"
- #include "fold-const.h"
  #include "stor-layout.h"
  #include "langhooks.h"
  #include "langhooks-def.h"
  #include "debug.h"
  #include "lto-tree.h"
  #include "lto.h"
- #include "tree-inline.h"
- #include "internal-fn.h"
- #include "toplev.h"
  #include "cilk.h"
  
  static tree lto_type_for_size (unsigned, int);
--- 26,39 ----
Index: lto/lto-object.c
===================================================================
*** lto/lto-object.c	(revision 229538)
--- lto/lto-object.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 22,38 ****
  #include "system.h"
  #include "coretypes.h"
  #include "tm.h"
- #include "function.h"
- #include "basic-block.h"
- #include "hard-reg-set.h"
- #include "tree.h"
- #include "gimple.h"
- #include "predict.h"
- #include "cgraph.h"
  #include "diagnostic-core.h"
- #include "alias.h"
- #include "fold-const.h"
- #include "internal-fn.h"
  #include "lto.h"
  #include "lto-section-names.h"
  #include "simple-object.h"
--- 22,28 ----
Index: lto/lto-partition.c
===================================================================
*** lto/lto-partition.c	(revision 229538)
--- lto/lto-partition.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 25,45 ****
  #include "basic-block.h"
  #include "tree.h"
  #include "gimple.h"
- #include "predict.h"
  #include "alloc-pool.h"
- #include "timevar.h"
  #include "stringpool.h"
  #include "cgraph.h"
  #include "lto-streamer.h"
- #include "toplev.h"
- #include "alias.h"
- #include "fold-const.h"
- #include "internal-fn.h"
  #include "params.h"
  #include "symbol-summary.h"
  #include "ipa-prop.h"
  #include "ipa-inline.h"
- #include "ipa-utils.h"
  #include "lto-partition.h"
  
  vec<ltrans_partition> ltrans_partitions;
--- 25,38 ----
Index: lto/lto-symtab.c
===================================================================
*** lto/lto-symtab.c	(revision 229538)
--- lto/lto-symtab.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 26,45 ****
  #include "basic-block.h"
  #include "tree.h"
  #include "gimple.h"
- #include "predict.h"
- #include "alloc-pool.h"
  #include "cgraph.h"
  #include "lto-streamer.h"
- #include "diagnostic-core.h"
- #include "alias.h"
- #include "fold-const.h"
- #include "internal-fn.h"
  #include "ipa-utils.h"
- #include "symbol-summary.h"
- #include "ipa-prop.h"
- #include "ipa-inline.h"
  #include "builtins.h"
- #include "print-tree.h"
  
  /* Replace the cgraph node NODE with PREVAILING_NODE in the cgraph, merging
     all edges and removing the old node.  */
--- 26,35 ----
Index: lto/lto.c
===================================================================
*** lto/lto.c	(revision 229538)
--- lto/lto.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 25,53 ****
  #include "function.h"
  #include "bitmap.h"
  #include "basic-block.h"
- #include "hard-reg-set.h"
  #include "tree.h"
  #include "gimple.h"
  #include "cfghooks.h"
  #include "alloc-pool.h"
  #include "tree-pass.h"
- #include "tree-ssa-operands.h"
  #include "tree-streamer.h"
  #include "cgraph.h"
- #include "diagnostic-core.h"
  #include "opts.h"
  #include "toplev.h"
- #include "alias.h"
- #include "fold-const.h"
  #include "stor-layout.h"
- #include "langhooks.h"
  #include "symbol-summary.h"
  #include "ipa-prop.h"
  #include "common.h"
  #include "debug.h"
- #include "internal-fn.h"
  #include "lto.h"
- #include "lto-tree.h"
  #include "lto-section-names.h"
  #include "splay-tree.h"
  #include "lto-partition.h"
--- 25,45 ----
Index: objc/objc-act.c
===================================================================
*** objc/objc-act.c	(revision 229538)
--- objc/objc-act.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 22,31 ****
  #include "system.h"
  #include "coretypes.h"
  #include "tm.h"
- #include "alias.h"
  #include "tree.h"
- #include "options.h"
- #include "fold-const.h"
  #include "stringpool.h"
  #include "stor-layout.h"
  #include "attribs.h"
--- 22,28 ----
*************** along with GCC; see the file COPYING3.
*** 37,67 ****
  #include "c/c-lang.h"
  #endif
  
- #include "c-family/c-common.h"
  #include "c-family/c-objc.h"
- #include "c-family/c-pragma.h"
- #include "c-family/c-format.h"
- #include "flags.h"
  #include "langhooks.h"
  #include "objc-act.h"
  #include "objc-map.h"
- #include "hard-reg-set.h"
  #include "function.h"
  #include "toplev.h"
  #include "debug.h"
  #include "c-family/c-target.h"
- #include "diagnostic-core.h"
  #include "intl.h"
  #include "cgraph.h"
  #include "tree-iterator.h"
- #include "langhooks-def.h"
  /* Different initialization, code gen and meta data generation for each
     runtime.  */
  #include "objc-runtime-hooks.h"
  /* Routines used mainly by the runtimes.  */
  #include "objc-runtime-shared-support.h"
  /* For default_tree_printer ().  */
- #include "tree-pretty-print.h"
  
  /* For enum gimplify_status */
  #include "gimple-expr.h"
--- 34,56 ----
Index: objc/objc-encoding.c
===================================================================
*** objc/objc-encoding.c	(revision 229538)
--- objc/objc-encoding.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 20,26 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "alias.h"
  #include "tree.h"
  #include "options.h"
  #include "stringpool.h"
--- 20,25 ----
*************** along with GCC; see the file COPYING3.
*** 33,39 ****
  #include "c/c-lang.h"
  #endif
  
- #include "c-family/c-common.h"
  #include "c-family/c-objc.h"
  
  #include "objc-encoding.h"
--- 32,37 ----
*************** along with GCC; see the file COPYING3.
*** 43,49 ****
  #include "objc-runtime-shared-support.h"
  
  /* For BITS_PER_UNIT.  */
- #include "tm.h"
  
  /* When building Objective-C++, we are not linking against the C front-end
     and so need to replicate the C tree-construction functions in some way.  */
--- 41,46 ----
*************** along with GCC; see the file COPYING3.
*** 53,59 ****
  #endif  /* OBJCPLUS */
  
  /* Set up for use of obstacks.  */
- #include "obstack.h"
  
  /* This obstack is used to accumulate the encoding of a data type.  */
  static struct obstack util_obstack;
--- 50,55 ----
Index: objc/objc-gnu-runtime-abi-01.c
===================================================================
*** objc/objc-gnu-runtime-abi-01.c	(revision 229538)
--- objc/objc-gnu-runtime-abi-01.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 21,30 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "alias.h"
- #include "tree.h"
  #include "options.h"
- #include "fold-const.h"
  #include "stringpool.h"
  
  #ifdef OBJCPLUS
--- 21,27 ----
Index: objc/objc-lang.c
===================================================================
*** objc/objc-lang.c	(revision 229538)
--- objc/objc-lang.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 22,37 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "tm.h"
- #include "tree.h"
- #include "c-family/c-common.h"
  #include "c/c-tree.h"
  #include "c-family/c-objc.h"
  #include "objc-act.h"
  #include "langhooks.h"
  #include "langhooks-def.h"
  #include "c/c-objc-common.h"
- #include "c/c-lang.h"
  
  enum c_language_kind c_language = clk_objc;
  
--- 22,33 ----
Index: objc/objc-map.c
===================================================================
*** objc/objc-map.c	(revision 229538)
--- objc/objc-map.c	(working copy)
*************** Boston, MA 02110-1301, USA.  */
*** 20,28 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "options.h"
  #include "tree.h"
- #include "alias.h"
  #include "objc-map.h"
  
  #define OUT_OF_MEMORY { fprintf (stderr, "Out of memory\n"); abort (); }
--- 20,26 ----
Index: objc/objc-next-runtime-abi-01.c
===================================================================
*** objc/objc-next-runtime-abi-01.c	(revision 229538)
--- objc/objc-next-runtime-abi-01.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 26,35 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "alias.h"
- #include "tree.h"
- #include "options.h"
- #include "fold-const.h"
  #include "stringpool.h"
  
  #ifdef OBJCPLUS
--- 26,31 ----
Index: objc/objc-next-runtime-abi-02.c
===================================================================
*** objc/objc-next-runtime-abi-02.c	(revision 229538)
--- objc/objc-next-runtime-abi-02.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 28,38 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "tm.h"
- #include "alias.h"
- #include "tree.h"
- #include "options.h"
- #include "fold-const.h"
  #include "stringpool.h"
  
  #ifdef OBJCPLUS
--- 28,33 ----
Index: objc/objc-runtime-shared-support.c
===================================================================
*** objc/objc-runtime-shared-support.c	(revision 229538)
--- objc/objc-runtime-shared-support.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 22,30 ****
  #include "system.h"
  #include "coretypes.h"
  #include "tm.h"
- #include "alias.h"
- #include "tree.h"
- #include "options.h"
  #include "stringpool.h"
  
  #ifdef OBJCPLUS
--- 22,27 ----
*************** along with GCC; see the file COPYING3.
*** 33,39 ****
  #include "c/c-tree.h"
  #include "c/c-lang.h"
  #endif
- #include "langhooks.h"
  #include "c-family/c-objc.h"
  #include "objc-act.h"
  
--- 30,35 ----

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [patch] New 'all' front end header reduction
  2015-10-30 13:38 ` [patch] New 'all' front end header reduction Andrew MacLeod
@ 2015-10-30 16:20   ` Mike Stump
  2015-10-30 16:35     ` Andrew MacLeod
  2015-11-02  6:41   ` Jeff Law
  1 sibling, 1 reply; 30+ messages in thread
From: Mike Stump @ 2015-10-30 16:20 UTC (permalink / raw)
  To: Andrew MacLeod; +Cc: gcc-patches, Jeff Law

On Oct 30, 2015, at 6:37 AM, Andrew MacLeod <amacleod@redhat.com> wrote:
> OK, here's the much delayed front end reduction patch based on the reordering already being checked in.

So, Objective-C++ should be toggled on at least once for this.  If it builds, it should be fine; though the entire objc++ test suite is tiny (by comparison to c).  This can be done on linux or any host.

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [patch] New 'all' front end header reduction
  2015-10-30 16:20   ` Mike Stump
@ 2015-10-30 16:35     ` Andrew MacLeod
  2015-10-30 16:39       ` Mike Stump
  0 siblings, 1 reply; 30+ messages in thread
From: Andrew MacLeod @ 2015-10-30 16:35 UTC (permalink / raw)
  To: Mike Stump; +Cc: gcc-patches, Jeff Law

On 10/30/2015 12:07 PM, Mike Stump wrote:
> On Oct 30, 2015, at 6:37 AM, Andrew MacLeod <amacleod@redhat.com> wrote:
>> OK, here's the much delayed front end reduction patch based on the reordering already being checked in.
> So, Objective-C++ should be toggled on at least once for this.  If it builds, it should be fine; though the entire objc++ test suite is tiny (by comparison to c).  This can be done on linux or any host.
The final full native bootstrap and testsuite regressions were  done 
which included objcp and all the other languages not in this patch.   So 
I think it ought to be fine.

Andrew

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [patch] New 'all' front end header reduction
  2015-10-30 16:35     ` Andrew MacLeod
@ 2015-10-30 16:39       ` Mike Stump
  0 siblings, 0 replies; 30+ messages in thread
From: Mike Stump @ 2015-10-30 16:39 UTC (permalink / raw)
  To: Andrew MacLeod; +Cc: gcc-patches, Jeff Law

On Oct 30, 2015, at 9:20 AM, Andrew MacLeod <amacleod@redhat.com> wrote:
> On 10/30/2015 12:07 PM, Mike Stump wrote:
>> On Oct 30, 2015, at 6:37 AM, Andrew MacLeod <amacleod@redhat.com> wrote:
>>> OK, here's the much delayed front end reduction patch based on the reordering already being checked in.
>> So, Objective-C++ should be toggled on at least once for this.  If it builds, it should be fine; though the entire objc++ test suite is tiny (by comparison to c).  This can be done on linux or any host.
> The final full native bootstrap and testsuite regressions were  done which included objcp and all the other languages not in this patch.   So I think it ought to be fine.

Yes, as long as it was done once somewhere along the way, it should be fine.

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [patch] New backend header reduction
  2015-10-23 19:25 ` Jeff Law
@ 2015-10-30 18:03   ` Cesar Philippidis
  2015-10-30 18:29     ` Andrew MacLeod
  0 siblings, 1 reply; 30+ messages in thread
From: Cesar Philippidis @ 2015-10-30 18:03 UTC (permalink / raw)
  To: Jeff Law, Andrew MacLeod, gcc-patches

[-- Attachment #1: Type: text/plain, Size: 2496 bytes --]

On 10/23/2015 12:24 PM, Jeff Law wrote:
> On 10/23/2015 10:53 AM, Andrew MacLeod wrote:
>> Just finished running...  I think the external hard drive was slowing
>> down this run :-P  It took quite a while.
>>
>> Anyway, this is the reduction patch independent of the header-ordering
>> patch... ie, that patch needs to be applied before this one.   So this
>> should be mostly just removals.   I also need to follow up and build all
>> the target and bootstrap from scratch to make sure there arent any
>> weirdnesses with it.   But you can at least get a look at it now.
>>
>> a few interesting stats:
>>
>> Top reductions:
>>
>> passes.c: Reduction performed, 26 includes removed.
>> shrink-wrap.c: Reduction performed, 21 includes removed.
>> ipa-polymorphic-call.c: Reduction performed, 21 includes removed.
>> lto-cgraph.c: Reduction performed, 19 includes removed.
>> ddg.c: Reduction performed, 19 includes removed.
>> tree-ssa-pre.c: Reduction performed, 18 includes removed.
>> lra-remat.c: Reduction performed, 18 includes removed.
>> cgraph.c: Reduction performed, 18 includes removed.
>> cgraphclones.c: Reduction performed, 18 includes removed.
>> tsan.c: Reduction performed, 17 includes removed.
>> tree-into-ssa.c: Reduction performed, 17 includes removed.
>> lto-section-in.c: Reduction performed, 17 includes removed.
>>
>> And headers most often removed:
>>
>> alias.h: Removed 230 times.
>> flags.h: Removed 207 times.
>> internal-fn.h: Removed 143 times.
>> stmt.h: Removed 128 times.
>> dojump.h: Removed 122 times.
>> expmed.h: Removed 115 times.
>> explow.h: Removed 115 times.
>> varasm.h: Removed 114 times.
>> calls.h: Removed 114 times.
>> expr.h: Removed 81 times.
>> insn-config.h: Removed 77 times.
>> emit-rtl.h: Removed 62 times.
>> hard-reg-set.h: Removed 60 times.
>> tm_p.h: Removed 56 times.
>> fold-const.h: Removed 56 times.
>> diagnostic-core.h: Removed 53 times.
>> except.h: Removed 51 times.
> Approved.  This was the easy part :-)
> 
> A quick grep shows 2309 unnecessary #includes removed.

There's a little bit of fallout with this patch when building an
offloaded compiler for openacc. It looks like cgraph.c needs to include
context.h and varpool.c needs context.h and omp-low.h. There's a couple
of ifdef ENABLE_OFFLOADING which may have gone undetected with your script.

I've bootstrapped the attached patch for an nvptx/x86_64-linux target.
I'm still testing that toolchain. If the testing comes back clean, is
this patch OK for trunk?

Cesar


[-- Attachment #2: header-reduction.diff --]
[-- Type: text/x-patch, Size: 928 bytes --]

2015-10-30  Cesar Philippidis  <cesar@codesourcery.com>

	gcc/
	* cgraph.c: Include context.h for offloading.
	* varpool.c: Include context.h and omp-low.h.

diff --git a/gcc/cgraph.c b/gcc/cgraph.c
index 92b8613..7839c72 100644
--- a/gcc/cgraph.c
+++ b/gcc/cgraph.c
@@ -57,6 +57,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "profile.h"
 #include "params.h"
 #include "tree-chkp.h"
+#include "context.h"
 
 /* FIXME: Only for PROP_loops, but cgraph shouldn't have to know about this.  */
 #include "tree-pass.h"
diff --git a/gcc/varpool.c b/gcc/varpool.c
index 3010dbb..478f365 100644
--- a/gcc/varpool.c
+++ b/gcc/varpool.c
@@ -31,6 +31,8 @@ along with GCC; see the file COPYING3.  If not see
 #include "varasm.h"
 #include "debug.h"
 #include "output.h"
+#include "omp-low.h"
+#include "context.h"
 
 const char * const tls_model_names[]={"none", "emulated",
 				      "global-dynamic", "local-dynamic",

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [patch] New backend header reduction
  2015-10-30 18:03   ` Cesar Philippidis
@ 2015-10-30 18:29     ` Andrew MacLeod
  2015-10-30 20:24       ` Andrew MacLeod
  0 siblings, 1 reply; 30+ messages in thread
From: Andrew MacLeod @ 2015-10-30 18:29 UTC (permalink / raw)
  To: Cesar Philippidis, Jeff Law, gcc-patches

On 10/30/2015 01:56 PM, Cesar Philippidis wrote:
> On 10/23/2015 12:24 PM, Jeff Law wrote:
>> On 10/23/2015 10:53 AM, Andrew MacLeod wrote:
>>
> There's a little bit of fallout with this patch when building an
> offloaded compiler for openacc. It looks like cgraph.c needs to include
> context.h and varpool.c needs context.h and omp-low.h. There's a couple
> of ifdef ENABLE_OFFLOADING which may have gone undetected with your script.
If they are defined on the command line or some other way I couldn't see 
with the targets I built, then that is the common case when that 
happens.  I don't think I did any openacc builds.     OR maybe I need to 
add nvptx to my coverage builds. Perhaps that is best.
> I've bootstrapped the attached patch for an nvptx/x86_64-linux target.
> I'm still testing that toolchain. If the testing comes back clean, is
> this patch OK for trunk?
>
>

I would say that follows under obvious...

Andrew

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [patch] New backend header reduction
  2015-10-30 18:29     ` Andrew MacLeod
@ 2015-10-30 20:24       ` Andrew MacLeod
  2015-10-30 20:27         ` Cesar Philippidis
  0 siblings, 1 reply; 30+ messages in thread
From: Andrew MacLeod @ 2015-10-30 20:24 UTC (permalink / raw)
  To: Cesar Philippidis, Jeff Law, gcc-patches

On 10/30/2015 02:09 PM, Andrew MacLeod wrote:
> On 10/30/2015 01:56 PM, Cesar Philippidis wrote:
>> On 10/23/2015 12:24 PM, Jeff Law wrote:
>>> On 10/23/2015 10:53 AM, Andrew MacLeod wrote:
>>>
>> There's a little bit of fallout with this patch when building an
>> offloaded compiler for openacc. It looks like cgraph.c needs to include
>> context.h and varpool.c needs context.h and omp-low.h. There's a couple
>> of ifdef ENABLE_OFFLOADING which may have gone undetected with your 
>> script.
> If they are defined on the command line or some other way I couldn't 
> see with the targets I built, then that is the common case when that 
> happens.  I don't think I did any openacc builds.     OR maybe I need 
> to add nvptx to my coverage builds. Perhaps that is best.
>> I've bootstrapped the attached patch for an nvptx/x86_64-linux target.
>> I'm still testing that toolchain. If the testing comes back clean, is
>> this patch OK for trunk?
Ah, I see.  there is no nvptx target in config-list.mk, so it never got 
covered.

Andrew

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [patch] New backend header reduction
  2015-10-30 20:24       ` Andrew MacLeod
@ 2015-10-30 20:27         ` Cesar Philippidis
  2015-10-30 20:52           ` Jeff Law
                             ` (2 more replies)
  0 siblings, 3 replies; 30+ messages in thread
From: Cesar Philippidis @ 2015-10-30 20:27 UTC (permalink / raw)
  To: Andrew MacLeod, Jeff Law, gcc-patches

On 10/30/2015 01:20 PM, Andrew MacLeod wrote:
> On 10/30/2015 02:09 PM, Andrew MacLeod wrote:
>> On 10/30/2015 01:56 PM, Cesar Philippidis wrote:
>>> On 10/23/2015 12:24 PM, Jeff Law wrote:
>>>> On 10/23/2015 10:53 AM, Andrew MacLeod wrote:
>>>>
>>> There's a little bit of fallout with this patch when building an
>>> offloaded compiler for openacc. It looks like cgraph.c needs to include
>>> context.h and varpool.c needs context.h and omp-low.h. There's a couple
>>> of ifdef ENABLE_OFFLOADING which may have gone undetected with your
>>> script.
>> If they are defined on the command line or some other way I couldn't
>> see with the targets I built, then that is the common case when that
>> happens.  I don't think I did any openacc builds.     OR maybe I need
>> to add nvptx to my coverage builds. Perhaps that is best.
>>> I've bootstrapped the attached patch for an nvptx/x86_64-linux target.
>>> I'm still testing that toolchain. If the testing comes back clean, is
>>> this patch OK for trunk?
> Ah, I see.  there is no nvptx target in config-list.mk, so it never got
> covered.

Yeah, you need to build two separate compilers. Thomas posted some
directions here <https://gcc.gnu.org/wiki/Offloading>. You could
probably reproduce it with openmp and Intel's MIC emulation target too.

Cesar

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [patch] New backend header reduction
  2015-10-30 20:27         ` Cesar Philippidis
@ 2015-10-30 20:52           ` Jeff Law
  2015-10-30 20:54           ` cgraph offloading error? Nathan Sidwell
  2015-10-30 22:16           ` [patch] New backend header reduction Jeff Law
  2 siblings, 0 replies; 30+ messages in thread
From: Jeff Law @ 2015-10-30 20:52 UTC (permalink / raw)
  To: Cesar Philippidis, Andrew MacLeod, gcc-patches

On 10/30/2015 02:23 PM, Cesar Philippidis wrote:
> On 10/30/2015 01:20 PM, Andrew MacLeod wrote:
>> On 10/30/2015 02:09 PM, Andrew MacLeod wrote:
>>> On 10/30/2015 01:56 PM, Cesar Philippidis wrote:
>>>> On 10/23/2015 12:24 PM, Jeff Law wrote:
>>>>> On 10/23/2015 10:53 AM, Andrew MacLeod wrote:
>>>>>
>>>> There's a little bit of fallout with this patch when building an
>>>> offloaded compiler for openacc. It looks like cgraph.c needs to include
>>>> context.h and varpool.c needs context.h and omp-low.h. There's a couple
>>>> of ifdef ENABLE_OFFLOADING which may have gone undetected with your
>>>> script.
>>> If they are defined on the command line or some other way I couldn't
>>> see with the targets I built, then that is the common case when that
>>> happens.  I don't think I did any openacc builds.     OR maybe I need
>>> to add nvptx to my coverage builds. Perhaps that is best.
>>>> I've bootstrapped the attached patch for an nvptx/x86_64-linux target.
>>>> I'm still testing that toolchain. If the testing comes back clean, is
>>>> this patch OK for trunk?
>> Ah, I see.  there is no nvptx target in config-list.mk, so it never got
>> covered.
>
> Yeah, you need to build two separate compilers. Thomas posted some
> directions here <https://gcc.gnu.org/wiki/Offloading>. You could
> probably reproduce it with openmp and Intel's MIC emulation target too.
For config-list.mk testing, we just need to be able to build cross 
compilers for the given target -- the offloading bits wouldn't be 
applicable here, unless the PTX backend inherently depends on them.

jeff

^ permalink raw reply	[flat|nested] 30+ messages in thread

* cgraph offloading error?
@ 2015-10-30 20:54           ` Nathan Sidwell
  2015-10-30 21:04             ` Jeff Law
  0 siblings, 1 reply; 30+ messages in thread
From: Nathan Sidwell @ 2015-10-30 20:54 UTC (permalink / raw)
  To: Jakub Jelinek, Thomas Schwinge, GCC Patches

This bit of trunk code in cgraph_node::create at around line  500 of cgraph.c 
looks wrong.  Specifically the contents of the #ifdef -- it's uncompilable as 
there's no 'g'.

  if ((flag_openacc || flag_openmp)
       && lookup_attribute ("omp declare target", DECL_ATTRIBUTES (decl)))
     {
       node->offloadable = 1;
#ifdef ENABLE_OFFLOADING
       g->have_offload = true;
#endif
     }

nathan

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: cgraph offloading error?
  2015-10-30 20:54           ` cgraph offloading error? Nathan Sidwell
@ 2015-10-30 21:04             ` Jeff Law
  2015-10-30 21:22               ` Nathan Sidwell
  0 siblings, 1 reply; 30+ messages in thread
From: Jeff Law @ 2015-10-30 21:04 UTC (permalink / raw)
  To: Nathan Sidwell, Jakub Jelinek, Thomas Schwinge, GCC Patches

On 10/30/2015 02:52 PM, Nathan Sidwell wrote:
> This bit of trunk code in cgraph_node::create at around line  500 of
> cgraph.c looks wrong.  Specifically the contents of the #ifdef -- it's
> uncompilable as there's no 'g'.
>
>   if ((flag_openacc || flag_openmp)
>        && lookup_attribute ("omp declare target", DECL_ATTRIBUTES (decl)))
>      {
>        node->offloadable = 1;
> #ifdef ENABLE_OFFLOADING
>        g->have_offload = true;
> #endif
>      }
Missing #include of context.h.  This was missed because the ptx backend 
doesn't appear in config-list.mk.  I'm looking to see what it would take 
to add the ptx backend right now :-0

jeff

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: cgraph offloading error?
  2015-10-30 21:04             ` Jeff Law
@ 2015-10-30 21:22               ` Nathan Sidwell
  2015-10-30 21:31                 ` Jeff Law
  0 siblings, 1 reply; 30+ messages in thread
From: Nathan Sidwell @ 2015-10-30 21:22 UTC (permalink / raw)
  To: Jeff Law, Jakub Jelinek, Thomas Schwinge, GCC Patches

On 10/30/15 13:54, Jeff Law wrote:
> On 10/30/2015 02:52 PM, Nathan Sidwell wrote:
>> This bit of trunk code in cgraph_node::create at around line  500 of
>> cgraph.c looks wrong.  Specifically the contents of the #ifdef -- it's
>> uncompilable as there's no 'g'.
>>
>>   if ((flag_openacc || flag_openmp)
>>        && lookup_attribute ("omp declare target", DECL_ATTRIBUTES (decl)))
>>      {
>>        node->offloadable = 1;
>> #ifdef ENABLE_OFFLOADING
>>        g->have_offload = true;
>> #endif
>>      }
> Missing #include of context.h.  This was missed because the ptx backend doesn't
> appear in config-list.mk.  I'm looking to see what it would take to add the ptx
> backend right now :-0

Thanks Jeff!

nathan

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: cgraph offloading error?
  2015-10-30 21:22               ` Nathan Sidwell
@ 2015-10-30 21:31                 ` Jeff Law
  2015-10-30 22:17                   ` Nathan Sidwell
  0 siblings, 1 reply; 30+ messages in thread
From: Jeff Law @ 2015-10-30 21:31 UTC (permalink / raw)
  To: Nathan Sidwell, Jakub Jelinek, Thomas Schwinge, GCC Patches

On 10/30/2015 03:04 PM, Nathan Sidwell wrote:
> On 10/30/15 13:54, Jeff Law wrote:
>> On 10/30/2015 02:52 PM, Nathan Sidwell wrote:
>>> This bit of trunk code in cgraph_node::create at around line  500 of
>>> cgraph.c looks wrong.  Specifically the contents of the #ifdef -- it's
>>> uncompilable as there's no 'g'.
>>>
>>>   if ((flag_openacc || flag_openmp)
>>>        && lookup_attribute ("omp declare target", DECL_ATTRIBUTES
>>> (decl)))
>>>      {
>>>        node->offloadable = 1;
>>> #ifdef ENABLE_OFFLOADING
>>>        g->have_offload = true;
>>> #endif
>>>      }
>> Missing #include of context.h.  This was missed because the ptx
>> backend doesn't
>> appear in config-list.mk.  I'm looking to see what it would take to
>> add the ptx
>> backend right now :-0
>
> Thanks Jeff!
NP.  Having the target in config-list.mk is definitely a good thing as 
it'll be built much more regularly.

I only see two issues.

First HARD_REGNO_NREGS is a constant.  This causes grief in ree.c 
because after macro expansion we don't actually use either of the 
arguments passed into HARD_REGNO_NREGS:

      machine_mode dst_mode = GET_MODE (SET_DEST (PATTERN (cand->insn)));
       rtx src_reg = get_extended_src_reg (SET_SRC (PATTERN (cand->insn)));

       /* Ensure the number of hard registers of the copy match.  */
       if (HARD_REGNO_NREGS (REGNO (src_reg), dst_mode)
           != HARD_REGNO_NREGS (REGNO (src_reg), GET_MODE (src_reg)))
         return false;

So when we don't use src_reg or dst_mode, we'll get a warning about the 
unused variable. I guess this is the first port where HARD_REGNO_NREGS 
is a constant.


This is trivially fixed by indirecting through a function for 
hard_regno_nregs.


Second, MOVE_MAX is 4.  That's causing out-of-bounds array access 
warnings in various places.

In particular if we look at reload.h we have:

   machine_mode (x_regno_save_mode
                      [FIRST_PSEUDO_REGISTER]
                      [MAX_MOVE_MAX / MIN_UNITS_PER_WORD + 1]);

Which ends up allocating an array as [FIRST_PSEUDO_REGISTER][0].  This 
runs afoul of caller-save which assumes the array always is always at 
least FIRST_PSEUDO_REGISTER[1] elements via:

         regno_save_mode[i][1] = VOIDmode;


There were a variety of other problems associated with MOVE_MAX being 
smaller than a word.   If I change MOVE_MAX to 8, then everything is good.

If those two items get fixed, then we can add nvptx-elf to config-list.mk.

jeff

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [patch] New backend header reduction
  2015-10-30 20:27         ` Cesar Philippidis
  2015-10-30 20:52           ` Jeff Law
  2015-10-30 20:54           ` cgraph offloading error? Nathan Sidwell
@ 2015-10-30 22:16           ` Jeff Law
  2015-11-02  8:43             ` Offload configurations (was: [patch] New backend header reduction) Thomas Schwinge
  2 siblings, 1 reply; 30+ messages in thread
From: Jeff Law @ 2015-10-30 22:16 UTC (permalink / raw)
  To: Cesar Philippidis, Andrew MacLeod, gcc-patches

On 10/30/2015 02:23 PM, Cesar Philippidis wrote:
> On 10/30/2015 01:20 PM, Andrew MacLeod wrote:
>> On 10/30/2015 02:09 PM, Andrew MacLeod wrote:
>>> On 10/30/2015 01:56 PM, Cesar Philippidis wrote:
>>>> On 10/23/2015 12:24 PM, Jeff Law wrote:
>>>>> On 10/23/2015 10:53 AM, Andrew MacLeod wrote:
>>>>>
>>>> There's a little bit of fallout with this patch when building an
>>>> offloaded compiler for openacc. It looks like cgraph.c needs to include
>>>> context.h and varpool.c needs context.h and omp-low.h. There's a couple
>>>> of ifdef ENABLE_OFFLOADING which may have gone undetected with your
>>>> script.
>>> If they are defined on the command line or some other way I couldn't
>>> see with the targets I built, then that is the common case when that
>>> happens.  I don't think I did any openacc builds.     OR maybe I need
>>> to add nvptx to my coverage builds. Perhaps that is best.
>>>> I've bootstrapped the attached patch for an nvptx/x86_64-linux target.
>>>> I'm still testing that toolchain. If the testing comes back clean, is
>>>> this patch OK for trunk?
>> Ah, I see.  there is no nvptx target in config-list.mk, so it never got
>> covered.
>
> Yeah, you need to build two separate compilers. Thomas posted some
> directions here <https://gcc.gnu.org/wiki/Offloading>. You could
> probably reproduce it with openmp and Intel's MIC emulation target too.
Oh, there's something specific to the offloading support that needs 
context.h, it's not the ptx port.  Duh.  Anyway, it'd still be good to 
get standard builds of the nvptx backend into config-list.mk.

Not sure how painful it'd be to add the offloading path.

This is a great example of why we're trying to minimize/eliminate 
conditional compilation :-)


jeff

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: cgraph offloading error?
  2015-10-30 21:31                 ` Jeff Law
@ 2015-10-30 22:17                   ` Nathan Sidwell
  2015-10-30 22:31                     ` Nathan Sidwell
  2015-10-30 22:33                     ` Jeff Law
  0 siblings, 2 replies; 30+ messages in thread
From: Nathan Sidwell @ 2015-10-30 22:17 UTC (permalink / raw)
  To: Jeff Law, Jakub Jelinek, Thomas Schwinge, GCC Patches

[-- Attachment #1: Type: text/plain, Size: 588 bytes --]

On 10/30/15 14:28, Jeff Law wrote:

> So when we don't use src_reg or dst_mode, we'll get a warning about the unused
> variable. I guess this is the first port where HARD_REGNO_NREGS is a constant.

Yeah,  I noticed that when first lookingat the port, but as it wasn't 
(apparently) broken ...

> Second, MOVE_MAX is 4.  That's causing out-of-bounds array access warnings in
> various places.

> There were a variety of other problems associated with MOVE_MAX being smaller
> than a word.   If I change MOVE_MAX to 8, then everything is good.

Makes sense.


Testing attached ...

nathan

[-- Attachment #2: ptx.patch --]
[-- Type: text/x-patch, Size: 1025 bytes --]

2015-10-30  Jeff Law <jeff@redhat.com>
	    Nathan Sidwell  <nathan@acm.org>

	* config/nvptx/nvptx.h (HARD_REGNO_NREGS): Avoid warning on unused
	args.
	(MOVE_MAX): Set to 8.

Index: config/nvptx/nvptx.h
===================================================================
--- config/nvptx/nvptx.h	(revision 229595)
+++ config/nvptx/nvptx.h	(working copy)
@@ -88,7 +88,7 @@
 #define CALL_USED_REGISTERS				\
   { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
 
-#define HARD_REGNO_NREGS(regno, mode)	1
+#define HARD_REGNO_NREGS(regno, mode)	((void)regno, (void)mode, 1)
 #define CANNOT_CHANGE_MODE_CLASS(M1, M2, CLS) ((CLS) == RETURN_REG)
 #define HARD_REGNO_MODE_OK(REG, MODE) nvptx_hard_regno_mode_ok (REG, MODE)
 
@@ -356,7 +356,7 @@ struct GTY(()) machine_function
 #define FLOAT_STORE_FLAG_VALUE(MODE) REAL_VALUE_ATOF("1.0", (MODE))
 
 #define CASE_VECTOR_MODE SImode
-#define MOVE_MAX 4
+#define MOVE_MAX 8
 #define MOVE_RATIO(SPEED) 4
 #define TRULY_NOOP_TRUNCATION(outprec, inprec) 1
 #define FUNCTION_MODE QImode

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: cgraph offloading error?
  2015-10-30 22:17                   ` Nathan Sidwell
@ 2015-10-30 22:31                     ` Nathan Sidwell
  2015-10-30 22:33                     ` Jeff Law
  1 sibling, 0 replies; 30+ messages in thread
From: Nathan Sidwell @ 2015-10-30 22:31 UTC (permalink / raw)
  To: Jeff Law, Jakub Jelinek, Thomas Schwinge, GCC Patches

On 10/30/15 15:16, Nathan Sidwell wrote:

>
> Testing attached ...

... with parens on void cast args ...

nathan

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: cgraph offloading error?
  2015-10-30 22:17                   ` Nathan Sidwell
  2015-10-30 22:31                     ` Nathan Sidwell
@ 2015-10-30 22:33                     ` Jeff Law
  2015-10-30 23:01                       ` Nathan Sidwell
  1 sibling, 1 reply; 30+ messages in thread
From: Jeff Law @ 2015-10-30 22:33 UTC (permalink / raw)
  To: Nathan Sidwell, Jakub Jelinek, Thomas Schwinge, GCC Patches

On 10/30/2015 04:16 PM, Nathan Sidwell wrote:
> On 10/30/15 14:28, Jeff Law wrote:
>
>> So when we don't use src_reg or dst_mode, we'll get a warning about
>> the unused
>> variable. I guess this is the first port where HARD_REGNO_NREGS is a
>> constant.
>
> Yeah,  I noticed that when first lookingat the port, but as it wasn't
> (apparently) broken ...
It's only fatal with -Wjumble-mumble that gets set by config-list.mk, so 
it could have been easily sneaking by.  Certainly wouldn't affect the 
correctness of the compiler though.

>
>> Second, MOVE_MAX is 4.  That's causing out-of-bounds array access
>> warnings in
>> various places.
>
>> There were a variety of other problems associated with MOVE_MAX being
>> smaller
>> than a word.   If I change MOVE_MAX to 8, then everything is good.
>
> Makes sense.
I find myself wondering if that ought to be explicitly sanity-checked 
somewhere.  I'm sure there's a significant number of invariants for 
ports that we could check at build time and hopefully prevent problems 
of this nature in the future.  Though it may not be worth it..

> Testing attached ...
Cool.  I'll go ahead and add nvptx-elf to the list shortly on the 
assumption this stuff will get fixed on way or another.

Jeff

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: cgraph offloading error?
  2015-10-30 22:33                     ` Jeff Law
@ 2015-10-30 23:01                       ` Nathan Sidwell
  0 siblings, 0 replies; 30+ messages in thread
From: Nathan Sidwell @ 2015-10-30 23:01 UTC (permalink / raw)
  To: Jeff Law, Jakub Jelinek, Thomas Schwinge, GCC Patches

[-- Attachment #1: Type: text/plain, Size: 243 bytes --]

On 10/30/15 15:30, Jeff Law wrote:
> On 10/30/2015 04:16 PM, Nathan Sidwell wrote:

> Cool.  I'll go ahead and add nvptx-elf to the list shortly on the assumption
> this stuff will get fixed on way or another.

I've just committed nvptx-none


[-- Attachment #2: cfg-list.patch --]
[-- Type: text/x-patch, Size: 805 bytes --]

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 229595)
+++ ChangeLog	(working copy)
@@ -1,3 +1,7 @@
+2015-10-30  Nathan Sidwell  <nathan@acm.org>
+
+	* config-list.mk (nvptx-none): Add it.
+
 2015-09-11  Markus Trippelsdorf  <markus@trippelsdorf.de>
 
 	* download_prerequisites: Make sure that script is run from
Index: config-list.mk
===================================================================
--- config-list.mk	(revision 229595)
+++ config-list.mk	(working copy)
@@ -49,6 +49,7 @@ LIST = aarch64-elf aarch64-linux-gnu \
   msp430-elf \
   nds32le-elf nds32be-elf \
   nios2-elf nios2-linux-gnu nios2-rtems \
+  nvptx-none \
   pdp11-aout \
   powerpc-darwin8 \
   powerpc-darwin7 powerpc64-darwin powerpc-freebsd6 powerpc-netbsd \

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [patch] New backend header reduction
  2015-10-23 16:57 [patch] New backend header reduction Andrew MacLeod
  2015-10-23 19:25 ` Jeff Law
  2015-10-30 13:38 ` [patch] New 'all' front end header reduction Andrew MacLeod
@ 2015-10-31  7:02 ` Andreas Schwab
  2015-10-31  8:14   ` Markus Trippelsdorf
  2015-10-31 20:30   ` Jeff Law
  2015-11-02  7:43 ` Thomas Schwinge
  3 siblings, 2 replies; 30+ messages in thread
From: Andreas Schwab @ 2015-10-31  7:02 UTC (permalink / raw)
  To: Andrew MacLeod; +Cc: gcc-patches, Jeff Law

../../gcc/ggc-common.c: In function 'void init_ggc_heuristics()':
../../gcc/ggc-common.c:822: error: 'GGC_MIN_EXPAND' was not declared in this scope
../../gcc/ggc-common.c:822: error: 'set_default_param_value' was not declared in this scope
../../gcc/ggc-common.c:823: error: 'GGC_MIN_HEAPSIZE' was not declared in this scope

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [patch] New backend header reduction
  2015-10-31  7:02 ` [patch] New backend " Andreas Schwab
@ 2015-10-31  8:14   ` Markus Trippelsdorf
  2015-10-31 15:24     ` Markus Trippelsdorf
  2015-10-31 20:30   ` Jeff Law
  1 sibling, 1 reply; 30+ messages in thread
From: Markus Trippelsdorf @ 2015-10-31  8:14 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: Andrew MacLeod, gcc-patches, Jeff Law

On 2015.10.31 at 07:56 +0100, Andreas Schwab wrote:
> ../../gcc/ggc-common.c: In function 'void init_ggc_heuristics()':
> ../../gcc/ggc-common.c:822: error: 'GGC_MIN_EXPAND' was not declared in this scope
> ../../gcc/ggc-common.c:822: error: 'set_default_param_value' was not declared in this scope
> ../../gcc/ggc-common.c:823: error: 'GGC_MIN_HEAPSIZE' was not declared in this scope

Yes. I've hit this issue also today. It only happens with --enable-checking=release.

 818 void
 819 init_ggc_heuristics (void)
 820 {
 821 #if !defined ENABLE_GC_CHECKING && !defined ENABLE_GC_ALWAYS_COLLECT
 822   set_default_param_value (GGC_MIN_EXPAND, ggc_min_expand_heuristic ());
 823   set_default_param_value (GGC_MIN_HEAPSIZE, ggc_min_heapsize_heuristic ());
 824 #endif
 825 }

-- 
Markus

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [patch] New backend header reduction
  2015-10-31  8:14   ` Markus Trippelsdorf
@ 2015-10-31 15:24     ` Markus Trippelsdorf
  0 siblings, 0 replies; 30+ messages in thread
From: Markus Trippelsdorf @ 2015-10-31 15:24 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: Andrew MacLeod, gcc-patches, Jeff Law

On 2015.10.31 at 08:33 +0100, Markus Trippelsdorf wrote:
> On 2015.10.31 at 07:56 +0100, Andreas Schwab wrote:
> > ../../gcc/ggc-common.c: In function 'void init_ggc_heuristics()':
> > ../../gcc/ggc-common.c:822: error: 'GGC_MIN_EXPAND' was not declared in this scope
> > ../../gcc/ggc-common.c:822: error: 'set_default_param_value' was not declared in this scope
> > ../../gcc/ggc-common.c:823: error: 'GGC_MIN_HEAPSIZE' was not declared in this scope
> 
> Yes. I've hit this issue also today. It only happens with --enable-checking=release.
> 
>  818 void
>  819 init_ggc_heuristics (void)
>  820 {
>  821 #if !defined ENABLE_GC_CHECKING && !defined ENABLE_GC_ALWAYS_COLLECT
>  822   set_default_param_value (GGC_MIN_EXPAND, ggc_min_expand_heuristic ());
>  823   set_default_param_value (GGC_MIN_HEAPSIZE, ggc_min_heapsize_heuristic ());
>  824 #endif
>  825 }

Fix committed as obvious: r229623

       *ggc-common.c : Restore needed header for checking=release.

diff --git a/gcc/ggc-common.c b/gcc/ggc-common.c
index 498853057e56..4bbe9168ff61 100644
--- a/gcc/ggc-common.c
+++ b/gcc/ggc-common.c
@@ -26,6 +26,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "timevar.h"
 #include "diagnostic-core.h"
 #include "ggc-internal.h"
+#include "params.h"
 #include "hosthooks.h"
 #include "plugin.h"
 
-- 
Markus

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [patch] New backend header reduction
  2015-10-31  7:02 ` [patch] New backend " Andreas Schwab
  2015-10-31  8:14   ` Markus Trippelsdorf
@ 2015-10-31 20:30   ` Jeff Law
  1 sibling, 0 replies; 30+ messages in thread
From: Jeff Law @ 2015-10-31 20:30 UTC (permalink / raw)
  To: Andreas Schwab, Andrew MacLeod; +Cc: gcc-patches

On 10/31/2015 12:56 AM, Andreas Schwab wrote:
> ../../gcc/ggc-common.c: In function 'void init_ggc_heuristics()':
> ../../gcc/ggc-common.c:822: error: 'GGC_MIN_EXPAND' was not declared in this scope
> ../../gcc/ggc-common.c:822: error: 'set_default_param_value' was not declared in this scope
> ../../gcc/ggc-common.c:823: error: 'GGC_MIN_HEAPSIZE' was not declared in this scope
Host/target?  Otherwise it's a useless report.

jeff

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [patch] New 'all' front end header reduction
  2015-10-30 13:38 ` [patch] New 'all' front end header reduction Andrew MacLeod
  2015-10-30 16:20   ` Mike Stump
@ 2015-11-02  6:41   ` Jeff Law
  2015-11-02 13:58     ` [patch] New remainder of " Andrew MacLeod
  1 sibling, 1 reply; 30+ messages in thread
From: Jeff Law @ 2015-11-02  6:41 UTC (permalink / raw)
  To: Andrew MacLeod, gcc-patches

On 10/30/2015 07:37 AM, Andrew MacLeod wrote:
> OK, here's the much delayed front end reduction patch based on the
> reordering already being checked in.
>
> I discovered that my targets builds were only building c/c++, so the
> other languages were being reduced based only on the host
> x86_64-pc-linux-gnu build.   Thats *probably* ok, but I wanted to be
> sure.  This is when I discovered that the other languages have varying
> amounts of support amongst the targets. Simply building all the targets
> to compile, say ada, doesn't actually work quite right.
>
> So this patch covers all the languages which do have full support.. the
> ones enabled by 'all' languages.
>
> I am determining which targets build the other languages now, and will
> submit separate reduction patches for those languages.
>
> This bootstraps on  x86_64-pc-linux-gnu with no new regressions, and is
> currently undergoing the full config-list target build.
>
> OK for trunk?
OK, assuming the config-list build was successful.

jeff

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [patch] New backend header reduction
  2015-10-23 16:57 [patch] New backend header reduction Andrew MacLeod
                   ` (2 preceding siblings ...)
  2015-10-31  7:02 ` [patch] New backend " Andreas Schwab
@ 2015-11-02  7:43 ` Thomas Schwinge
  2015-11-02 13:51   ` Andrew MacLeod
  3 siblings, 1 reply; 30+ messages in thread
From: Thomas Schwinge @ 2015-11-02  7:43 UTC (permalink / raw)
  To: Andrew MacLeod, gcc-patches; +Cc: Jeff Law

[-- Attachment #1: Type: text/plain, Size: 2460 bytes --]

Hi!

"Hooray for the C programming language's module system"...  ;-)

On Fri, 23 Oct 2015 12:53:40 -0400, Andrew MacLeod <amacleod@redhat.com> wrote:
> Just finished running...  I think the external hard drive was slowing 
> down this run :-P  It took quite a while.
> 
> Anyway, this is the reduction patch independent of the header-ordering 
> patch... ie, that patch needs to be applied before this one.   So this 
> should be mostly just removals.   I also need to follow up and build all 
> the target and bootstrap from scratch to make sure there arent any 
> weirdnesses with it.   But you can at least get a look at it now.

Similar to the ENABLE_OFFLOADING preprocessor conditional as reported by
Cesar and Nathan, I've run into a problem with code "hidden" behind
ENABLE_FOLD_CHECKING, and this has independently also been reported as
<https://gcc.gnu.org/PR68166>:

    [...]/source-gcc/gcc/fold-const.c: In function 'tree_node* fold(tree)':
    [...]/source-gcc/gcc/fold-const.c:12038:18: error: aggregate 'md5_ctx ctx' has incomplete type and cannot be defined
       struct md5_ctx ctx;
                      ^

..., followed by many more errors.

As obvious, committed in r229652:

commit b7c78b0949974f6e22fa9a3f3eca665442641ec8
Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Mon Nov 2 07:42:04 2015 +0000

    [PR middle-end/68166] Restore build with fold checking enabled
    
    	gcc/
    	PR middle-end/68166
    	* fold-const.c: Include "md5.h".
    
    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229652 138bc75d-0d04-0410-961f-82ee72b054a4
---
 gcc/ChangeLog    | 5 +++++
 gcc/fold-const.c | 1 +
 2 files changed, 6 insertions(+)

diff --git gcc/ChangeLog gcc/ChangeLog
index d927d35..966a7f9 100644
--- gcc/ChangeLog
+++ gcc/ChangeLog
@@ -1,3 +1,8 @@
+2015-11-02  Thomas Schwinge  <thomas@codesourcery.com>
+
+	PR middle-end/68166
+	* fold-const.c: Include "md5.h".
+
 2015-11-01  Jeff Law <jeff@redhat.com>
 
 	* vmsdbgout.c: Revert unused header file reduction patch.
diff --git gcc/fold-const.c gcc/fold-const.c
index 197ccfd..1a2fb810 100644
--- gcc/fold-const.c
+++ gcc/fold-const.c
@@ -71,6 +71,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "gimple-fold.h"
 #include "params.h"
 #include "tree-into-ssa.h"
+#include "md5.h"
 
 #ifndef LOAD_EXTEND_OP
 #define LOAD_EXTEND_OP(M) UNKNOWN


Grüße
 Thomas

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 472 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Offload configurations (was: [patch] New backend header reduction)
  2015-10-30 22:16           ` [patch] New backend header reduction Jeff Law
@ 2015-11-02  8:43             ` Thomas Schwinge
  0 siblings, 0 replies; 30+ messages in thread
From: Thomas Schwinge @ 2015-11-02  8:43 UTC (permalink / raw)
  To: Jeff Law
  Cc: Cesar Philippidis, Andrew MacLeod, gcc-patches, Jakub Jelinek,
	Nathan Sidwell, Ilya Verbin, Kirill Yukhin

[-- Attachment #1: Type: text/plain, Size: 3334 bytes --]

Hi!

On Fri, 30 Oct 2015 15:31:26 -0600, Jeff Law <law@redhat.com> wrote:
> On 10/30/2015 02:23 PM, Cesar Philippidis wrote:
> > On 10/30/2015 01:20 PM, Andrew MacLeod wrote:
> >> On 10/30/2015 02:09 PM, Andrew MacLeod wrote:
> >>> On 10/30/2015 01:56 PM, Cesar Philippidis wrote:
> >>>> On 10/23/2015 12:24 PM, Jeff Law wrote:
> >>>>> On 10/23/2015 10:53 AM, Andrew MacLeod wrote:
> >>>>>
> >>>> There's a little bit of fallout with this patch when building an
> >>>> offloaded compiler for openacc. It looks like cgraph.c needs to include
> >>>> context.h and varpool.c needs context.h and omp-low.h. There's a couple
> >>>> of ifdef ENABLE_OFFLOADING which may have gone undetected with your
> >>>> script.
> >>> If they are defined on the command line or some other way I couldn't
> >>> see with the targets I built, then that is the common case when that
> >>> happens.  I don't think I did any openacc builds.     OR maybe I need
> >>> to add nvptx to my coverage builds. Perhaps that is best.
> >>>> I've bootstrapped the attached patch for an nvptx/x86_64-linux target.
> >>>> I'm still testing that toolchain. If the testing comes back clean, is
> >>>> this patch OK for trunk?
> >> Ah, I see.  there is no nvptx target in config-list.mk, so it never got
> >> covered.

(Now there is, but that's not actually the problem here.)

> > Yeah, you need to build two separate compilers. Thomas posted some
> > directions here <https://gcc.gnu.org/wiki/Offloading>. You could
> > probably reproduce it with openmp and Intel's MIC emulation target too.
> Oh, there's something specific to the offloading support that needs 
> context.h, it's not the ptx port.  Duh.  Anyway, it'd still be good to 
> get standard builds of the nvptx backend into config-list.mk.
> 
> Not sure how painful it'd be to add the offloading path.

Shouldn't actually be difficult: you ought (untested) to be able to
configure with, for example,
--enable-offload-targets=nvptx-none,x86_64-intelmicemul-linux-gnu even if
not actually having built these offloading compilers.  (Due to a
"strange" requirement of Intel MIC offloading configuration, that "the
GCC build reference[s]/depend[s] on the Intel MIC offloading compiler's
installation directory (which [thus has to be] built and installed
earlier)",
<http://news.gmane.org/find-root.php?message_id=%3C878uaq68fn.fsf%40kepler.schwinge.homeip.net%3E>,
this would fail later on, but as config-list.mk testing only builds the
"all-gcc" target, that's not a problem.)

So, maybe add to config-list.mk one x86_64-linux-gnu target with
--enable-offload-targets=[...] to cover code guarded by the
ENABLE_OFFLOADING preprocessor conditional.  And, maybe add one
nvptx-none or x86_64-intelmic-linux-gnu target with
--enable-as-accelerator-for=[something] to cover code guarded by the
ACCEL_COMPILER preprocessor conditional.

> This is a great example of why we're trying to minimize/eliminate 
> conditional compilation :-)

Agreed.  For the longer term, I think we should get rid of the (only)
handful of ENABLE_OFFLOADING and ACCEL_COMPILER preprocessor
conditionals.  For the former we'll have to find something, but the
latter could just be replaced with "if (flag_offload_abi !=
OFFLOAD_ABI_UNSET)" or similar, I think.


Grüße
 Thomas

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 472 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [patch] New backend header reduction
  2015-11-02  7:43 ` Thomas Schwinge
@ 2015-11-02 13:51   ` Andrew MacLeod
  0 siblings, 0 replies; 30+ messages in thread
From: Andrew MacLeod @ 2015-11-02 13:51 UTC (permalink / raw)
  To: Thomas Schwinge, gcc-patches; +Cc: Jeff Law

On 11/02/2015 02:42 AM, Thomas Schwinge wrote:
> Hi!
>
> "Hooray for the C programming language's module system"...  ;-)
>
> On Fri, 23 Oct 2015 12:53:40 -0400, Andrew MacLeod <amacleod@redhat.com> wrote:
>> Just finished running...  I think the external hard drive was slowing
>> down this run :-P  It took quite a while.
>>
>> Anyway, this is the reduction patch independent of the header-ordering
>> patch... ie, that patch needs to be applied before this one.   So this
>> should be mostly just removals.   I also need to follow up and build all
>> the target and bootstrap from scratch to make sure there arent any
>> weirdnesses with it.   But you can at least get a look at it now.
> Similar to the ENABLE_OFFLOADING preprocessor conditional as reported by
> Cesar and Nathan, I've run into a problem with code "hidden" behind
> ENABLE_FOLD_CHECKING, and this has independently also been reported as
> <https://gcc.gnu.org/PR68166>:
>
>      [...]/source-gcc/gcc/fold-const.c: In function 'tree_node* fold(tree)':
>      [...]/source-gcc/gcc/fold-const.c:12038:18: error: aggregate 'md5_ctx ctx' has incomplete type and cannot be defined
>         struct md5_ctx ctx;
>
ahhh. lovely.   ok, so I'll hold off checking in the approved front end 
patch until I rerun the tool.  I can pre-define a set of macros in the 
tool to mimic these command-line options that might be seen in order to 
make sure that headers arent removed that cause these kinds of issues.

After it runs, I'll see if there were any front end files that need 
adjusting to account for this, then I'll check them in.

I will also rerun the tool over the next week or so on all the backend.a 
files from the revision just before I merged to see if anything else 
comes out of the woodwork.  There could still be a hidden case or two 
like this.

A quick grep shows the following macros should probably be predefined:

ENABLE_ASSERT_CHECKING
ENABLE_CHECKING
ENABLE_DECIMAL_BID_FORMAT
ENABLE_DECIMAL_FLOAT
ENABLE_DEFAULT_PIE
ENABLE_DEFAULT_SSP
ENABLE_DF_CHECKING
ENABLE_FIXED_POINT
ENABLE_FOLD_CHECKING
ENABLE_GC_ALWAYS_COLLECT
ENABLE_GC_CHECKING
ENABLE_GIMPLE_CHECKING
ENABLE_IRA_CHECKING
ENABLE_LD_BUILDID
ENABLE_LIBQUADMATH_SUPPORT
ENABLE_LTO
ENABLE_NLS
ENABLE_OFFLOADING
ENABLE_PLUGIN
ENABLE_PLUGINS
ENABLE_PTHREADS
ENABLE_RTL_CHECKING
ENABLE_RTL_FLAG_CHECKING
ENABLE_RUNTIME_CHECKING
ENABLE_SHARED_LIBGCC
ENABLE_TREE_CHECKING
ENABLE_TYPES_CHECKING
ENABLE_VALGRIND_ANNOTATIONS
ENABLE_VALGRIND_CHECKING
ENABLE_WIN32_REGISTRY

Anyone think of anything else the might come from a command line that 
wouldnt be seen otherwise?

Andrew

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [patch] New remainder of front end header reduction
  2015-11-02  6:41   ` Jeff Law
@ 2015-11-02 13:58     ` Andrew MacLeod
  2015-11-09 21:33       ` Jeff Law
  0 siblings, 1 reply; 30+ messages in thread
From: Andrew MacLeod @ 2015-11-02 13:58 UTC (permalink / raw)
  To: Jeff Law, gcc-patches

[-- Attachment #1: Type: text/plain, Size: 1577 bytes --]

On 11/02/2015 01:41 AM, Jeff Law wrote:
> On 10/30/2015 07:37 AM, Andrew MacLeod wrote:
>> OK, here's the much delayed front end reduction patch based on the
>> reordering already being checked in.
>>
>> I discovered that my targets builds were only building c/c++, so the
>> other languages were being reduced based only on the host
>> x86_64-pc-linux-gnu build.   Thats *probably* ok, but I wanted to be
>> sure.  This is when I discovered that the other languages have varying
>> amounts of support amongst the targets. Simply building all the targets
>> to compile, say ada, doesn't actually work quite right.
>>
>> So this patch covers all the languages which do have full support.. the
>> ones enabled by 'all' languages.
>>
>> I am determining which targets build the other languages now, and will
>> submit separate reduction patches for those languages.
>>
Here's the rest of the front end files.  I will temporarily hold off 
checking in the other front end file due to the ENABLE_OFFLOADING and 
ENABLE_FOLD_CHECKING issues brought up.  I'll rerun the tool with all 
the ENABLE_* macros I can fine predefined in the tool to avoid this 
issue, and adjust he front end patches if necessary.. ie, if the tool 
finds a reduction that shouldnt happen.

Anyway, here's the rest of the header files which should be the final 
patch  I ran the tool on the coverage components of config-list.mk that 
supported each of the languages, then did a full build of all targets.

bootstraps on x86_64-pc-linux-gnu with no new regressions, and passes 
all of config-list.mk

Andrew


[-- Attachment #2: ofe.patch --]
[-- Type: text/x-patch, Size: 23699 bytes --]

ada
	* gcc-interface/decl.c: Remove unused header files.
	* gcc-interface/misc.c: Likewise.
	* gcc-interface/targtyps.c: Likewise.
	* gcc-interface/trans.c: Likewise.
	* gcc-interface/utils.c: Likewise.

go
	* go-backend.c: Remove unused header files.
	* go-gcc.cc: Likewise.
	* go-lang.c: Likewise.
	* gospec.c: Likewise.

java
	* boehm.c: Remove unused header files.
	* builtins.c: Likewise.
	* class.c: Likewise.
	* constants.c: Likewise.
	* decl.c: Likewise.
	* except.c: Likewise.
	* expr.c: Likewise.
	* java-gimplify.c: Likewise.
	* jcf-dump.c: Likewise.
	* jcf-io.c: Likewise.
	* jcf-parse.c: Likewise.
	* jvgenmain.c: Likewise.
	* lang.c: Likewise.
	* mangle.c: Likewise.
	* mangle_name.c: Likewise.
	* resource.c: Likewise.
	* typeck.c: Likewise.
	* verify-glue.c: Likewise.
	* verify-impl.c: Likewise.
	* zextract.c: Likewise.

jit
	* dummy-frontend.c: Remove unused header files.
	* jit-builtins.c: Likewise.
	* jit-playback.c: Likewise.
	* jit-recording.c: Likewise.
	* jit-spec.c: Likewise.
	* libgccjit.c: Likewise.

objcp
	* objcp-decl.c: Remove unused header files.
	* objcp-lang.c: Likewise.
Index: ada/gcc-interface/decl.c
===================================================================
*** ada/gcc-interface/decl.c	(revision 229584)
--- ada/gcc-interface/decl.c	(working copy)
***************
*** 26,32 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "ggc.h"
  #include "target.h"
  #include "tree.h"
  #include "stringpool.h"
--- 26,31 ----
***************
*** 34,41 ****
  #include "alias.h"
  #include "fold-const.h"
  #include "stor-layout.h"
- #include "flags.h"
- #include "toplev.h"
  #include "tree-inline.h"
  
  #include "ada.h"
--- 33,38 ----
***************
*** 46,52 ****
  #include "nlists.h"
  #include "repinfo.h"
  #include "snames.h"
- #include "stringt.h"
  #include "uintp.h"
  #include "fe.h"
  #include "sinfo.h"
--- 43,48 ----
Index: ada/gcc-interface/misc.c
===================================================================
*** ada/gcc-interface/misc.c	(revision 229584)
--- ada/gcc-interface/misc.c	(working copy)
***************
*** 26,32 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "ggc.h"
  #include "target.h"
  #include "tree.h"
  #include "diagnostic.h"
--- 26,31 ----
***************
*** 35,42 ****
  #include "fold-const.h"
  #include "stor-layout.h"
  #include "print-tree.h"
- #include "flags.h"
- #include "debug.h"
  #include "toplev.h"
  #include "langhooks.h"
  #include "langhooks-def.h"
--- 34,39 ----
***************
*** 48,57 ****
  #include "adadecode.h"
  #include "types.h"
  #include "atree.h"
- #include "elists.h"
  #include "namet.h"
  #include "nlists.h"
- #include "stringt.h"
  #include "uintp.h"
  #include "fe.h"
  #include "sinfo.h"
--- 45,52 ----
Index: ada/gcc-interface/targtyps.c
===================================================================
*** ada/gcc-interface/targtyps.c	(revision 229584)
--- ada/gcc-interface/targtyps.c	(working copy)
***************
*** 30,51 ****
  #include "coretypes.h"
  #include "tm.h"
  #include "tree.h"
- #include "tm_p.h"
- #include "alias.h"
  
  #include "ada.h"
  #include "types.h"
- #include "atree.h"
- #include "elists.h"
- #include "namet.h"
- #include "nlists.h"
- #include "snames.h"
- #include "stringt.h"
- #include "uintp.h"
- #include "urealp.h"
- #include "fe.h"
- #include "sinfo.h"
- #include "einfo.h"
  #include "ada-tree.h"
  #include "gigi.h"
  
--- 30,38 ----
Index: ada/gcc-interface/trans.c
===================================================================
*** ada/gcc-interface/trans.c	(revision 229584)
--- ada/gcc-interface/trans.c	(working copy)
***************
*** 39,45 ****
  #include "stor-layout.h"
  #include "stmt.h"
  #include "varasm.h"
- #include "flags.h"
  #include "output.h"
  #include "libfuncs.h"	/* For set_stack_check_libfunc.  */
  #include "tree-iterator.h"
--- 39,44 ----
***************
*** 51,57 ****
  #include "adadecode.h"
  #include "types.h"
  #include "atree.h"
- #include "elists.h"
  #include "namet.h"
  #include "nlists.h"
  #include "snames.h"
--- 50,55 ----
Index: ada/gcc-interface/utils.c
===================================================================
*** ada/gcc-interface/utils.c	(revision 229584)
--- ada/gcc-interface/utils.c	(working copy)
***************
*** 26,36 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "ggc.h"
  #include "target.h"
  #include "function.h"
  #include "tree.h"
- #include "timevar.h"
  #include "stringpool.h"
  #include "cgraph.h"
  #include "diagnostic.h"
--- 26,34 ----
***************
*** 39,45 ****
  #include "stor-layout.h"
  #include "attribs.h"
  #include "varasm.h"
- #include "flags.h"
  #include "toplev.h"
  #include "output.h"
  #include "debug.h"
--- 37,42 ----
***************
*** 48,62 ****
  #include "langhooks.h"
  #include "tree-dump.h"
  #include "tree-inline.h"
- #include "tree-iterator.h"
  
  #include "ada.h"
  #include "types.h"
  #include "atree.h"
- #include "elists.h"
- #include "namet.h"
  #include "nlists.h"
- #include "stringt.h"
  #include "uintp.h"
  #include "fe.h"
  #include "sinfo.h"
--- 45,55 ----
Index: go/go-backend.c
===================================================================
*** go/go-backend.c	(revision 229584)
--- go/go-backend.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 25,37 ****
  #include "tm_p.h"
  #include "diagnostic.h"
  #include "simple-object.h"
- #include "alias.h"
- #include "stor-layout.h"
  #include "intl.h"
  #include "output.h"	/* for assemble_string */
  #include "common/common-target.h"
  
- #include "go-c.h"
  
  /* The segment name we pass to simple_object_start_read to find Go
     export data.  */
--- 25,34 ----
Index: go/go-gcc.cc
===================================================================
*** go/go-gcc.cc	(revision 229584)
--- go/go-gcc.cc	(working copy)
***************
*** 24,42 ****
  // include it here before tree.h includes it later.
  #include <gmp.h>
  
- #include "vec.h"
- #include "alias.h"
  #include "tree.h"
- #include "options.h"
- #include "inchash.h"
  #include "fold-const.h"
  #include "stringpool.h"
  #include "stor-layout.h"
  #include "varasm.h"
  #include "tree-iterator.h"
- #include "hash-map.h"
  #include "tm.h"
- #include "hard-reg-set.h"
  #include "function.h"
  #include "cgraph.h"
  #include "convert.h"
--- 24,36 ----
Index: go/go-lang.c
===================================================================
*** go/go-lang.c	(revision 229584)
--- go/go-lang.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 21,39 ****
  #include "system.h"
  #include "coretypes.h"
  #include "target.h"
- #include "function.h"
  #include "tree.h"
  #include "gimple-expr.h"
  #include "diagnostic.h"
- #include "ansidecl.h"
  #include "opts.h"
- #include "alias.h"
  #include "fold-const.h"
  #include "gimplify.h"
  #include "stor-layout.h"
- #include "toplev.h"
  #include "debug.h"
- #include "flags.h"
  #include "convert.h"
  #include "langhooks.h"
  #include "langhooks-def.h"
--- 21,34 ----
Index: go/gospec.c
===================================================================
*** go/gospec.c	(revision 229584)
--- go/gospec.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 21,27 ****
  #include "system.h"
  #include "coretypes.h"
  #include "tm.h"
- #include "gcc.h"
  #include "opts.h"
  
  /* This bit is set if we saw a `-xfoo' language specification.  */
--- 21,26 ----
Index: java/boehm.c
===================================================================
*** java/boehm.c	(revision 229584)
--- java/boehm.c	(working copy)
*************** The Free Software Foundation is independ
*** 28,35 ****
  #include "coretypes.h"
  #include "tm.h"
  #include "tree.h"
- #include "diagnostic-core.h"
- #include "alias.h"
  #include "java-tree.h"
  #include "parse.h"
  
--- 28,33 ----
Index: java/builtins.c
===================================================================
*** java/builtins.c	(revision 229584)
--- java/builtins.c	(working copy)
*************** The Free Software Foundation is independ
*** 30,57 ****
  #include "system.h"
  #include "coretypes.h"
  #include "tm.h"
- #include "function.h"
  #include "rtl.h"
  #include "tree.h"
  #include "stringpool.h"
  #include "expmed.h"
  #include "optabs.h"
- #include "emit-rtl.h"
- #include "alias.h"
  #include "fold-const.h"
  #include "stor-layout.h"
- #include "flags.h"
- #include "langhooks.h"
  #include "java-tree.h"
  
  /* FIXME: All these headers are necessary for sync_compare_and_swap.
     Front ends should never have to look at that.  */
- #include "dojump.h"
- #include "explow.h"
- #include "calls.h"
- #include "varasm.h"
- #include "stmt.h"
- #include "expr.h"
  
  static tree max_builtin (tree, tree);
  static tree min_builtin (tree, tree);
--- 30,46 ----
Index: java/class.c
===================================================================
*** java/class.c	(revision 229584)
--- java/class.c	(working copy)
*************** The Free Software Foundation is independ
*** 28,43 ****
  #include "coretypes.h"
  #include "target.h"
  #include "function.h"
- #include "obstack.h"
  #include "tree.h"
  #include "stringpool.h"
- #include "cgraph.h"
  #include "diagnostic-core.h"
- #include "alias.h"
  #include "fold-const.h"
  #include "stor-layout.h"
  #include "varasm.h"
- #include "flags.h"
  #include "java-tree.h"
  #include "jcf.h"
  #include "toplev.h"
--- 28,39 ----
Index: java/constants.c
===================================================================
*** java/constants.c	(revision 229584)
--- java/constants.c	(working copy)
*************** The Free Software Foundation is independ
*** 26,34 ****
  #include "tm.h"
  #include "tree.h"
  #include "stringpool.h"
- #include "diagnostic-core.h"
  #include "jcf.h"
- #include "alias.h"
  #include "fold-const.h"
  #include "stor-layout.h"
  #include "java-tree.h"
--- 26,32 ----
Index: java/decl.c
===================================================================
*** java/decl.c	(revision 229584)
--- java/decl.c	(working copy)
*************** The Free Software Foundation is independ
*** 33,47 ****
  #include "stringpool.h"
  #include "cgraph.h"
  #include "diagnostic-core.h"
- #include "alias.h"
  #include "stor-layout.h"
  #include "varasm.h"
  #include "toplev.h"
- #include "flags.h"
  #include "java-tree.h"
  #include "jcf.h"
  #include "java-except.h"
- #include "tree-inline.h"
  #include "version.h"
  #include "tree-iterator.h"
  #include "langhooks.h"
--- 33,44 ----
Index: java/except.c
===================================================================
*** java/except.c	(revision 229584)
--- java/except.c	(working copy)
*************** The Free Software Foundation is independ
*** 28,40 ****
  #include "tree.h"
  #include "stringpool.h"
  #include "diagnostic-core.h"
- #include "alias.h"
  #include "fold-const.h"
  #include "stor-layout.h"
  #include "java-tree.h"
- #include "javaop.h"
- #include "java-opcodes.h"
- #include "jcf.h"
  #include "java-except.h"
  #include "toplev.h"
  #include "tree-iterator.h"
--- 28,36 ----
Index: java/expr.c
===================================================================
*** java/expr.c	(revision 229584)
--- java/expr.c	(working copy)
*************** The Free Software Foundation is independ
*** 30,44 ****
  #include "tree.h"
  #include "stringpool.h"
  #include "diagnostic-core.h"
- #include "alias.h"
  #include "fold-const.h"
  #include "stor-layout.h"
- #include "flags.h"
  #include "java-tree.h"
- #include "javaop.h"
  #include "java-opcodes.h"
  #include "jcf.h"
- #include "java-except.h"
  #include "parse.h"
  #include "tree-iterator.h"
  
--- 30,40 ----
Index: java/java-gimplify.c
===================================================================
*** java/java-gimplify.c	(revision 229584)
--- java/java-gimplify.c	(working copy)
*************** The Free Software Foundation is independ
*** 24,41 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "tm.h"
  #include "function.h"
  #include "basic-block.h"
- #include "hard-reg-set.h"
  #include "tree.h"
  #include "gimple.h"
- #include "cfghooks.h"
- #include "alias.h"
- #include "fold-const.h"
  #include "java-tree.h"
  #include "dumpfile.h"
- #include "internal-fn.h"
  #include "gimplify.h"
  
  static tree java_gimplify_block (tree);
--- 24,35 ----
Index: java/jcf-dump.c
===================================================================
*** java/jcf-dump.c	(revision 229584)
--- java/jcf-dump.c	(working copy)
*************** The Free Software Foundation is independ
*** 50,62 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "options.h"
  #include "tree.h"
  #include "diagnostic.h"
  #include "intl.h"
  
  #include "jcf.h"
- #include "alias.h"
  #include "java-tree.h"
  
  #include "version.h"
--- 50,60 ----
Index: java/jcf-io.c
===================================================================
*** java/jcf-io.c	(revision 229584)
--- java/jcf-io.c	(working copy)
*************** The Free Software Foundation is independ
*** 26,37 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "options.h"
- #include "tree.h"
  
  #include "jcf.h"
- #include "alias.h"
- #include "java-tree.h"
  #include <dirent.h>
  
  #include "zlib.h"
--- 26,33 ----
Index: java/jcf-parse.c
===================================================================
*** java/jcf-parse.c	(revision 229584)
--- java/jcf-parse.c	(working copy)
*************** The Free Software Foundation is independ
*** 28,45 ****
  #include "coretypes.h"
  #include "target.h"
  #include "function.h"
- #include "obstack.h"
  #include "bitmap.h"
  #include "tree.h"
  #include "stringpool.h"
  #include "cgraph.h"
  #include "diagnostic-core.h"
- #include "alias.h"
- #include "flags.h"
- #include "java-except.h"
  #include "javaop.h"
  #include "java-tree.h"
- #include "parse.h"
  #include "debug.h"
  #include "toplev.h"
  
--- 28,40 ----
Index: java/jvgenmain.c
===================================================================
*** java/jvgenmain.c	(revision 229584)
--- java/jvgenmain.c	(working copy)
*************** The Free Software Foundation is independ
*** 26,37 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "options.h"
- #include "obstack.h"
  #include "tree.h"
  #include "diagnostic.h"
- #include "jcf.h"
- #include "alias.h"
  #include "java-tree.h"
  #include "intl.h"
  
--- 26,33 ----
Index: java/lang.c
===================================================================
*** java/lang.c	(revision 229584)
--- java/lang.c	(working copy)
*************** The Free Software Foundation is independ
*** 29,42 ****
  #include "target.h"
  #include "tree.h"
  #include "diagnostic.h"
- #include "alias.h"
  #include "java-tree.h"
  #include "jcf.h"
  #include "langhooks.h"
  #include "langhooks-def.h"
- #include "flags.h"
- #include "tree-inline.h"
- #include "splay-tree.h"
  #include "tree-dump.h"
  #include "opts.h"
  #include "context.h"
--- 29,38 ----
Index: java/mangle.c
===================================================================
*** java/mangle.c	(revision 229584)
--- java/mangle.c	(working copy)
*************** The Free Software Foundation is independ
*** 27,39 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "options.h"
- #include "obstack.h"
  #include "tree.h"
  #include "stringpool.h"
- #include "diagnostic-core.h"
  #include "jcf.h"
- #include "alias.h"
  #include "java-tree.h"
  #include "langhooks-def.h"
  
--- 27,35 ----
Index: java/mangle_name.c
===================================================================
*** java/mangle_name.c	(revision 229584)
--- java/mangle_name.c	(working copy)
*************** The Free Software Foundation is independ
*** 27,39 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "options.h"
  #include "obstack.h"
- #include "tree.h"
  #include "diagnostic-core.h"
  #include "jcf.h"
- #include "alias.h"
- #include "java-tree.h"
  
  static void append_unicode_mangled_name (const char *, int);
  #ifndef HAVE_AS_UTF8
--- 27,35 ----
Index: java/resource.c
===================================================================
*** java/resource.c	(revision 229584)
--- java/resource.c	(working copy)
*************** The Free Software Foundation is independ
*** 25,43 ****
  #include "system.h"
  #include "coretypes.h"
  #include "tm.h"
- #include "function.h"
- #include "hard-reg-set.h"
  #include "tree.h"
  #include "stringpool.h"
  #include "cgraph.h"
- #include "diagnostic-core.h"
- #include "alias.h"
  #include "fold-const.h"
  #include "stor-layout.h"
  #include "java-tree.h"
- #include "jcf.h"
  #include "toplev.h"
- #include "parse.h"
  #include "tree-iterator.h"
  
  /* A list of all the resources files.  */
--- 25,37 ----
Index: java/typeck.c
===================================================================
*** java/typeck.c	(revision 229584)
--- java/typeck.c	(working copy)
*************** The Free Software Foundation is independ
*** 27,42 ****
  #include "system.h"
  #include "coretypes.h"
  #include "options.h"
- #include "obstack.h"
  #include "tree.h"
  #include "stringpool.h"
  #include "diagnostic-core.h"
- #include "alias.h"
  #include "fold-const.h"
  #include "stor-layout.h"
- #include "flags.h"
  #include "java-tree.h"
- #include "jcf.h"
  #include "convert.h"
  
  static tree convert_ieee_real_to_integer (tree, tree);
--- 27,38 ----
Index: java/verify-glue.c
===================================================================
*** java/verify-glue.c	(revision 229584)
--- java/verify-glue.c	(working copy)
*************** The Free Software Foundation is independ
*** 28,37 ****
  #include "system.h"
  #include "coretypes.h"
  #include "options.h"
- #include "tree.h"
  #include "stringpool.h"
  #include "diagnostic-core.h"
- #include "alias.h"
  #include "parse.h"
  
  #include "verify.h"
--- 28,35 ----
Index: java/verify-impl.c
===================================================================
*** java/verify-impl.c	(revision 229584)
--- java/verify-impl.c	(working copy)
*************** details.  */
*** 14,24 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "options.h"
- #include "symtab.h"
  #include "verify.h"
  
- #include "alias.h"
  
  /* Hack to work around namespace pollution from java-tree.h.  */
  #undef current_class
--- 14,21 ----
Index: java/zextract.c
===================================================================
*** java/zextract.c	(revision 229584)
--- java/zextract.c	(working copy)
*************** The Free Software Foundation is independ
*** 28,34 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "tm.h"
  #include "zipfile.h"
  
  /* This stuff is partly based on the 28 August 1994 public release of the
--- 28,33 ----
Index: jit/dummy-frontend.c
===================================================================
*** jit/dummy-frontend.c	(revision 229584)
--- jit/dummy-frontend.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 20,41 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "tm.h"
- #include "function.h"
- #include "hard-reg-set.h"
- #include "tree.h"
  #include "jit-playback.h"
- #include "cgraph.h"
- #include "opts.h"
- #include "alias.h"
  #include "stor-layout.h"
  #include "debug.h"
  #include "langhooks.h"
  #include "langhooks-def.h"
- #include "dumpfile.h"
  
- #include "jit-common.h"
- #include "jit-logging.h"
  
  #include <mpfr.h>
  
--- 20,31 ----
Index: jit/jit-builtins.c
===================================================================
*** jit/jit-builtins.c	(revision 229584)
--- jit/jit-builtins.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 21,32 ****
  #include "system.h"
  #include "coretypes.h"
  #include "target.h"
- #include "jit-common.h"
  #include "jit-playback.h"
  #include "stringpool.h"
  
  #include "jit-builtins.h"
- #include "jit-recording.h"
  
  namespace gcc {
  
--- 21,30 ----
Index: jit/jit-playback.c
===================================================================
*** jit/jit-playback.c	(revision 229584)
--- jit/jit-playback.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 22,34 ****
  #include "system.h"
  #include "coretypes.h"
  #include "target.h"
- #include "function.h"
  #include "tree.h"
- #include "timevar.h"
  #include "stringpool.h"
  #include "cgraph.h"
- #include "opts.h"
- #include "alias.h"
  #include "dumpfile.h"
  #include "toplev.h"
  #include "tree-cfg.h"
--- 22,30 ----
*************** along with GCC; see the file COPYING3.
*** 40,50 ****
  #include "attribs.h"
  #include "context.h"
  #include "fold-const.h"
- #include "debug.h"
  #include "gcc.h"
  
- #include "jit-common.h"
- #include "jit-logging.h"
  #include "jit-playback.h"
  #include "jit-result.h"
  #include "jit-builtins.h"
--- 36,43 ----
Index: jit/jit-recording.c
===================================================================
*** jit/jit-recording.c	(revision 229584)
--- jit/jit-recording.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 22,36 ****
  #include "system.h"
  #include "coretypes.h"
  #include "tm.h"
- #include "jit-common.h"
- #include "timevar.h"
  #include "pretty-print.h"
  #include "toplev.h"
  
  #include <pthread.h>
  
  #include "jit-builtins.h"
- #include "jit-logging.h"
  #include "jit-recording.h"
  #include "jit-playback.h"
  
--- 22,33 ----
Index: jit/jit-spec.c
===================================================================
*** jit/jit-spec.c	(revision 229584)
--- jit/jit-spec.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 20,28 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "tm.h"
- #include "gcc.h"
- #include "opts.h"
  
  /* Filter command line before processing by the gcc driver proper.  */
  void
--- 20,25 ----
Index: jit/libgccjit.c
===================================================================
*** jit/libgccjit.c	(revision 229584)
--- jit/libgccjit.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 21,33 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "jit-common.h"
  #include "timevar.h"
- #include "opts.h"
  #include "typed-splay-tree.h"
  
  #include "libgccjit.h"
- #include "jit-logging.h"
  #include "jit-recording.h"
  #include "jit-result.h"
  
--- 21,30 ----
Index: objcp/objcp-decl.c
===================================================================
*** objcp/objcp-decl.c	(revision 229584)
--- objcp/objcp-decl.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 22,34 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "tm.h"
- #include "tree.h"
  #include "cp-tree.h"
- #include "alias.h"
  
  #include "c-family/c-objc.h"
- #include "objc-act.h"
  #include "objcp-decl.h"
  
  /* Hacks to simulate start_struct() and finish_struct(). */
--- 22,30 ----
Index: objcp/objcp-lang.c
===================================================================
*** objcp/objcp-lang.c	(revision 229584)
--- objcp/objcp-lang.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 21,30 ****
  #include "config.h"
  #include "system.h"
  #include "coretypes.h"
- #include "target.h"
- #include "tree.h"
  #include "cp-tree.h"
- #include "c-family/c-common.h"
  #include "c-family/c-objc.h"
  #include "objc-act.h"
  #include "langhooks.h"
--- 21,27 ----

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [patch] New remainder of front end header reduction
  2015-11-02 13:58     ` [patch] New remainder of " Andrew MacLeod
@ 2015-11-09 21:33       ` Jeff Law
  0 siblings, 0 replies; 30+ messages in thread
From: Jeff Law @ 2015-11-09 21:33 UTC (permalink / raw)
  To: Andrew MacLeod, gcc-patches

On 11/02/2015 06:58 AM, Andrew MacLeod wrote:
> On 11/02/2015 01:41 AM, Jeff Law wrote:
>> On 10/30/2015 07:37 AM, Andrew MacLeod wrote:
>>> OK, here's the much delayed front end reduction patch based on the
>>> reordering already being checked in.
>>>
>>> I discovered that my targets builds were only building c/c++, so the
>>> other languages were being reduced based only on the host
>>> x86_64-pc-linux-gnu build.   Thats *probably* ok, but I wanted to be
>>> sure.  This is when I discovered that the other languages have varying
>>> amounts of support amongst the targets. Simply building all the targets
>>> to compile, say ada, doesn't actually work quite right.
>>>
>>> So this patch covers all the languages which do have full support.. the
>>> ones enabled by 'all' languages.
>>>
>>> I am determining which targets build the other languages now, and will
>>> submit separate reduction patches for those languages.
>>>
> Here's the rest of the front end files.  I will temporarily hold off
> checking in the other front end file due to the ENABLE_OFFLOADING and
> ENABLE_FOLD_CHECKING issues brought up.  I'll rerun the tool with all
> the ENABLE_* macros I can fine predefined in the tool to avoid this
> issue, and adjust he front end patches if necessary.. ie, if the tool
> finds a reduction that shouldnt happen.
>
> Anyway, here's the rest of the header files which should be the final
> patch  I ran the tool on the coverage components of config-list.mk that
> supported each of the languages, then did a full build of all targets.
>
> bootstraps on x86_64-pc-linux-gnu with no new regressions, and passes
> all of config-list.mk
The remaining header file removals are fine.

jeff

^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2015-11-09 21:33 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-10-23 16:57 [patch] New backend header reduction Andrew MacLeod
2015-10-23 19:25 ` Jeff Law
2015-10-30 18:03   ` Cesar Philippidis
2015-10-30 18:29     ` Andrew MacLeod
2015-10-30 20:24       ` Andrew MacLeod
2015-10-30 20:27         ` Cesar Philippidis
2015-10-30 20:52           ` Jeff Law
2015-10-30 20:54           ` cgraph offloading error? Nathan Sidwell
2015-10-30 21:04             ` Jeff Law
2015-10-30 21:22               ` Nathan Sidwell
2015-10-30 21:31                 ` Jeff Law
2015-10-30 22:17                   ` Nathan Sidwell
2015-10-30 22:31                     ` Nathan Sidwell
2015-10-30 22:33                     ` Jeff Law
2015-10-30 23:01                       ` Nathan Sidwell
2015-10-30 22:16           ` [patch] New backend header reduction Jeff Law
2015-11-02  8:43             ` Offload configurations (was: [patch] New backend header reduction) Thomas Schwinge
2015-10-30 13:38 ` [patch] New 'all' front end header reduction Andrew MacLeod
2015-10-30 16:20   ` Mike Stump
2015-10-30 16:35     ` Andrew MacLeod
2015-10-30 16:39       ` Mike Stump
2015-11-02  6:41   ` Jeff Law
2015-11-02 13:58     ` [patch] New remainder of " Andrew MacLeod
2015-11-09 21:33       ` Jeff Law
2015-10-31  7:02 ` [patch] New backend " Andreas Schwab
2015-10-31  8:14   ` Markus Trippelsdorf
2015-10-31 15:24     ` Markus Trippelsdorf
2015-10-31 20:30   ` Jeff Law
2015-11-02  7:43 ` Thomas Schwinge
2015-11-02 13:51   ` Andrew MacLeod

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).