AmrDeveloper wrote:

> > > eh_token = cir.eh.landingpad
> > 
> > 
> > If i understood correctly cir.eh_token in Itanium will be lowered to a 
> > struct `{ %exception_ptr, %type_id }` and for windows will be an opaque ptr 
> > 🤔
> 
> The token is just an opaque value to establish a use-def chain. When the 
> operation is lowered for Itanium, the replacement will be as you describe, 
> though I wouldn't necessarily think of it in term of the token become the 
> struct. For Windows, the token roughly corresponds to the funclet token, 
> meaning it gets lowered to `none` for top-level landing pads. I haven't 
> thought through the mechanism we'll need for nested catch handlers, but as I 
> mentioned the funclet token will need to be attached to inoke/TryCall 
> operations within the catch region.

That make sense, thanks

https://github.com/llvm/llvm-project/pull/172713
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to