[PATCH] D9375: An llvm.noalias intrinsic

Daniel Berlin via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 15 18:14:38 PDT 2016


dberlin added a comment.



> In this example the indexing is simple and we'd get the (lack of) aliasing anyway, but in the general case the problem is that we lose which pointer values are derived from one restrict pointer and which are derived from the other once we inline. That's why I have @llvm.noalias return a value.


Sorry, i misunderstood.
I thought you were saying that llvm.noalias *still* has this problem, in the current implementation, and, as i think i pointed out, it should not, *because* it returns a value.  It seems like we are in violent agreement.

But that leads me to the other question:
What control dependence does it have that requires it be marked as argmemonly and not "readnone"?
I don't see any tests attached where it would change the semantics if they were hoisted to wherever, and i don't see how they could be DSE'd/DCE'd if the pointers themselves are not dead :)

So what am i missing?


https://reviews.llvm.org/D9375





More information about the llvm-commits mailing list