<html><body><p><font size="2">Hi Serge,</font><br><br><font size="2">Thanks for exposing this issue.</font><br><br><font size="2">I am working on the fix.</font><br><br><font size="2">Thanks.</font><br><br><font size="2">BRS//</font><br><font size="2">Chen Zheng</font><br><font size="2">Power Compiler Backend Developer</font><br><br><br><img width="16" height="16" src="cid:1__=C7BB0F35DF84D8C78f9e8a93df938690918cC7B@" border="0" alt="Inactive hide details for Serge Guelton ---2020/07/14 09:03:10 PM---Hi Chen Zheng, I've reverted commit f1efb8bb4ba0584a9b994f3"><font size="2" color="#424282">Serge Guelton ---2020/07/14 09:03:10 PM---Hi Chen Zheng, I've reverted commit f1efb8bb4ba0584a9b994f3404a2c62920ce6652</font><br><br><font size="2" color="#5F5F5F">From:        </font><font size="2">Serge Guelton <sguelton@redhat.com></font><br><font size="2" color="#5F5F5F">To:        </font><font size="2">Chen Zheng <czhengsz@cn.ibm.com></font><br><font size="2" color="#5F5F5F">Cc:        </font><font size="2">llvm-commits@lists.llvm.org</font><br><font size="2" color="#5F5F5F">Date:        </font><font size="2">2020/07/14 09:03 PM</font><br><font size="2" color="#5F5F5F">Subject:        </font><font size="2">[EXTERNAL] Reverting [SCEV][IndVarSimplify] insert point should not be block front</font><br><hr width="100%" size="2" align="left" noshade style="color:#8091A5; "><br><br><br><tt><font size="2">Hi Chen Zheng,<br><br>I've reverted commit f1efb8bb4ba0584a9b994f3404a2c62920ce6652<br><br>    [SCEV][IndVarSimplify] insert point should not be block front.<br><br>because it breaks validation (a recent expensive check that tests return status<br>of LLVM passes).<br><br>The check fails because of these lines:<br><br>    WidePhi = dyn_cast<PHINode>(Rewriter.expandCodeFor(AddRec, WideType, InsertPt));<br>    if (!WidePhi)<br>      return nullptr;<br><br>Basically `Rewriter.expandCodeFor` generates new instructions but if the `return<br>nullptr` path is taken, the caller considers nothing happens, and this may end<br>up with the pass claiming no change while something actually happening.<br><br>I could have patched the caller to take the change into account, but it seems it<br>hides a deeper issue: in the case of that early exit, no code should be added,<br>or we should remove it.<br><br>Can you please update the patch to take that into account?<br><br>Thanks, and again sorry for reverting the patch. It seems to me it's better to revert<br>this patch than reverting the check. <br><br>Best,<br><br>Serge<br><br></font></tt><br><br><BR>
</body></html>