search for: d31539

Displaying 2 results from an estimated 2 matches for "d31539".

Did you mean: d31239
2017 Mar 31
2
Dereferenceable load semantics & LICM
Hi all, I have a question about dereferenceable metadata on load instruction. I have a patch (https://reviews.llvm.org/D31539) for LICM that hoists loads with !invariant.group. The motivation example is devirtualization: struct A { virtual void foo(); }; int bar(); void indirect(A &a) { while(bar()) a.foo(); } With -O2 -fstrict-vtable-pointers we get: define void @hoist(%struct.A* dereferenceable(8)) {...
2017 Mar 31
2
Dereferenceable load semantics & LICM
...yingwithpointers.com > wrote: > Hi Piotr, > > On March 31, 2017 at 9:07:42 AM, Piotr Padlewski > (piotr.padlewski at gmail.com) wrote: > > Hi all, > > I have a question about dereferenceable metadata on load instruction. I > > have a patch (https://reviews.llvm.org/D31539) for LICM that hoists > loads > > with !invariant.group. > > The motivation example is devirtualization: > > ... > > [snip] > > > > On the other hand, after performing my LICM of !invariant.group load, GVN > > hoists the second load and I am not sure why...