[PATCH] D9403: llvm.noalias - Clang CodeGen for local restrict-qualified pointers

hfinkel at anl.gov hfinkel at anl.gov
Fri Jul 17 14:25:56 PDT 2015


hfinkel added a comment.

In http://reviews.llvm.org/D9403#207395, @rjmccall wrote:

> Okay, thank you, I understand what you're saying now and you're completely right.  It makes sense for this to be tied to the value stored into the l-value, as that actions is basically what's establishing a stronger rule about that pointer.
>
> Side question: is the use of an overloaded intrinsic here going to be a problem, since intrinsics can't be overloaded on arbitrary user types (e.g. structs)?


Philip Reames fixed that (for almost all types) a few months ago. The IRBuilder code works around the remaining cases by casting to i8*.

> Is there anything about the analysis that breaks if we bitcast the operand to i8* and then bitcast the result back to the actual type?


No, it is just more IR.

> Is this question eventually being mooted by the Great Pointer-Typing Change? :)


Yes :)


http://reviews.llvm.org/D9403







More information about the cfe-commits mailing list