[PATCH] D26485: Add IntrInaccessibleMemOnly property for intrinsics

Hal Finkel via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 21 16:06:15 PST 2016


hfinkel added a comment.

In https://reviews.llvm.org/D26485#591966, @andrew.w.kaylor wrote:

> I added the IntrInaccessibleMemOrArgMemOnly property, and updated the llvm.assume intrinsic to use IntrInaccessibleMemOnly.
>
> It turns out that I was wrong about this changing the aliasing behavior, at least with respect to BasicAA, because BasicAA specifically looks for llvm.assume and reports that it does not alias with any memory location or function call.  The reason I thought it would be a change is because I expected llvm.assume with the new property to alias in the same way any other inaccessiblememonly function would, meaning it would report "Both ModRef" for any function call except calls to argmemonly functions.


Ah, you're right. Nevermind, then. Adding the attribute to assume does not help because we still want assume not to alias with other function calls, and so it still needs special handling. Please remove the change to assume as it does not let us remove the special-case behavior in BasicAA.

> It's not clear to me which other existing intrinsics should be using the new properties.




Repository:
  rL LLVM

https://reviews.llvm.org/D26485





More information about the llvm-commits mailing list