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]

Re: [PATCH] flow.c cleanup


Hello,

> > >> It also seems to me that it duplicates existing
> > >> functionality, i.e. the EXPR_LIST and INSN_LIST chains that some
> > >> passes attach to RTL.  Could you please look into using the existing
> > >> data and/or augmenting it to serve this purpose?
> > >
> > > there is probably some overlap with other structures used elsewhere in
> > > the compiler (surely somewhere in df.c must be something simmilar). But
> > > the structure I use is directly derived from functioning of flow.c and
> > > it would be hard to use other structure for this purpose.
> > 
> > It concerns me that we have a proliferation of similar data
> > structures.  I think it would be a good idea to sweep through the
> > entire series of RTL optimizer passes and try to get them all using
> > the same data-flow annotations.
> 
> I was thinking about organizing the local RTL passes in different way -
> instead of function that does linear pass trought function doing
> something on each insn, do standarized interface (probably three
> functions - start bb, process insn, finish).
> Then we can have one "superpass" that will do as many local passes in
> parallel as we want to.  That way we can do local copy proprying, local
> CSE, half of dead code removal and similar by single pass that can
> significantly speed up the compiler by reducing amount of data cache
> traps.  It may not...
> Many of our passes can be directly reorganized into this scheme.

I don't think it is a good idea. I guess you would run into lot of
troubles with passes interacting with each other, especially if they
needed to alter some surroundings of current insn.

Zdenek


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