search for: is_dereferenceable

Displaying 3 results from an estimated 3 matches for "is_dereferenceable".

2015 Apr 24
2
[LLVMdev] RFC: implicit null checks in llvm
...X always happens, X must 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 implic...
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,
2015 Aug 01
3
[LLVMdev] [cfe-dev] Clang devirtualization proposal
On Fri, Jul 31, 2015 at 6:18 PM, Reid Kleckner <rnk at google.com> wrote: > Consider this pseudo-IR and some possible transforms that I would expect to > be semantics preserving: > > void f(i32* readonly %a, i32* %b) { > llvm.assume(%a == %b) > store i32 42, i32* %b > } > ... > %p = alloca i32 > store i32 13, i32* %p > call f(i32* readonly %p,