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,