memcpy function in LLVM

II understood that LLVM uses the term " llvm.memcpy.p0i8.p0i8.i64" for memcpy function, and the term " llvm.memmove.p0i8.p0i8.i64" for memmove function. but the considerable point is that IR code shows that LLVM not only uses “llvm.memcpy.p0i8.p0i8.i64” for memcpy function , but also for arrays like char x[100] !!! This means custom instruction selector for memcpy functions monitors all arrays of source code as memcpy function. But, for memmove function it is not the same. Am I right? what should I do ti fix this problem?

Maryam Raiyat Aliabadi
Research Assistant , University of British Columbia
Cell: +1 778 882 4272

FacebookTwitterLinkedInGoogle Plus PageBlogger

Get a signature like this: Grab yours!