Displaying 5 results from an estimated 5 matches for "nullcheck".
2014 Apr 01
6
[LLVMdev] Proposal: Loads/stores with deterministic trap/unwind behavior
...n
set of baggage that can inhibit optimization. (For example, if we can prove
that a load would always succeed, 'volatile' prevents us from reordering
the load or deleting it if it is dead.) So I propose to add an attribute to
'load' and 'store', which we can call, say, 'nullcheck', with the following
additional semantics:
- If the memory address is between zero and a target-defined value (i.e. the
size of the zero page) the instruction is guaranteed to trap in a
target-defined manner.
- The optimizer may only delete or reorder nullcheck instructions if the...
2014 Apr 07
6
[LLVMdev] Proposal: Loads/stores with deterministic trap/unwind behavior
...bit optimization. (For example, if we can prove
> > that a load would always succeed, 'volatile' prevents us from reordering
> > the load or deleting it if it is dead.) So I propose to add an attribute to
> > 'load' and 'store', which we can call, say, 'nullcheck', with the following
> > additional semantics:
> >
> > - If the memory address is between zero and a target-defined value (i.e. the
> > size of the zero page) the instruction is guaranteed to trap in a
> > target-defined manner.
> >
> > - The opti...
2015 Oct 18
2
Managed Languages BOF @ Dev Meeting
...lude:
> - Dealing with the explosion of basic blocks that come up with
> languages where almost every function call, implicit and explicit, can
> raise exceptions.
I saw this come up in a recent discussion about LLILC. One simple way to do this is to introduce a new intrinsic, like “llvm.nullcheck(x)” which symbolically represents the null check and bail out in one instruction - instead of the fully elaborated basic block representation (which slows everything down by increasing the height of the CFG). These null checks can be optimized away through standard techniques, and any remaining on...
2015 Oct 16
5
Managed Languages BOF @ Dev Meeting
Sanjoy, Joseph, and I will be hosting a BoF on using LLVM to build
compilers for managed languages. We're curious to hear who's planning
on attending and what topics you'd like to hear about. Depending on the
expected audience, we're happy to do anything between a rough "what to
expect getting started" to a down in the weeds working session on
relevant optimization
2015 Apr 23
5
[LLVMdev] RFC: implicit null checks in llvm
Hi all,
I would like to propose a mechanism that would allow LLVM to fold null
pointer checks into "nearby" memory operations, subject to runtime
support. This is related to but not exactly the same as a proposal
floated by Peter Collingbourne earlier [1]. The obvious use cases are
managed languages like Java, C# and Go that require a null check on
pointers before they're used in