[PATCH] D17279: [Sink] Don't move calls to readonly functions across stores

Hal Finkel via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 26 18:39:00 PDT 2016


hfinkel added a comment.

In http://reviews.llvm.org/D17279#373188, @nhaehnle wrote:

> Right, and none of these test an instruction against another instruction, or (which would be sufficient) a callsite against a callsite.


Sure there is:

  ModRefInfo getModRefInfo(ImmutableCallSite CS1, ImmutableCallSite CS2);

There is also this:

  ModRefInfo getModRefInfo(Instruction *I, ImmutableCallSite Call);

there is also a `MemoryLocation::get(const Instruction *Inst)` - which handles all of the different instruction types except calls (there are more-refined getters for calls, chiefly getForArgument).

> A different way to think about it is that there is no existing interface to get a list of MemoryLocations from a callsite.



http://reviews.llvm.org/D17279





More information about the llvm-commits mailing list