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]

Re: Creating a prettier flow graph


> 
> Oh dear.  We seem to have some amazing duplication of effort, except that
> you are faster than I am.

I'm not.  I just did similar stuff a year ago, so it took little actual work
once I decided to send a patch.

> My patch is a bit more ambitious, as I want a handle to a basic block that
> is stable throughout the life of the cfg (so that I can embed some sort of
> block reference in rtl; think phi).  Also, edge lists that record more
> information than int_lists can, so that I don't have to keep going back to
> examine the rtl to figure out why I created that edge, so I can tell whether
> my global optimization is valid across it.
> 
> Here's the half-done patch I gave to some people last night, trying to get
> a sanity check on the direction in which I was headed.  This is not to say
> that we should necessarily prefer my work over yours -- certainly yours 
> works with the rest of the system now, whereas mine would require changes --
> but I am interested in opinions yea or nay as to whether the extra bits that
> I want to collect are seen to be worth the effort.

Your patch contains some ideas which I would have implemented afterwards as
well (such as moving related data into a struct basic_block).  Other than
that, parts of the patches look rather similar.

One issue which I forgot to mention the last time: the async_exceptions code
is giving me headaches.  It talks about making an edge from every insn to an
exception handler block, which is bogus as we can't really make edges from
insns, only from basic blocks.  Does someone have a clue as to what that is
all about?

Bernd



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