[llvm-dev] How to remove memcpy (original) (raw)
Mehdi Amini via llvm-dev llvm-dev at lists.llvm.org
Sat Oct 15 16:16:25 PDT 2016
- Previous message: [llvm-dev] How to remove memcpy
- Next message: [llvm-dev] How to remove memcpy
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Oct 15, 2016, at 4:07 PM, Joerg Sonnenberger via llvm-dev <llvm-dev at lists.llvm.org> wrote:
On Sat, Oct 15, 2016 at 04:01:36PM -0700, Mehdi Amini via llvm-dev wrote:
On Oct 15, 2016, at 3:56 PM, Wolfgang McSneed via llvm-dev <llvm-dev at lists.llvm.org> wrote:
Hi, I am hoping that someone can help me figure out how to prevent the insertion of "memcpy" from the assembly source. My target is an instruction set simulator that doesn't support this. Thank you for your valuable time. Wolf Here are my compile commands: $ clang -emit-llvm -fno-builtin -o3 --target=mips -S matrixfloat.c -o vlmatrixfloat.ll Technically -fno-bultin prevents the compiler from understand the memset in the original code. The right option to prevent the compiler from insert libc calls “out-of-the-blue” is -ffreestanding. Huh? The -fno-builtin is not the problem.
I’m not sure what you mean by “it is not the problem” or how it relate to what I wrote.
Many people use -fno-builtin thinking it’ll prevent the compiler from calling memset. I’m pointing this isn’t true (the command line he posted includes -fno-builtin).
The compiler is expected to call certain functions even for -ffreestanding. memcpy and memset are two of those. It is certainly perfectly valid target lowering for llvm.memcpy to be turned back into a libcall.
Source? AFAICT this is GCC behavior, but not the standard: https://gcc.gnu.org/onlinedocs/gcc/Standards.html#Standards <https://gcc.gnu.org/onlinedocs/gcc/Standards.html#Standards>
— Mehdi
-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20161015/4ed5f2ee/attachment.html>
- Previous message: [llvm-dev] How to remove memcpy
- Next message: [llvm-dev] How to remove memcpy
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]