Displaying 2 results from an estimated 2 matches for "branch_out".
2015 Apr 24
2
[LLVMdev] RFC: implicit null checks in llvm
...t be
dereferenceable
T = *X // miscompile here
EH_LABEL // clobbers all
U = *X // implicit null check, branches out on fault
EH_LABEL // clobbers all
...
The fundamental problem, of course, is that we're hiding the real
control flow which is
if (!is_dereferenceable(X)) branch_out;
U = *X
> We don’t need to support patching at the load. Patch points will be needed
> to “heal” bad implicit null checks, but that is probably better done by
> patching call sites into the optimized code. Eventually, someone may want to
> be able to patch their implicit null checks,...
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,