[patch 1/3] Flatten gimple.h

Jeff Law law@redhat.com
Thu Nov 21 21:55:00 GMT 2013


On 11/21/13 11:15, Andrew MacLeod wrote:
> The final gimple re-org patch!
>
> These patches move the #includes out of gimple.h and into the .c files
> which include gimple.h.  They are:
>
> #include "pointer-set.h"
> #include "hash-table.h"
> #include "vec.h"
> #include "ggc.h"
> #include "basic-block.h"
> #include "tree-ssa-alias.h"
> #include "internal-fn.h"
> #include "gimple-fold.h"
> #include "tree-eh.h"
> #include "gimple-expr.h"
> #include "is-a.h"
>
> The first patch is the core changes, plus the #include changes in the
> core compiler directory.
>
> I moved recalculate_side_effects() from gimple.c to gimplify.c.
> gimplify.c was the primary consumer, and the only other caller was in
> the ada front end.  By moving it, the ada front end doesn't need
> gimple.h any more.
>
> I also trimmed out any  .h file introduced which the .c file does not
> require.  None of these specific .h files appear to have any ordering
> issues, so this should be safe.
>
> The second patch has the language front end changes. its only the
> ${language}-gimplify.c files which now actually require gimple.h itself
> (yay).  I also trimmed out the #includes which were introduced but not
> required there as well.
>
> The third patch has the config/*  target changes, as well as a few
> testcases.  I did *not*  trim out  includes for the targets since I got
> caught earlier with targets requiring some files on only some
> configurations.  I did go through an remove any duplicates that were
> introduced tho. (ie, if basic-block.h was already being included, I
> removed the duplicate which flattening introduced.) I didn't try
> reducing the includes in the testcases since that doesn't really matter.
>
> I did run make all-gcc on all the targets in config-list.mk, and don't
> appear to have caused any new failures... the failures that are there
> appear to be unrelated to compilation of the changed files.
>
> Is there anything in particular one needs to do for plugins? I thought I
> saw a patch somewhere that changed something in the Makefile, but don't
> know if that is actually required since I never did that for any of the
> others.   Any plugin which used gimple.h probably needs a few more
> includes...
>
> This bootstraps on x86_64-unknown-linux-gnu, and regressions are
> currently running.  Assuming it passes fine, OK?
patch#1 in the series is fine too.

jeff



More information about the Gcc-patches mailing list