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: Kill RBI structures


> On Friday 24 June 2005 20:54, Jan Hubicka wrote:
> > I've also replaced the next pointer used to communicate new layout of basic
> > blocks by aux pointer...
> 
> I believe this is the Wrong Thing.  The aux field should be available
> to the passes, but that is no longer possible now, is it?  And also,

It is, you just need to set it to the ordering you wish before doing
cgraph_layout_finalize...
In general there should be only one pass that really care about basic
block ordering and that is bb-reorder...

> as seen by the regressions from last week, it is just confusing to use
> one field for so many things (and makes the code harder to read, etc.).

Agreed, but I don't see much better alternative (ie either we will have
global pointer somewhere, we will have to relink the blocks in place
using existing next_bb pointers or have to allocate on side
datastruture).  All of the alternatives seems to have their own
disadvantages and aux one is just easier to implement.
> 
> When do we want to communicate this new layout?  Only when going out
> of cfglayout mode?  Why can't the bb->next_bb field just be used??

Both bb-reorder and tracer build the order bottom up from the traces and
it is convenient to still have way to see all your basic blocks while
you are working out your favorite ordering....

Honza
> 
> Gr.
> Steven
> 


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