On 11/13/13 07:46, Andrew MacLeod wrote:
This set of 3 patches creates gimple-iterator.h to hold the prototypes
for the existing gimple-iterator.c.  It also extracts the gimple-stmt
'walker' routines into their own file. I didn't originally intend to do
that, but I discovered that the include dependencies between statements,
iterators and walkers made the separation occur naturally, so went with it.

There were a couple of routines that got moved from .h to .c files.
tree-phinodes.h::set_phi_nodes()  and
gimple.h::gimple_seq_set_location() were moved into their .c files
because the inlined function made use of statement iterators, and by
moving them into the .c file, it removes the requirement on
gimple-iterator.h being needed so simply parse the header file.  I do
not believe either will have any measurable impact.

patch 1 has the core changes.
patch 2 updates the core compiler files to include one or both .h files
as needed.
patch 3 updates a few other files.. 2 target config files and 2
testsuite plugin tests which require the new includes.

Note that at this moment, gimple.h still has "enum
gsi_iterator_update".  I can't move that out until I split gimplfy.h
into the gimplfy-be.h component mentioned in the previous patch set
(gimplify-be.h will require gimple-iterator.h and contain only
gimplification routines that the back end uses).  That'll be the next
patch set...  and then once that is out, I'll clean up the remaining
gimple.h prototypes and then see about flattening all the #includes in
gimple.h and gimplfy.h

bootstraps on x86_64-unknown-linux-gnu with no new regressions.

I built stage 1 successfully for aarch64-elf, aarch64-linux-gnu,
powerpc-darwin8, powerpc-eabi, and  rs6000-ibm-aix6.0 to verify the
config changes compile for those targets.   I'm also currently building
the other targets I built when gimplify.h was split out just to make
sure I didn't miss anything there.... but I don't think there are any
dependencies in those targets.

OK for mainline?
All 3 patches in the series are fine.

Thanks,
jeff

Reply via email to