This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch 1/3] Flatten gimple.h


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?

Andrew

Attachment: gflat1.patch.gz
Description: application/gzip


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]