Displaying 3 results from an estimated 3 matches for "vtblptr".
2010 Oct 14
1
[LLVMdev] Missed devirtualization opportunities
...ide a callee... we see a pointer returned from the
callee, but don't know what its value is. alias analysis says that a
MayAlias b, unless the callee's return value is marked noalias, in
which case alias analysis says that a NoAlias b. With either of these
results, the invariance on a->vtblptr is not applied to any loads of
b->vtblptr. It is, however, applied to loads a->vtblptr, which is
exactly what we want. And the reverse is true for any invariance
applied to b->vtblptr.
If the callee is ever inlined, we're back to case 1.
So now we need a way to arrange for pointers...
2010 Oct 14
0
[LLVMdev] Missed devirtualization opportunities
On Oct 13, 2010, at 5:09 PM, Kenneth Uildriks wrote:
> But I believe the language does allow "undefined behavior" if there's
> a use of pT when the pointed-to object isn't actually of type T. It's
> an invalid use in that case, right?
Yes, but not for an arbitrary pointer which aliases pT. That's why it's
a problem that llm.invariant is specified in terms
2010 Oct 14
2
[LLVMdev] Missed devirtualization opportunities
On Wed, Oct 13, 2010 at 6:49 PM, John McCall <rjmccall at apple.com> wrote:
>
> On Oct 13, 2010, at 4:35 AM, Kenneth Uildriks wrote:
>
>> On Wed, Oct 13, 2010 at 12:45 AM, Nick Lewycky <nicholas at mxc.ca> wrote:
>>> Kenneth Uildriks wrote:
>>>>>
>>>>> You're right, I hadn't thought this through. The whole point of making