Displaying 3 results from an estimated 3 matches for "46973ee1".
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
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 {
;
2010 Oct 11
2
[LLVMdev] Missed devirtualization opportunities
...s the object is constructed or passed into a
function, right?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TestVirtual.cpp
Type: application/octet-stream
Size: 366 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20101011/46973ee1/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TestVirtual.h
Type: application/octet-stream
Size: 97 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20101011/46973ee1/attachment-0001.obj>