On 10/24/14 09:22, Andrew MacLeod wrote:
Don't let it's size scare you, this is actually fairly trivial now. I
split it into the more interesting patch and the big, boring, mechanical
one.  all-in-all, it touches 351 files :-P.

This patch completely flattens basic-block.h.  I manually adjusted some
of the remaining .h files and replicated the include list to any source
and include files which included those... and so on until full closure
was accompllshed.  basic-block.h is not included from anything but
source files now.

Very few actual tweaks... "enum profile_status_d" and "struct
control_flow_graph" were moved from basic-block.h to cfg.h.  They are
used from very few places and there was a tiny bit of code in cfg.c
which allocated the struct.  This is also the logical place for it.

symbol_table::create_empty() was moved from cgraph.h to cgraph.c. It
uses REG_BR_PROB_BASE which is defined in basic-block.h, and by moving
it to the .c file, there is no dependency between basic-block.h and
cgraph.h any more.

a few of the gen*.c needed to have the generated file's include list
changed a little to still compile properly.

gccplugin.h now includes all the stuff basic-block.h use to.    Its
still not perfect as the testsuite showed.  one of the tests included
gcc-plugin.h almost last, so an existing #include "basic-block.h"
earlier in the include list broke...   Can't help everyone I guess.  If
gcc-plugin.h is included first, no problem. :-)

I also ran the include file reducer on all the new .h files this patch
series introduced (they should be safe since there is no conditional
macro stuff in them).. specifically  on:
predict.h, cfgrtl.h, cfg.h, cfganal.h, lcm.h, cfgbuild.h, cfgcleanup.h,
dominance.h, and of course, basic-block.h itself.  The only exception is
that I didn't try to reduce any config/* files

I have bootstrapped on x86_64-unknown-linux-gnu, run the testsuite with
no regressions, and run all the targets in contrib/config-list.mk to
catch and #includes the might be required by #ifdef'd code.   Hopefully
I got them all :-)      Im re-running on a fresh checkout over the
weekend just to be sure.

Assuming no issues pop up, OK for trunk?
Yes, this is OK.  ANd thanks for splitting it up like that :-)


jeff

Reply via email to