[LLVMdev] What does "noalias sret" mean?

Qiuping Yi yiqiuping at gmail.com
Wed Jul 15 20:28:44 PDT 2015


Hi, all

When I compile the C code containing the next statement to LLVM,

*struct A const o = func(...);*

I got the next corresponding LLVM bytecode

*call void @func(%struct.A* noalias sret %o, ...)*

Could you tell me why function "func" with a return value
is changed to be one with a void return value and another
more parameter %o. Does "noalias sret" play a special role?
What is the exact meaning of "noalias sret"?

Thank you all in advance.

--------------------------------------------
Qiuping Yi
Institute Of Software
Chinese Academy of Sciences
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150716/a1db0dac/attachment.html>


More information about the llvm-dev mailing list