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: Notes toward re-implementing EH in gimple


Hi,

On Mon, 10 Aug 2009, Richard Henderson wrote:

> On 08/10/2009 05:53 AM, Michael Matz wrote:
> > Shouldn't it be enough to have EXC_PTR_EXPR/FILTER_EXPR simply be builtin
> > functions with proper attributes.
> 
> Yes, that would be entirely possible.  I thought about that later,
> after I'd posted that message.
> 
> Yall worry about pure/const'ness downthread: they could be const.

If they were const (implying no dependency on global memory state) they 
could be hoisted out of loops right to the functions start (if EH edges 
aren't magic).  You certainly don't want that and IMHO it would be good to 
make EH edges less magic than more.

> There are absolutely no side effects at the site of the builtin
> at all.

It's not that they _create_ side-effects, but they depend on some.

  Really, it's just a placeholder for a pseudo that rtl eh
> expanders created elsewhere at the landing pad.

Right, but conceptually this magic setting of registers happens on the 
traversal of the EH edge there and it is this change of global state that 
these two builtins would need to depend on.  A VUSE would be one method of 
modelling it and that's exactly the difference between const and pure 
functions, only the latter have VUSE<.MEM>.

> Cleaning that up won't be in my initial patch, I don't think, but
> it will be easy to do later.

Btw, it's really wonderful that someone tackles EH-on-gimple ;-)


Ciao,
Michael.


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