Displaying 3 results from an estimated 3 matches for "nonshared_ptr".
2020 Nov 18
2
Should I add intrinsics to write my own automatic reference counting passes?
...let me know...
So this is my idea at this point:
The context is a C++ like language with an aggregate type that is always
reference counted. The typesystem differentiate between pointers to objects
that is shared between threads and those that does not. I also want a pass
that turn shared_ptr to nonshared_ptr if it can be proven.
So what I want to do is to wrap up all the "events" that are relevant as
intrinsics and run some simplification passes, then use the pointer
capture/escape analysis that LLVM has to turn shared_ptrs to nonshared_ptrs
and to elide nonatomic/atomic acquire/release. So...
2020 Nov 18
0
Should I add intrinsics to write my own automatic reference counting passes?
...> So this is my idea at this point:
>
> The context is a C++ like language with an aggregate type that is always reference counted. The typesystem differentiate between pointers to objects that is shared between threads and those that does not. I also want a pass that turn shared_ptr to nonshared_ptr if it can be proven.
>
> So what I want to do is to wrap up all the "events" that are relevant as intrinsics and run some simplification passes, then use the pointer capture/escape analysis that LLVM has to turn shared_ptrs to nonshared_ptrs and to elide nonatomic/atomic acquire/re...
2020 Nov 19
1
Should I add intrinsics to write my own automatic reference counting passes?
...nt:
>>
>> The context is a C++ like language with an aggregate type that is
>> always reference counted. The typesystem differentiate between
>> pointers to objects that is shared between threads and those that
>> does not. I also want a pass that turn shared_ptr to nonshared_ptr if
>> it can be proven.
>>
>> So what I want to do is to wrap up all the "events" that are relevant
>> as intrinsics and run some simplification passes, then use the
>> pointer capture/escape analysis that LLVM has to turn shared_ptrs to
>> nonshare...