<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Oct 11, 2016 at 8:56 AM, Sebastian Pop <span dir="ltr"><<a href="mailto:sebpop@gmail.com" target="_blank">sebpop@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Tue, Oct 11, 2016 at 11:47 AM, Daniel Berlin <<a href="mailto:dberlin@dberlin.org">dberlin@dberlin.org</a>> wrote:<br>
> Can you just expose a version of static bool<br>
> instructionClobbersQuery(<wbr>MemoryDef *MD, MemoryUse *MU, const MemoryLocOrCall<br>
> &UseMLOC, AliasAnalysis &AA) {<br>
><br>
> That takes the mloc from the memory use?<br>
><br>
> IE<br>
> STH like:<br>
><br>
> bool  MemorySSA::defClobbersUse(<wbr>MemoryDef *MD, MemoryUse *MU) {<br>
>    return instructionClobbersQuery(MD, MU, MemoryLocOrCall(MU), MSSA->AA);<br>
> }<br>
><br>
<br>
</span>That is not easy: </blockquote><div><br></div><div>Can you explain to me why?<br>It seems pretty trivial.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">that's what got me frustrated back when the patch<br>
got reverted.<br>
That's also why I decided to copy and adapt the content of<br>
instructionClobbersQuery()<br>
to make it work on Instructions and not on MemoryDef and MemoryUse.<br></blockquote><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Also one things is that in my use-case, both instructions would be MemoryDefs,<br></blockquote><div><br></div><div>Err, in this use case, you are looking for loads that blocks stores, so now i'm confused.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
which is not what instructionClobbersQuery checks for.<br></blockquote><div><br></div><div>Well, it actually doesn't care much ....</div><div> <br></div></div><br></div></div>