[LLVMdev] Prevent clang from replacing code with library calls
Jim Grosbach
grosbach at apple.com
Tue Aug 5 01:00:42 PDT 2014
I'm not sure then. Clang 3.1 is rather old. It's possible that was broken in that version. Sorry I wasn't more help. That's the correct option to control the behavior.
> On Aug 5, 2014, at 12:01 AM, David Sela <sela.david at gmail.com> wrote:
>
> Hi Jim,
> I have tried "-fno-builtin" but it didn't help.
> Thanks,
> David
>
>
>> On Tue, Aug 5, 2014 at 12:12 AM, Jim Grosbach <grosbach at apple.com> wrote:
>> Hi David,
>>
>> "-fno-builtin” is probably what you want.
>>
>> -Jim
>>
>>> On Aug 4, 2014, at 2:19 AM, David Sela <sela.david at gmail.com> wrote:
>>>
>>> Clang optimizes code by replacing some parts with efficient library functions.
>>>
>>> For example the following code:
>>>
>>>
>>> for (i=0;i<size;++i)
>>> dest[i]=src[i];
>>> will be compiled to (target=ARM assembly):
>>>
>>>
>>> bl __aeabi_memcpy(PLT)
>>> The compile cmd:
>>>
>>> /usr/share/android-arm-l14-toolchain/bin/clang31 -cc1 -triple arm-none-linux-androideabi -S -target-abi aapcs-linux -target-cpu arm1022e -backend-option -arm-enable-ehabi -backend-option -arm-enable-ehabi-descriptors -backend-option -arm-ignore-has-ras -internal-isystem /usr/share/android-arm-l14-toolchain/lib/clang/3.1/include -internal-externc-isystem /usr/share/android-arm-l14-toolchain/bin/../sysroot/usr/include -o myMemcpy.s -x c myMemcpy.c
>>>
>>>
>>>
>>> Is there a flag or some other way to prevent the compiler from replacing the code with library calls?
>>>
>>>
>>>
>>> Thanks in advance,
>>> David
>>>
>>>
>>>
>>> _______________________________________________
>>> LLVM Developers mailing list
>>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140805/7cbe8d19/attachment.html>
More information about the llvm-dev
mailing list