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

Chandler Carruth via llvm-dev llvm-dev at lists.llvm.org
Thu Jul 14 20:23:51 PDT 2016

On Thu, Jul 14, 2016 at 8:21 PM Sanjoy Das <sanjoy at playingwithpointers.com>

> Hi Chandler,
> Chandler Carruth wrote:
>  > I actually think there is a pretty clean incremental path from 2a to 3
> Reading the rest of what you wrote, it looks like you meant "from 2b
> to 3"?

Doh, yes. Sorry.

>  > One thing you didn't mention is that this requires a matching function
>  > attribute too so that we can distinguish between a call site that reads
>  > memory and a call site that reads memory in a way that is potentially
>  > unsafe.
> Yes, thanks for bringing this up.
> One interesting possibility is to not make this function attribute
> specific to memory at all.  Then we can use it to communicate "this
> function may have undefined behavior", and fearlessly hoist "readnone
> nounwind" functions that are not also "unsafe".

This is ... an extremely interesting idea.

Can you start a separate RFC about this?

I think it is important to understand how these things interact with each
other, but it sounds like they may form a very cohesive whole.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160715/758bd734/attachment.html>

More information about the llvm-dev mailing list