Displaying 3 results from an estimated 3 matches for "load_with_trap".
2015 Apr 23
5
[LLVMdev] RFC: implicit null checks in llvm
...res, virtual
dispatches etc.). I'm sure there are other less obvious and more
interesting use cases.
I plan to break the design into two parts, roughly following the
statepoint philosophy:
# invokable @llvm.(load|store)_with_trap intrinsics
We introduce two new intrinsic families
T @llvm.load_with_trap(T*) [modulo name mangling]
void @llvm.store_with_trap(T, T*) [modulo name mangling]
They cannot be `call`ed, they can only be `invoke`d.
Semantically, they try to load from or store to the pointer passed to
them as normal load / store instructions do. @llvm.load_with_trap
returns the lo...
2015 Apr 23
4
[LLVMdev] RFC: implicit null checks in llvm
...ee it being done right.
+1
> > I plan to break the design into two parts, roughly following the
> > statepoint philosophy:
> >
> > # invokable @llvm.(load|store)_with_trap intrinsics
> >
> > We introduce two new intrinsic families
> >
> > T @llvm.load_with_trap(T*) [modulo name mangling]
> > void @llvm.store_with_trap(T, T*) [modulo name mangling]
> >
> > They cannot be `call`ed, they can only be `invoke`d.
>
Why not allow non-nounwind calls, in other words, an intrinsic call that
may throw?
In most languages with implicit n...
2015 Apr 24
2
[LLVMdev] RFC: implicit null checks in llvm
On Thu, Apr 23, 2015 at 5:17 PM, Andrew Trick <atrick at apple.com> wrote:
> The scheduler itself doesn’t move anything around labels. But any pass can
> perform code motion or load/store optimization. Also, any pass can insert
> an instruction, like a copy, between the label and the load.
>
> I’m not really sure how EH_LABEL ends up translating into exception
> tables,