我测试并编译了一个简单的C文件,包括结构asigning.when我看到了LLVM代码,有llvm.memcpy.p0i8.p0i8.i64,是从哪里来的?我没有看到定义,只看到它的声明是一个函数。
发布于 2019-03-22 17:41:27
它是一个LLVM内部函数。根据语言参考:
LLVM为一些重要的标准C库函数提供了内部函数。这些内部函数允许源语言前端将有关指针参数对齐的信息传递给代码生成器,从而为更高效的代码生成提供了机会。
具体地说,llvm.memcpy固有的:
‘llvm.memcpy.*’内部函数将一个内存块从源位置复制到目标位置。
请注意,与标准的libc函数不同,llvm.memcpy.*内部函数不返回值,采用额外的isvolatile参数,并且指针可以位于指定的地址空间中。
https://stackoverflow.com/questions/55293471
复制相似问题