[llvm-dev] Return on nocapture pointer
Hal Finkel via llvm-dev
llvm-dev at lists.llvm.org
Fri Apr 28 08:58:14 PDT 2017
On 04/28/2017 10:22 AM, Piotr Padlewski via llvm-dev wrote:
> Hi,
> I have a question about semantics of nocapture attribute:
> "This indicates that the callee does not make any copies of the
> pointer that outlive the callee itself. "
> Is returing a pointer considered outliving callee? For example is this
> code valid:
Yes, it includes returning the pointer. The code below is invalid. The
return value outlives the callee itself.
>
> define i8* @foo(i8* nocapture %p)
> ret i8* %p
> }
>
> The documentation also mention that "This is not a valid attribute for
> return values.", but I interpret that it is is about this case:
>
> declare i8* nocapture @bar(i8* %p)
Correct.
-Hal
>
> Piotr
>
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
--
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170428/be36d0cf/attachment.html>
More information about the llvm-dev
mailing list