search for: classvtbl

Displaying 5 results from an estimated 5 matches for "classvtbl".

2010 Oct 11
4
[LLVMdev] Missed devirtualization opportunities
I took the output of clang, simplified it, and used it as a testbase. Essentially, there is one class with one virtual function; I create an instance and call the virtual method all in one function: ; The TestVirtual class vtbl @classvtbl.TestVirtual = constant %classvtbltype.TestVirtual { ; Pointers to the virtual methods for the TestVirtual class ... } ; ... define i32 @main() nounwind { ; create the instance %pinstance = alloca %class.TestVirtual ; %ppVtbl becomes a pointer to the instance's vtbl pointer. %ppVtbl = gete...
2010 Oct 11
0
[LLVMdev] Missed devirtualization opportunities
On Oct 11, 2010, at 9:12 AM, Kenneth Uildriks wrote: > 3. The front-end, recognizing that scribbling on an instance's vtbl > pointer has undefined results, eliminated the loads of the vtbl > pointer and replaced them with @classvtbl.TestVirtual. This would > allow devirtualization within a function at least, but (I think) would > do less to allow analysis to spot devirtualization opportunities > across functions. (Although ArgPromotion could arrange to have the > vtbl pointer passed in separately, and then inlini...
2010 Oct 11
2
[LLVMdev] Missed devirtualization opportunities
...hn McCall <rjmccall at apple.com> wrote: > On Oct 11, 2010, at 9:12 AM, Kenneth Uildriks wrote: >> 3. The front-end, recognizing that scribbling on an instance's vtbl >> pointer has undefined results, eliminated the loads of the vtbl >> pointer and replaced them with @classvtbl.TestVirtual.  This would >> allow devirtualization within a function at least, but (I think) would >> do less to allow analysis to spot devirtualization opportunities >> across functions.  (Although ArgPromotion could arrange to have the >> vtbl pointer passed in separately,...
2010 Oct 11
0
[LLVMdev] Missed devirtualization opportunities
...mccall at apple.com> wrote: >> On Oct 11, 2010, at 9:12 AM, Kenneth Uildriks wrote: >>> 3. The front-end, recognizing that scribbling on an instance's vtbl >>> pointer has undefined results, eliminated the loads of the vtbl >>> pointer and replaced them with @classvtbl.TestVirtual. This would >>> allow devirtualization within a function at least, but (I think) would >>> do less to allow analysis to spot devirtualization opportunities >>> across functions. (Although ArgPromotion could arrange to have the >>> vtbl pointer passe...
2010 Oct 11
3
[LLVMdev] Missed devirtualization opportunities
...l <rjmccall at apple.com> wrote: > > On Oct 11, 2010, at 9:12 AM, Kenneth Uildriks wrote: > > 3. The front-end, recognizing that scribbling on an instance's vtbl > > pointer has undefined results, eliminated the loads of the vtbl > > pointer and replaced them with @classvtbl.TestVirtual.  This would > > allow devirtualization within a function at least, but (I think) would > > do less to allow analysis to spot devirtualization opportunities > > across functions.  (Although ArgPromotion could arrange to have the > > vtbl pointer passed in separat...