[llvm-dev] RFC: Strong GC References in LLVM

Andrew Trick via llvm-dev llvm-dev at lists.llvm.org
Fri Jul 15 19:28:28 PDT 2016


> On Jul 15, 2016, at 6:51 PM, Daniel Berlin <dberlin at dberlin.org> wrote:
> 
> IE:
> 
> int *A;
> int *D;
> 
> int bar()
> {
>   *D = 5; 
> if (im_bored)
>  throw();
> return *D;
> 
> 
> }

Not to argue this, since I completely agree philosophically. But my mental model for LLVM is that the “throw()” itself writes unknown memory…

Incidentally, it seems arguable to me to turn “maythrow” calls into invokes. The thing I don’t like about invokes is the shared landing pads.

What I was saying that started this tangent is that the notion of early exits would be hard to get rid of entirely. I at least wanted a ‘noexit/terminate’ attribute, but I guess no one needed it badly enough yet to add it.

-Andy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160715/d5fefb60/attachment.html>


More information about the llvm-dev mailing list