<div class="gmail_quote">On Mon, Jul 30, 2012 at 10:54 AM, Yin Ma <span dir="ltr"><<a href="mailto:yinma@codeaurora.org" target="_blank">yinma@codeaurora.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div lang="EN-US" link="blue" vlink="purple"><div><p style="background:white"><span style="font-size:10.5pt;font-family:"Arial","sans-serif"">Hi,<u></u><u></u></span></p><p style="background:white"><span style="font-size:10.5pt;font-family:"Arial","sans-serif"">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.<u></u><u></u></span></p>
<p style="background:white"><span style="font-size:10.5pt;font-family:"Arial","sans-serif"">In the attachment.<br>devir.diff is the code change<br>the rest of files are the results from validation tests<u></u><u></u></span></p>
<p style="background:white"><span style="font-size:10.5pt;font-family:"Arial","sans-serif"">Please give a review.</span></p></div></div></blockquote><div>The patch looks correct, but needs some test cases added before it can be checked in.</div>
</div>