[PATCH] D25476: GVN-hoist: fix store past load dependence analysis (PR30216, PR30499)

Daniel Berlin via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 11 09:18:48 PDT 2016


On Tue, Oct 11, 2016 at 8:56 AM, Sebastian Pop <sebpop at gmail.com> wrote:

> On Tue, Oct 11, 2016 at 11:47 AM, Daniel Berlin <dberlin at dberlin.org>
> wrote:
> > Can you just expose a version of static bool
> > instructionClobbersQuery(MemoryDef *MD, MemoryUse *MU, const
> MemoryLocOrCall
> > &UseMLOC, AliasAnalysis &AA) {
> >
> > That takes the mloc from the memory use?
> >
> > IE
> > STH like:
> >
> > bool  MemorySSA::defClobbersUse(MemoryDef *MD, MemoryUse *MU) {
> >    return instructionClobbersQuery(MD, MU, MemoryLocOrCall(MU),
> MSSA->AA);
> > }
> >
>
> That is not easy:


Can you explain to me why?
It seems pretty trivial.


> that's what got me frustrated back when the patch
> got reverted.
> That's also why I decided to copy and adapt the content of
> instructionClobbersQuery()
> to make it work on Instructions and not on MemoryDef and MemoryUse.
>


>
> Also one things is that in my use-case, both instructions would be
> MemoryDefs,
>

Err, in this use case, you are looking for loads that blocks stores, so now
i'm confused.


> which is not what instructionClobbersQuery checks for.
>

Well, it actually doesn't care much ....
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161011/e8b17396/attachment.html>


More information about the llvm-commits mailing list