[PATCH] D26485: Add IntrInaccessibleMemOnly property for intrinsics

Andy Kaylor via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 10 10:48:39 PST 2016


andrew.w.kaylor updated this revision to Diff 77515.
andrew.w.kaylor added a comment.

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.

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


Repository:
  rL LLVM

https://reviews.llvm.org/D26485

Files:
  include/llvm/IR/Intrinsics.td
  utils/TableGen/CodeGenIntrinsics.h
  utils/TableGen/CodeGenTarget.cpp
  utils/TableGen/IntrinsicEmitter.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D26485.77515.patch
Type: text/x-patch
Size: 6083 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161110/369485e6/attachment.bin>


More information about the llvm-commits mailing list