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

Chandler Carruth via llvm-dev
Fri, 15 Jul 2016 03:23:51 -0000

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

> 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>