<div dir="ltr">Got it, I updated the patch. Please let me know fi I should detail it further.<div><br></div><div>Thank you,</div><div>Alina</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Feb 10, 2020 at 3:10 PM Hal Finkel <<a href="mailto:hfinkel@anl.gov">hfinkel@anl.gov</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>
<p><br>
</p>
<div>On 2/10/20 4:09 PM, Alina Sbirlea
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div dir="ltr">On Mon, Feb 10, 2020 at 1:48 PM Hal Finkel <<a href="mailto:hfinkel@anl.gov" target="_blank">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">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">
<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">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">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">r340613</a>),<span> </span><span>PhiValuesAnalysis
is also being updated in MemDepAnalysis (</span><a href="https://reviews.llvm.org/D48489" target="_blank">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 cols="72">--
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory</pre>
</div>
</blockquote></div>