On Thu, Oct 3, 2013 at 4:11 AM, Andrew MacLeod <amacl...@redhat.com> wrote:
> this patch consolidates tree-ssa-loop*.c files with new .h files as required
> (8 in total)
>
> A number of the prototypes were in tree-flow.h, but there were also a few in
> cfgloop.h.  tree-ssa-loop.h was created to contain a couple of common
> structs and act as the gathering file for any generally applicable
> tree-ssa-loop includes. tree-flow.h includes this file for now.
>
> There is a bit of a criss-cross mess between the cfg-* and tree-ssa-loop*
> routines, but I'm not touching that for now.  Some of that might have to get
> resolved when I try to remove tree-flow.h as a standard include file from
> the .c files.. we'll see.
>
> In particular, tree-ssa-loop-niter.h exports a lot of more generally used
> routines. loop-iv.c, loop-unroll.c and loop-unswitch.c needed to include it.
>
> A few routines werent referenced outside their file so I made those static,
> and there was one routine stmt_invariant_in_loop_p wich was actually unused.
>
> bootstraps on x86_64-unknown-linux-gnu and passes with no new regressions.
> OK?

+   enum tree_code cmp;
+ };
+
+ #include "tree-ssa-loop-im.h"
+ #include "tree-ssa-loop-ivcanon.h"

what's the particular reason to not do includes first?  That looks really
odd (and maybe rather than doing that these includes should be done
elsewhere, like in .c files or in a header that includes tree-ssa-loop.h).

You seem to export things like movement_possibility that are not
used outside of tree-ssa-loop-im.c (in my tree at least).

Other than that the single reason we have to have all these exports
is that loop passes have their pass structures and gate / entries
defined in tree-ssa-loop.c instead of in the files the passes reside.
Consider changing that as a preparatory patch - it should cut down
the number of needed new .h files.

Richard.


> Andrew
>

Reply via email to