[cfe-dev] [LLVMdev] Clang devirtualization proposal

Geoff Berry gberry at codeaurora.org
Thu Jul 23 10:30:55 PDT 2015


Hi Piotr,

 

You may be interested in a recent patch I posted: http://reviews.llvm.org/D11043

This patch addresses a de-virtualization case that I’m not sure would be handled by your current proposal, namely that of a virtual call where the ‘this’ object is a global variable.

For example:

 

struct A {

  A();

  virtual void foo();

};

void g(A * a) {

  a->foo();

}

 

A a;

int main() {

  g(&a);

}

 

It might be worth considering if your approach could be extended to handle this case.

 

--

Geoff Berry

Employee of Qualcomm Innovation Center, Inc.

Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project

 

From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Piotr Padlewski
Sent: Wednesday, July 22, 2015 5:56 PM
To: cfe-dev at cs.uiuc.edu Developers; llvmdev at cs.uiuc.edu
Subject: [LLVMdev] Clang devirtualization proposal

 

Hi folks,

this summer I will work with Richard Smith on clang devirtualization. Check out our proposal:

 

https://docs.google.com/document/d/1f2SGa4TIPuBGm6y6YO768GrQsA8awNfGEJSBFukLhYA/edit?usp=sharing <https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.google.com_document_d_1f2SGa4TIPuBGm6y6YO768GrQsA8awNfGEJSBFukLhYA_edit-3Fusp-3Dsharing&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=Mfk2qtn1LTDThVkh6-oGglNfMADXfJdty4_bhmuhMHA&m=-sGvXxkjadRLtXcTi4kOVPumoH-0XOKmk_vgUTcYugY&s=hHoo6tgC-NooXdIwbBwT_D8sIw8fcYF4XvBRI8Lr9Eg&e=> 

 

And modified LangRef

http://reviews.llvm.org/D11399 <https://urldefense.proofpoint.com/v2/url?u=http-3A__reviews.llvm.org_D11399&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=Mfk2qtn1LTDThVkh6-oGglNfMADXfJdty4_bhmuhMHA&m=-sGvXxkjadRLtXcTi4kOVPumoH-0XOKmk_vgUTcYugY&s=L6_vdinD06uAwgm4OJGL5QxKw8Tzfa_4DxPwf3Zj704&e=> 

 

You can also check out previous disscussion that was started before our proposal was ready - http://lists.cs.uiuc.edu/pipermail/cfe-dev/2015-July/044052.html

 

Regards

Piotr Padlewski

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20150723/94d305d6/attachment.html>


More information about the cfe-dev mailing list