[LLVMdev] Preventing C backend from using gcc builtin functions

Harel Cain harel.cain at gmail.com
Wed Feb 9 23:36:03 PST 2011


Hi all,

Working with llvm 2.8 installed on Mac OS, when using the llvm-gcc frontend
and the C backend I see it converting regular (non-checking) memcpy and
memset calls to __memset_chk and __memcpy_chk already at the IR stage. Then
in the CBE output these are retained as gcc builtin functions.
In a similar manner, llvm.objectsize.* calls are replaced with
__builtin_object_size calls, another gcc builtin function.

This way the resulting C code is usable as-is only on gcc-compatible
compilers.

Is there a way, either by passing some flags to the llvm-gcc frontend, or by
specifying some other flag to llc, to prevent this from happening?


Your help is as always much appreciated,

Harel Cain
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110210/162dd833/attachment.html>


More information about the llvm-dev mailing list