<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<p><br>
</p>
<div class="moz-cite-prefix">On 2/10/20 4:09 PM, Alina Sbirlea
wrote:<br>
</div>
<blockquote type="cite" cite="mid:CAHk2dbrvwv2BTRjAa-udJH8b4G=UO_O84FJbOmiJ_SWQHdLYHw@mail.gmail.com">
<div dir="ltr">
<div dir="ltr">On Mon, Feb 10, 2020 at 1:48 PM Hal Finkel <<a href="mailto:hfinkel@anl.gov" moz-do-not-send="true">hfinkel@anl.gov</a>>
wrote:<br>
</div>
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div>
<p><br>
</p>
<div>On 2/10/20 2:35 PM, Alina Sbirlea wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Hi,
<div><br>
</div>
<div>Here's a tentative patch of the changes for
this: <a href="https://reviews.llvm.org/D74353" target="_blank" moz-do-not-send="true">D74353</a>.</div>
</div>
</blockquote>
<p><br>
</p>
<p>I suppose that, as expected, it's invalidated less
often this way. Given that it's generally stateless,
does this really represent a cost savings?</p>
<p> -Hal</p>
</div>
</blockquote>
<div><br>
</div>
<div>I don't think there is a cost savings now, the current
patch shouldn't have much or any impact. </div>
<div>But I think this can affect future infrastructure
changes.</div>
<div>I got here by looking at MemCpyOpt, as part of a longer
term goal of having the pass sequence [GVN, MemCpyOpt, DSE]
use MemorySSA instead of MemDepAnalysis. Currently we're
explicitly checking that, after MemCpyOpt, BasicAA is freed.
This wouldn't make sense when using MemorySSA in all 3
passes, as we'd end up rebuilding MemorySSA due to
invalidating BasicAA.</div>
<div>I kept the changes needed to MemCpyOpt to preserve passes
separate from this discussion.</div>
<div>Does this clarify some of the motivation?</div>
</div>
</div>
</blockquote>
<p><br>
</p>
<p>Yes, please add this information to the patch description.</p>
<p>I think that it makes sense to mark BasicAA as not being
invalidated on non-CFG-altering IR changes if it's not.</p>
<p> -Hal<br>
</p>
<p><br>
</p>
<blockquote type="cite" cite="mid:CAHk2dbrvwv2BTRjAa-udJH8b4G=UO_O84FJbOmiJ_SWQHdLYHw@mail.gmail.com">
<div dir="ltr">
<div class="gmail_quote">
<div><br>
</div>
<div>Alina</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div>
<p> </p>
<p><br>
</p>
<blockquote type="cite">
<div dir="ltr">
<div><br>
</div>
<div>Thank you,</div>
<div>Alina</div>
<div><br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Mon, Feb 10, 2020
at 11:34 AM Alina Sbirlea <<a href="mailto:alina.sbirlea@gmail.com" target="_blank" moz-do-not-send="true">alina.sbirlea@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">
<div dir="ltr">
<div>Hi,<br>
</div>
<div><br>
</div>
<div>I'd like to understand if it makes sense to
keep BasicAA as a not CFG-only pass, or if it
can be updated to CFG-only. The change was made
in <a href="https://reviews.llvm.org/D44564" target="_blank" moz-do-not-send="true">D44564</a>.</div>
<div><br>
</div>
<div>From what I gathered the motivation was <span>PhiValuesAnalysis
not being properly updated, and BasicAA having
an instance of it. </span></div>
<div><span>PhiValuesAnalysis now uses callback
values to invalidate deleted values (</span><a href="https://reviews.llvm.org/rL340613" target="_blank" moz-do-not-send="true">r340613</a>),<span> </span><span>PhiValuesAnalysis
is also being updated in MemDepAnalysis (</span><a href="https://reviews.llvm.org/D48489" target="_blank" moz-do-not-send="true">D48489</a>) <span>and
BasicAA is invalidated if </span><span>PhiValuesAnalysis
gets invalidated.</span></div>
<div><span><br>
</span></div>
<div><span>I may not have the full context here,
so I'd like some feedback: does it make sense
to make BasicAA a CFG-only pass again?</span></div>
<div><span><br>
</span></div>
<div><span>Thank you,</span></div>
<div><span>Alina</span></div>
</div>
</blockquote>
</div>
</blockquote>
<pre cols="72">--
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory</pre>
</div>
</blockquote>
</div>
</div>
</blockquote>
<pre class="moz-signature" cols="72">--
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory</pre>
</body>
</html>