Displaying 2 results from an estimated 2 matches for "store_with_trap".
2015 Apr 23
5
[LLVMdev] RFC: implicit null checks in llvm
...ess 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 loaded value on the normal return path. If the load or
store tra...
2015 Apr 23
4
[LLVMdev] RFC: implicit null checks in llvm
...o 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 null checks, there are far more functions
that do field accesses and meth...