<div dir="ltr">Oops. Sorry about that. Thanks for the revert<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Apr 16, 2016 at 10:05 PM, Duncan P. N. Exon Smith <span dir="ltr"><<a href="mailto:dexonsmith@apple.com" target="_blank">dexonsmith@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Reverted in r266550.<br>
<div class="HOEnZb"><div class="h5"><br>
> On 2016-Apr-16, at 20:59, Duncan P. N. Exon Smith via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br>
><br>
>><br>
>> On 2016-Apr-16, at 16:26, Sanjay Patel via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br>
>><br>
>> Author: spatel<br>
>> Date: Sat Apr 16 18:26:16 2016<br>
>> New Revision: 266541<br>
>><br>
>> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=266541&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=266541&view=rev</a><br>
>> Log:<br>
>> use range loop, try to make comments more meaningful; NFCI<br>
>><br>
>> Modified:<br>
>>   llvm/trunk/lib/IR/AutoUpgrade.cpp<br>
>><br>
>> Modified: llvm/trunk/lib/IR/AutoUpgrade.cpp<br>
>> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/AutoUpgrade.cpp?rev=266541&r1=266540&r2=266541&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/AutoUpgrade.cpp?rev=266541&r1=266540&r2=266541&view=diff</a><br>
>> ==============================================================================<br>
>> --- llvm/trunk/lib/IR/AutoUpgrade.cpp (original)<br>
>> +++ llvm/trunk/lib/IR/AutoUpgrade.cpp Sat Apr 16 18:26:16 2016<br>
>> @@ -802,21 +802,18 @@ void llvm::UpgradeIntrinsicCall(CallInst<br>
>>  }<br>
>> }<br>
>><br>
>> -// This tests each Function to determine if it needs upgrading. When we find<br>
>> -// one we are interested in, we then upgrade all calls to reflect the new<br>
>> -// function.<br>
>> -void llvm::UpgradeCallsToIntrinsic(Function* F) {<br>
>> +void llvm::UpgradeCallsToIntrinsic(Function *F) {<br>
>>  assert(F && "Illegal attempt to upgrade a non-existent intrinsic.");<br>
>><br>
>> -  // Upgrade the function and check if it is a totaly new function.<br>
>> +  // Check if this function should be upgraded and get the replacement function<br>
>> +  // if there is one.<br>
>>  Function *NewFn;<br>
>>  if (UpgradeIntrinsicFunction(F, NewFn)) {<br>
>> -    // Replace all uses to the old function with the new one if necessary.<br>
>> -    for (Value::user_iterator UI = F->user_begin(), UE = F->user_end();<br>
>> -         UI != UE;) {<br>
>> -      if (CallInst *CI = dyn_cast<CallInst>(*UI++))<br>
><br>
> This can't be range-for-ified.  The call might get deleted below.<br>
><br>
>> +    // Replace all users of the old function with the new function or new IR.<br>
>> +    for (User *U : F->users())<br>
>> +      if (CallInst *CI = dyn_cast<CallInst>(U))<br>
>>        UpgradeIntrinsicCall(CI, NewFn);<br>
><br>
> ^ This deletes instructions sometimes.<br>
><br>
>> -    }<br>
>> +<br>
>>    // Remove old function, no longer used, from the module.<br>
>>    F->eraseFromParent();<br>
>>  }<br>
>><br>
>><br>
>> _______________________________________________<br>
>> llvm-commits mailing list<br>
>> <a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a><br>
>> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
><br>
> _______________________________________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a><br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
<br>
</div></div></blockquote></div><br></div>