<div dir="ltr">This is actually to fix a regression caused by rGfcc2238b8bfb9498b46a48d219193de8c00a25a0.<div>These lines of code actually existed before the change, but removed incorrectly.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Mar 13, 2020 at 6:38 PM Roman Lebedev <<a href="mailto:lebedev.ri@gmail.com">lebedev.ri@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Any chance for a test for this?<br>
<br>
On Fri, Mar 13, 2020 at 7:37 PM Ehud Katz via llvm-commits<br>
<<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>> wrote:<br>
><br>
><br>
> Author: Ehud Katz<br>
> Date: 2020-03-13T18:36:58+02:00<br>
> New Revision: 18eae3312297cb197a3131f3ad9ca2bebb217415<br>
><br>
> URL: <a href="https://github.com/llvm/llvm-project/commit/18eae3312297cb197a3131f3ad9ca2bebb217415" rel="noreferrer" target="_blank">https://github.com/llvm/llvm-project/commit/18eae3312297cb197a3131f3ad9ca2bebb217415</a><br>
> DIFF: <a href="https://github.com/llvm/llvm-project/commit/18eae3312297cb197a3131f3ad9ca2bebb217415.diff" rel="noreferrer" target="_blank">https://github.com/llvm/llvm-project/commit/18eae3312297cb197a3131f3ad9ca2bebb217415.diff</a><br>
><br>
> LOG: [SCEV] Fix usage of invalid IP with FoldingSet<br>
><br>
> Fix the use of invalid Insertion Point pointer with the UniqueSCEVs FoldingSet,<br>
> which caused memory corruption.<br>
><br>
> Added:<br>
><br>
><br>
> Modified:<br>
>     llvm/lib/Analysis/ScalarEvolution.cpp<br>
><br>
> Removed:<br>
><br>
><br>
><br>
> ################################################################################<br>
> diff  --git a/llvm/lib/Analysis/ScalarEvolution.cpp b/llvm/lib/Analysis/ScalarEvolution.cpp<br>
> index debd03bf47b8..030de8cf90b7 100644<br>
> --- a/llvm/lib/Analysis/ScalarEvolution.cpp<br>
> +++ b/llvm/lib/Analysis/ScalarEvolution.cpp<br>
> @@ -3339,6 +3339,10 @@ const SCEV *ScalarEvolution::getUDivExpr(const SCEV *LHS,<br>
>      }<br>
>    }<br>
><br>
> +  // The Insertion Point (IP) might be invalid by now (due to UniqueSCEVs<br>
> +  // changes). Make sure we get a new one.<br>
> +  IP = nullptr;<br>
> +  if (const SCEV *S = UniqueSCEVs.FindNodeOrInsertPos(ID, IP)) return S;<br>
>    SCEV *S = new (SCEVAllocator) SCEVUDivExpr(ID.Intern(SCEVAllocator),<br>
>                                               LHS, RHS);<br>
>    UniqueSCEVs.InsertNode(S, IP);<br>
><br>
><br>
><br>
> _______________________________________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
> <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote></div>