This is the mail archive of the gcc@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: Question on fixup_abnormal_edges


Hi,

On Wed, 16 Oct 2002, Jan Hubicka wrote:

> EH edges are abnormal and can be critical.  You can add insns to them,
> if you update split_edge.

But then the exception tables need to be updated too, or?  I mean you have
to split such an edge, create a new BB, and somehow make that the landing
target for the exceptions.

> (ie teoretically it is possible, but our current framework can't deal
> with these) It can be good idea to add code for that, as GCSE would be
> much happier then too.
>
> I think that EH kills registers anyway, so this is not problem.
>
> I think problem is different.  The call with live register over is
> noreturn, so there should really be no register alive at first place.

Yes and no.  Because it's an throwing call the noreturn hint is not
exactly correct.  It doesn't return when it's not throwing, but if it
does, it returns and follows the EH edge.  Having registers live over EH
edges is OK, they just should not be allocated to hardregs which are
destroyed by EH.


Ciao,
Michael.


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