<div dir="ltr">I just came back from China. I was sick on the last two days in the last week and could not access any google sites at home. Thanks for reverting it, Hans. I will keep looking into this patch.<div><br></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature">thanks,<br>Cong</div></div>
<br><div class="gmail_quote">On Fri, Feb 19, 2016 at 1:47 PM, Hans Wennborg <span dir="ltr"><<a href="mailto:hans@chromium.org" target="_blank">hans@chromium.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I've reverted this commit in r261368 and merged that to 3.8 in r261369<br>
to unbreak things in the meantime.<br>
<div class="HOEnZb"><div class="h5"><br>
On Wed, Feb 17, 2016 at 6:48 PM, Cong Hou <<a href="mailto:congh@google.com">congh@google.com</a>> wrote:<br>
> Sorry for the late reply! I am currently working in Beijing. Start<br>
> investigating it now...<br>
><br>
><br>
> thanks,<br>
> Cong<br>
><br>
> On Wed, Feb 17, 2016 at 10:08 AM, Hans Wennborg <<a href="mailto:hans@chromium.org">hans@chromium.org</a>> wrote:<br>
>><br>
>> On Tue, Feb 16, 2016 at 11:06 AM, Hans Wennborg <<a href="mailto:hans@chromium.org">hans@chromium.org</a>> wrote:<br>
>> > On Mon, Feb 15, 2016 at 12:28 PM, Dimitry Andric <<a href="mailto:dimitry@andric.com">dimitry@andric.com</a>><br>
>> > wrote:<br>
>> >> On 15 Dec 2015, at 23:45, Cong Hou via llvm-commits<br>
>> >> <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br>
>> >>><br>
>> >>> Author: conghou<br>
>> >>> Date: Tue Dec 15 16:45:09 2015<br>
>> >>> New Revision: 255691<br>
>> >>><br>
>> >>> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=255691&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=255691&view=rev</a><br>
>> >>> Log:<br>
>> >>> [LoopVectorizer] Refine loop vectorizer's register usage calculator by<br>
>> >>> ignoring specific instructions.<br>
>> >>><br>
>> >>> (This is the third attempt to check in this patch, and the first two<br>
>> >>> are r255454<br>
>> >>> and r255460. The once failed test file reg-usage.ll is now moved to<br>
>> >>> test/Transform/LoopVectorize/X86 directory with target datalayout and<br>
>> >>> target<br>
>> >>> triple indicated.)<br>
>> >>><br>
>> >>> LoopVectorizationCostModel::calculateRegisterUsage() is used to<br>
>> >>> estimate the<br>
>> >>> register usage for specific VFs. However, it takes into account many<br>
>> >>> instructions that won't be vectorized, such as induction variables,<br>
>> >>> GetElementPtr instruction, etc.. This makes the loop vectorizer too<br>
>> >>> conservative<br>
>> >>> when choosing VF. In this patch, the induction variables that won't be<br>
>> >>> vectorized plus GetElementPtr instruction will be added to<br>
>> >>> ValuesToIgnore set<br>
>> >>> so that their register usage won't be considered any more.<br>
>> >>><br>
>> >>><br>
>> >>> Differential revision: <a href="http://reviews.llvm.org/D15177" rel="noreferrer" target="_blank">http://reviews.llvm.org/D15177</a><br>
>> >><br>
>> >> This appears to have introduced a use-after-free, see<br>
>> >> <a href="https://llvm.org/bugs/show_bug.cgi?id=26509" rel="noreferrer" target="_blank">https://llvm.org/bugs/show_bug.cgi?id=26509</a> for the details and a valgrind<br>
>> >> log.  Is there any way we can fix this one before 3.8 release, or revert it<br>
>> >> otherwise?<br>
>> ><br>
>> > Cong, do you think this is something that's easy to fix or should we<br>
>> > revert in the branch to be safe?<br>
>><br>
>> Cong: ping?<br>
><br>
><br>
</div></div></blockquote></div><br></div></div>