Hi,

I added a comment explaining why this optimization is permitted, and
simplified your testcase and folded it into an existing test file.
Committed as r161998.

Thanks!

On Mon, Aug 13, 2012 at 4:48 PM, Yin Ma <[email protected]> wrote:

> Hi Richard,****
>
> ** **
>
>      Could you review all my changes again. I have added test case you
> requested.****
>
> I hope this one can be merged soon.****
>
> ** **
>
> Thanks,****
>
> ** **
>
>                 Yin ****
>
> ** **
>
> ** **
>
> *From:* [email protected] [mailto:
> [email protected]] *On Behalf Of *Yin Ma
> *Sent:* Tuesday, July 31, 2012 11:26 AM
> *To:* 'Richard Smith'
>
> *Cc:* [email protected]
> *Subject:* Re: [cfe-commits] [PATCH][Review Please] Devirtualize record
> type member object****
>
> ** **
>
> Hi Richard,****
>
> ** **
>
> Here is the test file. It is good to be put into ****
>
> Clang/test/CodeGenCXX directory****
>
> ** **
>
> Thanks,****
>
> ** **
>
>                    Yin ****
>
> ** **
>
> *From:* [email protected] [mailto:[email protected]] *On Behalf Of *Richard
> Smith
> *Sent:* Monday, July 30, 2012 2:38 PM
> *To:* Yin Ma
> *Cc:* [email protected]
> *Subject:* Re: [cfe-commits] [PATCH][Review Please] Devirtualize record
> type member object****
>
> ** **
>
> On Mon, Jul 30, 2012 at 2:33 PM, Yin Ma <[email protected]> wrote:****
>
> Hi Richard,****
>
>  ****
>
>      What test cases you need? Do you mean that a test sits in clang test
> folder****
>
> With a code that can be devirtualized?****
>
> ** **
>
> Yes, add some cases
> to test/CodeGenCXX/devirtualize-virtual-function-calls.cpp which check that
> the right IR is produced for this case.****
>
>  ****
>
>  ****
>
> Thanks,****
>
>  ****
>
>                           Yin ****
>
>  ****
>
> *From:* [email protected] [mailto:[email protected]] *On Behalf Of *Richard
> Smith
> *Sent:* Monday, July 30, 2012 1:13 PM
> *To:* Yin Ma
> *Cc:* [email protected]
> *Subject:* Re: [cfe-commits] [PATCH][Review Please] Devirtualize record
> type member object****
>
>  ****
>
> On Mon, Jul 30, 2012 at 10:54 AM, Yin Ma <[email protected]> wrote:****
>
> Hi,****
>
> Currently, the LLVM devirtualization forgets to handle a simple code
> pattern where can be devirutalized. The code pattern is when a call is from
> the record type member object. Currently, LLVM only supports devirtualizing
> a call from the record type object defined in the same function. If object
> is defined as member, it should be supported. The patch is to enable
> devirtualization for this case.****
>
> In the attachment.
> devir.diff is the code change
> the rest of files are the results from validation tests****
>
> Please give a review.****
>
> The patch looks correct, but needs some test cases added before it can be
> checked in.****
>
> ** **
>
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to